MC不斷發(fā)單,導(dǎo)致多空部位對鎖,很快提示保證金不足 [MC]
- 咨詢內(nèi)容:
在實(shí)盤交易中,發(fā)現(xiàn)1個(gè)問題,需要引起高度注意。 把我使用的經(jīng)驗(yàn)說出來,和大家分享。
代碼A: if close>close[1] then buy next bar at market; // 當(dāng)前收盤價(jià)大于前根收盤價(jià),下根bar開盤時(shí)買進(jìn);
代碼B: if close<close[1] then sellshort next bar at market; // 當(dāng)前收盤價(jià)小于前根收盤價(jià),下根bar開盤時(shí)賣空;
假設(shè)原來空倉,close>close[1], 執(zhí)行代碼A后, 會(huì)買進(jìn)1手,持有1手多單。 買進(jìn)1手后, 出現(xiàn) close<close[1],執(zhí)行代碼B, 本來的預(yù)期是:MC把多單平掉,并反手賣空1手。 但實(shí)際交易中的情況是, MC并沒有把之前的1手多單平掉,而是直接賣空2手,這樣導(dǎo)致一共持有3口部位:1手多單,2手空單。 多空部位同時(shí)持有,導(dǎo)致鎖單,以及額外占用保證金。
多空對鎖,持有3口部位后, 下次再出現(xiàn) close>close[1],執(zhí)行代碼A時(shí), MC又會(huì)直接買進(jìn)2手,而不會(huì)把之前的2手空單平掉。 這樣就累積了5口部位: 3手多單,2手空單。
運(yùn)行了一段時(shí)間后, 很快就提示,保證金不足,無法開倉了。
后來經(jīng)過咨詢、了解,才明白,MC是一款國外的軟件,在美國等國家,沒有鎖單的機(jī)制。 假設(shè)之前有1手多單, 滿足sellshort的條件后,MC會(huì)送出2手空單, 國外的期貨經(jīng)紀(jì)商會(huì)自動(dòng)把多單平掉,并反手開空。 而在國內(nèi),由于允許鎖單,就會(huì)導(dǎo)致多空部位不斷累積,很快出現(xiàn)保證金不足的提示。
為了避免這種情況,有個(gè)很簡單的解決辦法, 在 buy指令之后,不要直接用sellshort, 中間一定要加上 sell多單平倉的代碼。 以上代碼,改成 :- if arketposition=0 and close>close[1] then buy next bar at market;
- if marketposition=1 and close<close[1] then sell next bar at market;
- if marketposition=0 and close<close[1] then sellshort next bar at market;
- if marketposition=-1 and close>close[1] then buytocover next bar at market;
- if arketposition=0 and close>close[1] then buy next bar at market;
- MC技術(shù)部: 這個(gè)問題目前還存在嗎?在mc8.5中還需要這樣寫嗎?
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容