
怎門第一次賣20000,-1口上漲超過20000變0口,
第2次賣19900,-1口上漲超過19900變0口.
以止到第5次賣19600,-1口上漲超過19600變0口,就停止沒第6次
跟一直執行下去的 2種寫法
 
第一次買20000,1口下跌超過20000變0口,
第2次買20100,1口下跌超過20100變0口.
以止到第5次買20400,1口下跌超過20400變0口,就停止沒第6次
跟一直執行下去的 2種寫法
 
        
        
怎門第一次賣20000,-1口上漲超過20000變0口,
第2次賣19900,-1口上漲超過19900變0口.
以止到第5次賣19600,-1口上漲超過19600變0口,就停止沒第6次
跟一直執行下去的 2種寫法
 
第一次買20000,1口下跌超過20000變0口,
第2次買20100,1口下跌超過20100變0口.
以止到第5次買20400,1口下跌超過20400變0口,就停止沒第6次
跟一直執行下去的 2種寫法
Hello 貓戰ya,
您可以設變數來記錄進出場的次數與要下降多少。
舉例來說:
input: x(0), x1(-1), x10(20000);
value1 = q_last;
if value2 > 4 then RaiseRunTimeError("已達交易次數上限");
if value1 > (x10 - value2 * 100) then begin
setposition(x, market);
value2 += 1;
end
else if value1 < (x10 - value2 * 100) then begin
setposition(x1, market);
end;
value2 會隨著腳本每次平倉時增加,這樣 (x10 - value2 * 100) 就會跟著遞減, 接著在第五次以後就會中斷。
網站上有教學區和教學影片,裡面有XS語法的基礎和應用可以閱覽。
感謝教學
為何用逐筆洗價去跑,沒有遞增減還是x10的價格買賣


逐筆洗價時,不要用value2,應改用其他變數,並用intrabarpersist宣告。例如:
var: intrabarpersist count(0);
if position>0 and value1<(x10+count*x11) then
begin
setposition(x1,market);
count+=1;
end;
Hello 貓戰ya,
小編補充,您可以參考 IntrabarPersist 的說明,再逐筆洗價的狀況下若要變數保持在同一根Bar間的運算,那麼就會需要使用其來宣告。
感謝 虎科大許教授 的熱心回覆。
5 評論