求教代碼問題 [MC]
-
MC用戶求助:
一、TB中的代碼是以begin開頭,以end結(jié)尾,但是在MC中,不是這樣的,可以參考一下if、while、for關(guān)鍵字和begin、end的組合應(yīng)用。
二、您的 if 語(yǔ)句太多,您需要整理一下策略的邏輯,使策略邏輯嚴(yán)謹(jǐn)簡(jiǎn)潔,之后寫出來(lái)的代碼才會(huì)嚴(yán)謹(jǐn)簡(jiǎn)潔;很多 if 判斷語(yǔ)句可以合并在一起,if后面的執(zhí)行語(yǔ)句使用begin和end組合;
if condition1 then begin
expression1;
expression1;
.....
end;
三、收盤平倉(cāng)的代碼是有問題的:if判斷語(yǔ)句之后只有一條執(zhí)行語(yǔ)句,但是如果想多條執(zhí)行語(yǔ)句,需要使用begin和end組合;所以您的收盤平倉(cāng)語(yǔ)句實(shí)際是if time>=1457 then sell next bar at market;這是一個(gè)完全的if判斷執(zhí)行語(yǔ)句,后面的buytocover next bar at market; 實(shí)際上是在每根bar都會(huì)執(zhí)行的語(yǔ)句,不被前面的if控制。
四、兩個(gè)同時(shí)滿足條件的市價(jià)單,在回測(cè)的時(shí)候是顯示發(fā)出兩筆市價(jià)單,但在實(shí)時(shí)交易的時(shí)候只會(huì)發(fā)出一筆市價(jià)單;這點(diǎn)只是市價(jià)單有點(diǎn)特別。?
-
MC回復(fù)討論一:
一、TB中的代碼是以begin開頭,以end結(jié)尾,但是在MC中,不是這樣的,可以參考一下if、while、for關(guān)鍵字和begin、end的組合應(yīng)用。
二、您的 if 語(yǔ)句太多,您需要整理一下策略的邏輯,使策略邏輯嚴(yán)謹(jǐn)簡(jiǎn)潔,之后寫出來(lái)的代碼才會(huì)嚴(yán)謹(jǐn)簡(jiǎn)潔;很多 if 判斷語(yǔ)句可以合并在一起,if后面的執(zhí)行語(yǔ)句使用begin和end組合;
if condition1 then begin
expression1;
expression1;
.....
end;
三、收盤平倉(cāng)的代碼是有問題的:if判斷語(yǔ)句之后只有一條執(zhí)行語(yǔ)句,但是如果想多條執(zhí)行語(yǔ)句,需要使用begin和end組合;所以您的收盤平倉(cāng)語(yǔ)句實(shí)際是if time>=1457 then sell next bar at market;這是一個(gè)完全的if判斷執(zhí)行語(yǔ)句,后面的buytocover next bar at market; 實(shí)際上是在每根bar都會(huì)執(zhí)行的語(yǔ)句,不被前面的if控制。
四、兩個(gè)同時(shí)滿足條件的市價(jià)單,在回測(cè)的時(shí)候是顯示發(fā)出兩筆市價(jià)單,但在實(shí)時(shí)交易的時(shí)候只會(huì)發(fā)出一筆市價(jià)單;這點(diǎn)只是市價(jià)單有點(diǎn)特別。?
-
MC回復(fù)討論二:
“四、兩個(gè)同時(shí)滿足條件的高價(jià)單,在回測(cè)的時(shí)候是顯示發(fā)出兩筆市價(jià)單,但在實(shí)時(shí)交易的時(shí)候只會(huì)發(fā)出一筆市價(jià)單;這點(diǎn)只是市價(jià)單有點(diǎn)特別。”這個(gè)是什么意思?沒太看懂。謝謝?
-
MC回復(fù)討論三:
抱歉,打錯(cuò)字了,是市價(jià)單,不是高價(jià)單,已經(jīng)更改過來(lái)了。
if condition1 then buy("first") next bar at market;
if condition2 then buy("second") next bar at market;
在回測(cè)中,當(dāng)condition1和condition2兩個(gè)條件在某根bar上同時(shí)成立的時(shí)候,圖表上顯示在下一根bar上有兩筆委托單;但是在實(shí)時(shí)交易中,當(dāng)這兩個(gè)條件同時(shí)滿足的時(shí)候,實(shí)際上只會(huì)發(fā)送第一筆市價(jià)單(”first")到交易所;在這點(diǎn),市價(jià)單回測(cè)和實(shí)時(shí)不一樣,但是對(duì)條件單(限價(jià)和停損單等)這點(diǎn)是一樣的(回測(cè)是兩筆,實(shí)時(shí)也是兩筆);您可以測(cè)試一下,需要在策略屬性中設(shè)置允許多筆進(jìn)場(chǎng)。?
-
MC回復(fù)討論四:
抱歉,打錯(cuò)字了,是市價(jià)單,不是高價(jià)單,已經(jīng)更改過來(lái)了。
if condition1 then buy("first") next bar at market;
if condition2 then buy("second") next bar at market;
在回測(cè)中,當(dāng)condition1和condition2兩個(gè)條件在某根bar上同時(shí)成立的時(shí)候,圖表上顯示在下一根bar上有兩筆委托單;但是在實(shí)時(shí)交易中,當(dāng)這兩個(gè)條件同時(shí)滿足的時(shí)候,實(shí)際上只會(huì)發(fā)送第一筆市價(jià)單(”first")到交易所;在這點(diǎn),市價(jià)單回測(cè)和實(shí)時(shí)不一樣,但是對(duì)條件單(限價(jià)和停損單等)這點(diǎn)是一樣的(回測(cè)是兩筆,實(shí)時(shí)也是兩筆);您可以測(cè)試一下,需要在策略屬性中設(shè)置允許多筆進(jìn)場(chǎng)。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容