小編您好,
我想要依照昨日庫存進行減碼
例如昨日庫存為20張股票
今天減碼2張
要如何設定?
我試了設定用變數 var: intrabarpersist _once(0);
來控制交易筆數
也設定了安控設定,設定交易商品只交易一次,
但是執行時,還是不但把我的庫存出清,還多放空了2張
等於是他無限執行到position < 0為止。
請問到底該如何執行一天只減碼一次的交易行為?
以下是程式碼:
//宣告參數
input : amount(50000, "單筆交易金額");
input : N(240,"創N日高");
var: exit_position(0);  //出場張數 
var: intrabarpersist _once(0); //設定當天出場次數
if issessionfirstbar then _once = 0;
//設定變數
value1 = Highest(getfield("High", "D")[1], N);  //前一日的N天最高價
//賣出條件
condition1 = close > value1; //創N日新高
//程式交易
exit_position = floor(amount / (close*1000));   //計算總共需要賣出幾張
if position > 0 and condition1 and Getinfo("IsRealtime") = 1 and _once = 0 then begin setposition(position-exit_position, market , label:="s1");  //在持有倉位且創N日新高時減碼
 _once = 1; //設定已經交易過一次
end;
交易設定:

交易情形如下:



後來還出現安控失敗的問題。
我希望能有position=昨庫存的選項,讓我可以一天只依昨日庫存交易一次的方法,請小編解惑!
 
 
             
        
         
        
 
         
     
     分類
    分類
 
            
4 評論