當日開倉次數 和順序 (請給與訂正) [MC]
-
MC用戶求助:
您的問題主要涉及兩個步驟:第一、確定每天白盤開盤的第一根bar;第二、統計每天開倉次數
第一、condition1=(date[1]<>date and time>=900) or (time[1]<900 and time>=900);這段判斷白盤第一根bar的條件適合所有的股票、內盤期貨。
第二、統計每天開倉次數的代碼如下:
var: mp(0);
mp=marketposition*currententries;
{當mp為-2時,表示空倉進場次數;當mp為3時,表示多倉進場次數}第三、結合以上兩個地方,代碼如下:
var: mp(0), flag(0);
mp=marketposition*currententries;
condition1=(date[1]<>date and time>=900) or (time[1]<900 and time>=900);
if condition1 then
flag=0;
if (mp[1]=0 and mp<>0) or mp[1]*mp<0??then
flag=flag+absvalue(mp)
else if mp[1]*mp>0 then
flag=flag+maxlist(absvalue(mp)-absvalue(mp[1]),0);
第四、"=="在MC中表示為"=","!="在MC中表示為"<>",MarketPosition[1]不能這樣使用,這個關鍵字不能用于回溯。?
-
MC回復討論一:
您的問題主要涉及兩個步驟:第一、確定每天白盤開盤的第一根bar;第二、統計每天開倉次數
第一、condition1=(date[1]<>date and time>=900) or (time[1]<900 and time>=900);這段判斷白盤第一根bar的條件適合所有的股票、內盤期貨。
第二、統計每天開倉次數的代碼如下:
var: mp(0);
mp=marketposition*currententries;
{當mp為-2時,表示空倉進場次數;當mp為3時,表示多倉進場次數}第三、結合以上兩個地方,代碼如下:
var: mp(0), flag(0);
mp=marketposition*currententries;
condition1=(date[1]<>date and time>=900) or (time[1]<900 and time>=900);
if condition1 then
flag=0;
if (mp[1]=0 and mp<>0) or mp[1]*mp<0??then
flag=flag+absvalue(mp)
else if mp[1]*mp>0 then
flag=flag+maxlist(absvalue(mp)-absvalue(mp[1]),0);
第四、"=="在MC中表示為"=","!="在MC中表示為"<>",MarketPosition[1]不能這樣使用,這個關鍵字不能用于回溯。?
-
MC回復討論二:
if 開倉條件 and( )then begin
if 條件 then buy;
if 條件 then sellshort;
end;
1// 括號里 控制語句 ?需要滿足 之前沒有過開倉,需指定是當日第一筆開倉,當日只開一次
2//括號里 控制語句 ?之前必須要有過一次倉位,需指定是當日第二筆開倉,當日只開一次倉;
3//括號里控制語句是 當日總開倉次數小于2條件下 先滿足buy條件則則開多,先滿足sellshort則先開 sellshort . 可以開2次倉
MarketPosition;
//之前倉位是多頭部位,以平掉,當前無持倉?
//當前倉位是 持有多頭部位
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容