龙听期货论坛's Archiver

龙听 发表于 2019-10-24 15:52

★Sinewave指標及策略程式碼

[b]Sinewave簡介[/b]

[color=#333333][font=arial][size=16px]SINEWAVE是一個利用正弦波模擬的指標,在開始介紹SINE WAVE指標前,我先從RSI或KD指標說起(以KD指標為例),KD指標的用法最為耳熟能響,當在盤整的時候,KD指標在低檔黃金交叉向上則為進場作多;死亡交叉則作空。但是行情來臨時,KD指標就會開始在高檔或低擋鈍化,[/size][/font][/color][font=arial][size=16px]K值與D值像綁麻花一樣在高檔或低擋糾結在一起,很難判斷行情。[/size][/font]

[color=#333333][font=arial][size=16px]根據這個邏輯,我當年就寫了一些程式,邏輯如下:[/size][/font][/color]

[color=#333333][font=arial][size=16px]1) 黃金交叉時進場作多、死亡交叉時則進場作空[/size][/font][/color]
[color=#333333][font=arial][size=16px]2) 當KD值>80鈍化時,我就死亡交叉改為作多,直到KD值回到60以下。[/size][/font][/color]


[color=#333333][font=arial][size=16px]我當時遇到最大的困難是[/size][/font][/color][font=arial][size=16px]「KD值的參數調整」[/size][/font][color=#333333][font=arial][size=16px]及[/size][/font][/color][font=arial][size=16px]「如何判斷鈍化」[/size][/font][color=#333333][font=arial][size=16px]兩大難題,例如KD值參數3時候的高檔鈍化可能只是KD值參數為9的死亡交叉,而鈍化沒有一個判斷的依據,因此寫出來的程式自己也不敢使用,另外,若利用鈍化程度來判斷大行情,RSI又比KD值效果好。[/size][/font][/color]


[color=#333333][font=arial][size=16px]下圖[/size][/font][/color][font=arial][size=16px]藍[/size][/font][color=#333333][font=arial][size=16px]、[/size][/font][/color][font=arial][size=16px]紅[/size][/font][color=#333333][font=arial][size=16px]線為SINEWAVE指標,圖中K線附近的[/size][/font][/color][font=arial][size=16px]紅[/size][/font][color=#333333][font=arial][size=16px]、[/size][/font][/color][font=arial][size=16px]白[/size][/font][color=#333333][font=arial][size=16px]線分別為SINEWAVE指標死亡交叉、黃金交叉所對應當時指數的高、低點(有國外網站解讀為壓力及支撐),可以看出此指標不像傳統RSI或KD值會有短時間出現交錯。[/size][/font][/color][font=arial][color=#333333][size=16px]
[/size][/color][/font]
[font=arial][color=#333333][size=16px][attach]13495[/attach]
[/size][/color][/font]
[color=#333333][font=arial][size=16px]下圖為此指標使用於輕原油(CL))的示範:[/size][/font][/color]
[font=arial][color=#333333]
[/color][/font][color=#333333][font=arial][size=16px]
[attach]13494[/attach]
[/size][/font][/color]


[color=#333333][font=arial][size=16px]SINE WAVE最大的優點就在於其有盤整時震盪的優勢,也擁有明確鈍化時機(不易反覆來回交叉)。 我應用下面的邏輯寫出不錯的程式,但台指有要命的跳空,若是能應用在24小時交易的期貨中效果會更好。一般來說,語法上的撰寫大致可分為兩個方向:[/size][/font][/color]

[b][color=red]第一種[/color][/b][color=#333333][font=arial][size=16px]是利用長短週期進行過濾,此方式較適合逆勢特性較強的市場(例如e-mini S&P等),有興趣可以參考國外E-mini watch網站所提供的[/size][/font][/color][url=http://emini-watch.com/trading-indicators/hilbert-sine-wave/]Better Sinewave指標使用方式[/url][color=#333333][font=arial][size=16px]。該網站我觀察很久,一直以來都是使用這幾套方式在跑程式,但是該網站上購買的程式碼為加密程式碼。例如國外網站常用的想法:[/size][/font][/color]


[color=#333333][font=arial][size=16px](1) 用15分鐘k線的SINE WAVE指標判斷多頭格局或空頭格局。[/size][/font][/color]
[color=#333333][font=arial][size=16px](2) 使用5分k線或2分k線作為短週期進法:[/size][/font][/color]
[color=#333333][font=arial][size=16px]   <a> 在多頭格局下,黃金交叉則進場多單,死亡交叉的高點視為順勢加碼點。[/size][/font][/color]
[color=#333333][font=arial][size=16px]   <b> 在空頭格局下,死亡交叉則進場空單,黃金交叉的低點視為加空點。[/size][/font][/color]
[color=#333333][font=arial][size=16px](3) 同時使用任何一種適合你自己的移動停利機制。[/size][/font][/color]

[color=#333333][font=arial][size=16px]下二圖為第一種國外思考SINEWAVE指標的用法之方向。[/size][/font][/color][font=arial][color=#333333]
[/color][/font][color=#333333][font=arial][size=16px] [attach]13496[/attach][/size][/font][/color]


[color=#333333][font=arial][size=16px][attach]13497[/attach]
[/size][/font][/color]
[font=arial][color=#333333][size=16px]第二種是簡單利用SINEWAVE指標簡單相對位置進行過濾,此方式經測試較適合順勢特性較強的市場(台灣、義大利、日經等),這種方式就是本篇提供之範例程式碼所運用的方式。在此提供SINEWAVE之開放程式碼,目的供讀者在撰寫程式參考學習使用,進行的歷史回測皆未設交易成本。[/size][/color][/font]
[font=arial][color=#333333]
[/color][/font]
[font=arial][color=#333333]
[/color][/font]
[font=arial][color=#333333][size=16px]以下為我使用SINEWAVE之MC/TS歷史回測曲線(台指期),因提供的是開放程式碼,讀者可以自行修改參數、過濾語,改寫出適合自己的策略,並可測試不同的商品,目的在於提供使用者不同想法。[/size][/color][/font]
[font=arial][color=#333333]
[/color][/font]
[font=arial][color=#333333][size=16px]下圖為TS軟體之歷史回測結果[/size][/color][/font]

[font=arial][color=#333333][size=16px][attach]13498[/attach]
[/size][/color][/font]
[font=arial][color=#333333][size=16px][attach]13499[/attach]
[/size][/color][/font]

龙听 发表于 2019-10-24 15:53

自適應性震盪指標 - The Sinewave Indicator【全网独家指标!】:[url]http://www.qhlt.cn/thread-47933-1-1.html[/url]

龙听 发表于 2019-10-24 15:55

[color=#333333][font=arial][size=16px][b][color=#cc00]以下是我自己運用SINEWAVE在分析美國指數的心得,提供給讀者參考:[/color][/b][/size][/font][/color]


[color=#333333][font=arial][size=16px]開始測試美國的指數的人,可能會很挫折,因為常常會發現自己手中很多在台灣不錯的程式,一切換到美指,不管怎麼最佳化都不管用,不禁懷疑自己策略的穩定性。[/size][/font][/color]

[color=#333333][font=arial][size=16px]雖然美國指數期貨的日內振幅較台灣更難預測而且更加隨機,但是的確還是可以用程式寫出策略的,很多美商的期貨中小型投資公司,也有靠TS或MC的程式交易。在美國,只要你的程式交易不錯,你就可以租給當地的期貨經紀商,然後讓客戶自由選擇使用策略進場,而手續費可以分一部分給程式開發人員,因此美國程式開發人員比較高調,也願意曝光自己的策略的點位及想法;不像台灣,程式交易好像僅限於個人的低調交易而已,拿策略出來比較好像就會被酸,厲害一點的人就被抓角到自營部,然後還要強迫要銷戶。近期跟大陸業內人士及美國期貨程式交易公司合作開發多商品的單一策略,每次討論到最後,都會覺得台灣的交易制度實在欠缺很多誘因……唉!這些牢騷不是今天的主題,我有空再跟大家細談。[/size][/font][/color]



[color=#333333][font=arial][size=16px]▲台灣的策略在美指會失敗的主要原因有三:[/size][/font][/color]

[font=arial][size=16px](1) 美指過高易拉回,而且每次拉回都很深
(2) 大區間震盪的機會較多
(3) 常用的過濾盤整方式(ADX、漲多必盤、跌多必盤、成交量),都不適用美指[/size][/font]

[color=#333333][font=arial][size=16px]▲通常適用美指的策略,經過我的觀察都有使用下列兩點方式:[/size][/font][/color]

[font=arial][size=16px](1) 考慮空間的突破(價的突破、跌破),也要考慮到時間週期的突破(例如花了20根K線漲了200點,之後跌了200點卻只花了10根K線;或是跌了50點,卻花了20根K線)。

(2) 不要想賺到每次開高走高、開低走低的行情,在市場中交易的效率要高(一出手就是要贏),善用特定時期的進場(例如多頭時,拉回之後突破才考慮買進)。[/size][/font]



[color=#333333][font=arial][size=16px]先前有提過的SINEWAVE指標,除了可以適用在台指期之外,在e-mini S&P也可以適用,因為這個指標厲害的地方就是在於除了考慮空間之外,也有考慮時間,在此僅提供一個簡單的想法給之前有跟我購買策略的人作延伸嘗試使用:[/size][/font][/color]

[font=arial][size=16px](1) 指標死亡交叉後,在XX時間內如果有拉回再突破,可以買進,不然就放棄此次進場機會。
(2) 指標黃金交叉後,在XX時間內如果有拉起再跌破,可以放空,不然就放棄此次進場機會。[/size][/font]

[color=#333333][font=arial][size=16px]我並沒有做太複雜的語法,可以看出程式測試績效的趨勢向上。[/size][/font][/color][font=arial][size=16px]此想法僅獻給有心學習程式語法的讀者們。[/size][/font][font=arial][size=16px]
[/size][/font]
[font=arial][size=16px]
[/size][/font]
[font=arial][size=16px][attach]13500[/attach]
[/size][/font]


[font=arial][size=16px][attach]13501[/attach]
[/size][/font]

陈斌 发表于 2023-1-23 01:06

thx

龙听小虎 发表于 2023-11-2 22:37

{:41:}

页: [1]