策略求編寫(均線金叉破位 順勢交易) [MC]
-
MC用戶求助:
您的多頭策略和空頭策略是相互對應的,以下對您的多頭策略提出幾個疑問:
第一、“K線收盤價第二次上破120日 (變量)且21日上穿120日均線(macd金叉) 或出現紅柱”,這個是您的開倉條件,那么請問這進行條件判斷順序是什么,即先判斷哪兩個條件,再判斷哪個條件?“(K線收盤價第二次上破120日 (變量)且21日上穿120日均線(macd金叉)) 或出現紅柱”這樣的判斷順序是否是您的真實意思?“K線收盤價第二次上破120日 (變量)且21日上穿120日均線(macd金叉)”這兩個同時滿足的情況很少,即使出現也并不代表趨勢來臨
第二、“開倉價位于”破位價“,這個建議直接使用市價單委托;若要避免滑價或者需要更接近破位價,可以使用bar內模式。
第三、”止損是開倉后的前期低點“,這句話很模糊,前期低點在這里是如何定義的?
?
-
MC回復討論一:
您的多頭策略和空頭策略是相互對應的,以下對您的多頭策略提出幾個疑問:
第一、“K線收盤價第二次上破120日 (變量)且21日上穿120日均線(macd金叉) 或出現紅柱”,這個是您的開倉條件,那么請問這進行條件判斷順序是什么,即先判斷哪兩個條件,再判斷哪個條件?“(K線收盤價第二次上破120日 (變量)且21日上穿120日均線(macd金叉)) 或出現紅柱”這樣的判斷順序是否是您的真實意思?“K線收盤價第二次上破120日 (變量)且21日上穿120日均線(macd金叉)”這兩個同時滿足的情況很少,即使出現也并不代表趨勢來臨
第二、“開倉價位于”破位價“,這個建議直接使用市價單委托;若要避免滑價或者需要更接近破位價,可以使用bar內模式。
第三、”止損是開倉后的前期低點“,這句話很模糊,前期低點在這里是如何定義的?
?
-
MC回復討論二:
1、K線收盤價第二次上破120日 (變量)這個是首要前提條件,在這個基礎上,出現金叉或紅柱即可開倉。同時出現的情況是不多,也并不是代表趨勢的來臨,但是這段周期內的行情可做。
2、可以用Bar內模式
3、前期低點也可以理解為上破120日最近的一個1小時K線的低點。
?
-
MC回復討論三:
//代碼
input: pricevalue(close), fastlength(21), slowlength(120), lot(1), profit(0.1), drawback(20);
var: fast_ma(0), slow_ma(0), loss(0);
fast_ma=averagefc(pricevalue,fastlength);? //快速均線,這里是21日
slow_ma=averagefc(pricevalue,slowlength);? //慢速均線,這里是120日
condition1=close cross above slow_ma;? ?//收盤價上破120日均線
condition2=fast_ma cross above slow_ma;? //快速均線上慢速均線
condition3=close>open;? //紅柱,這里您可能需要定義一下紅柱的長度,如果只是收盤價大于開盤價可能太簡單了
if condition1 and (condition2 or condition3) then begin
? ? ? ? buy lot shares next bar at market;? //這里使用的是市價單,當進場條件滿足時,同時將當根bar的最低價存儲在loss中
? ? ? ? loss=low;
end;
sell next bar at loss stop;? ?//止損出場
condition1=close cross under slow_ma;
condition2=fast_ma cross under slow_ma;
condition3=close<open;
if condition1 and (condition2 or condition3) then begin
? ? ? ? sellshort lot shares next bar at market;
? ? ? ? loss=high;
end;
if marketposition=-1 then
? ? ? ? buytocover next bar at loss stop;
//上面這部分是空頭策略,我將多頭進場與空頭進場兩部分寫在一個信號中了,對比多頭部分看一下空頭部分
if marketposition=0 then
? ? ? ? setpercenttrailing(lot*close*profit*bigpointvalue,drawback)
else setpercenttrailing(lot*entryprice*profit*bigpointvalue,drawback);
{這部分是通過setpercenttrailing進行止盈,但是有一點,您說10%的盈利,如果是根據進場價的10%來衡量盈利,這個盈利可能太大了,這個關鍵字的用法見帖子http://forums.icetech.com.cn/for ... &extra=page%3D1}
其它說明:
第一、MC中的策略一般會分成兩個信號,而這里寫在一起了。
第二、您的策略多頭進場部分有說明”K線收盤價第二次上破120日均線“,抱歉,這個地方之前忘記問了,所以并沒有將這個想法加到上面的策略中去,請問第二次是如何衡量的?如果第三次、第四次出現是否就不進場了?
第三、以上只是初步的策略,您看一下有什么地方需要修改的。
?
-
MC回復討論四:
//代碼
input: pricevalue(close), fastlength(21), slowlength(120), lot(1), profit(0.1), drawback(20);
var: fast_ma(0), slow_ma(0), loss(0);
fast_ma=averagefc(pricevalue,fastlength);? //快速均線,這里是21日
slow_ma=averagefc(pricevalue,slowlength);? //慢速均線,這里是120日
condition1=close cross above slow_ma;? ?//收盤價上破120日均線
condition2=fast_ma cross above slow_ma;? //快速均線上慢速均線
condition3=close>open;? //紅柱,這里您可能需要定義一下紅柱的長度,如果只是收盤價大于開盤價可能太簡單了
if condition1 and (condition2 or condition3) then begin
? ? ? ? buy lot shares next bar at market;? //這里使用的是市價單,當進場條件滿足時,同時將當根bar的最低價存儲在loss中
? ? ? ? loss=low;
end;
sell next bar at loss stop;? ?//止損出場
condition1=close cross under slow_ma;
condition2=fast_ma cross under slow_ma;
condition3=close<open;
if condition1 and (condition2 or condition3) then begin
? ? ? ? sellshort lot shares next bar at market;
? ? ? ? loss=high;
end;
if marketposition=-1 then
? ? ? ? buytocover next bar at loss stop;
//上面這部分是空頭策略,我將多頭進場與空頭進場兩部分寫在一個信號中了,對比多頭部分看一下空頭部分
if marketposition=0 then
? ? ? ? setpercenttrailing(lot*close*profit*bigpointvalue,drawback)
else setpercenttrailing(lot*entryprice*profit*bigpointvalue,drawback);
{這部分是通過setpercenttrailing進行止盈,但是有一點,您說10%的盈利,如果是根據進場價的10%來衡量盈利,這個盈利可能太大了,這個關鍵字的用法見帖子http://forums.icetech.com.cn/for ... &extra=page%3D1}
其它說明:
第一、MC中的策略一般會分成兩個信號,而這里寫在一起了。
第二、您的策略多頭進場部分有說明”K線收盤價第二次上破120日均線“,抱歉,這個地方之前忘記問了,所以并沒有將這個想法加到上面的策略中去,請問第二次是如何衡量的?如果第三次、第四次出現是否就不進場了?
第三、以上只是初步的策略,您看一下有什么地方需要修改的。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容