switch語(yǔ)句移動(dòng)止盈 [MC]
-
MC用戶求助:
有用switch語(yǔ)句做移動(dòng)止盈,以下是開1手的語(yǔ)句?
switch(contractprofit)?
? ? ? begin
? ? ? case 1 to 700:
? ? ? SetStopContract;
? ? ? setbreakeven(2*ATR*bigpointvalue);?
? ? ? case 701 to 1000:
? ? ? SetStopContract;?
? ? ? setdollartrailing(maxpositionprofit(0)*0.30);
? ? ? case 1001 to 1500:
? ? ? SetStopContract;
? ? ? setdollartrailing(maxpositionprofit(0)*0.25);
? ? ? case 1501 to 2000:
? ? ? SetStopContract;
? ? ? setdollartrailing(maxpositionprofit(0)*0.20);
? ? ? case 2001 to 3000:
? ? ? SetStopContract;
? ? ? setdollartrailing(maxpositionprofit(0)*0.15);
? ? ? case 3001 to 10000:
? ? ? SetStopContract;
? ? ? setdollartrailing(maxpositionprofit(0)*0.1);
? ? ? end;
問(wèn)題是,我現(xiàn)在要每次開2手、3手。。。,但是不知道盈利區(qū)間如何才能相應(yīng)的跟著變化?
?
-
MC回復(fù)討論一:
雖然不太明白您想表達(dá)的意思,但是您的代碼還是有幾點(diǎn)需要說(shuō)明一下:
第一、您的這個(gè)是只允許一筆進(jìn)場(chǎng)還是可以允許多筆進(jìn)場(chǎng),您只是增加每筆進(jìn)場(chǎng)的手?jǐn)?shù)是嗎?第二、若您只是考慮一筆進(jìn)場(chǎng),并且現(xiàn)在的問(wèn)題是增加進(jìn)場(chǎng)的手?jǐn)?shù),那么您只需要將setbreakeven(2*ATR*bigpointvalue);更改成setbreakeven(2*currentcontracts*ATR*bigpointvalue);即可
第三、若您還考慮多筆進(jìn)場(chǎng),并且增加每次進(jìn)場(chǎng)的手?jǐn)?shù),那么setdollartrailing和setbreakeven的參數(shù)都需要調(diào)整一下,因?yàn)閙axpositionprofit(0)計(jì)算的是當(dāng)前持倉(cāng)合并的最大獲利金額,并不是單獨(dú)每筆持倉(cāng)的最大獲利金額。
第四、對(duì)于setbreakeven(2*ATR*bigpointvalue); 的參數(shù)不建議使用直接使用變量的形式,您可以通過(guò)條件判斷,當(dāng)某個(gè)條件滿足時(shí)再使用某個(gè)參數(shù),當(dāng)另一個(gè)條件滿足時(shí)再使用其它變量的形式;具體原因您需要學(xué)習(xí)一下帖子“Set系列關(guān)鍵字”
?
-
MC回復(fù)討論二:
我的意思是每總共開1手,只開一次,當(dāng)我1手盈利700-1000時(shí)候開啟移動(dòng)止盈,只要回撤0.3就平倉(cāng)出倉(cāng),語(yǔ)句如下
case 701 to 1000:
? ? ? SetStopContract;?
? ? ? setdollartrailing(maxpositionprofit(0)*0.30);
過(guò)一段時(shí)間資金增加了,我每次開2手入場(chǎng),這時(shí)候代碼里的止盈區(qū)間應(yīng)該為2*701--2*1000,而不是701-1000,我不知道如何改代碼可以實(shí)現(xiàn)我這個(gè)功能
?
-
MC回復(fù)討論三:
范例如下:
var: var0(1), var1(7);
switch(4)
begin
case var0 to var1:
print("currentbar=",currentbar,",var0=",var0);
end;
您只需要通過(guò)動(dòng)態(tài)更改變量var0和var1的值即可;比如,當(dāng)您委托1手的時(shí)候,設(shè)置var0和var1分別為701和1000,而當(dāng)委托2手的時(shí)候,設(shè)置var0和var1分別為2*701和2*1000即可。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容