1.每個個股有其股性,同一個指標參數很難適用所有股票,可針對股性設定個別參數

2.庫存股中,可能每個商品的數量都不相同,可依據個股數量,設定其部位進行交易

3.以下程式碼允許買或賣各一張,類似安控 最大部位限制

 

input:

T1N("2359.tw","代碼1"),T1R(4),T1H(5),T1L(5),T1P(0,"Position-1"),T1F(0,"Filled-1"),

T2N("2393.tw","代碼2"),T2R(5),T2H(5),T2L(5),T2P(0,"Position-2"),T2F(0,"Filled-2"),

T3N("8096.tw","代碼3"),T3R(5),T3H(5),T3L(5),T3P(0,"Position-3"),T3F(0,"Filled-3");

 switch (symbol)  

begin

case T1N:

value3=addSpread(close[1]+atr(T1R)/T1H,0);//調整適合商品的數值

value4=addSpread(close[1]-atr(T1R)/T1L,0);//調整適合商品的數值

 

if getField("收盤價", "Tick") <= value4 

then setposition(minlist(Position+1,T1P+1),getField("收盤價", "Tick"),Label:="買C1-ATR5/5"); //T1P+1限制庫存僅可增加一張

 

if getField("收盤價", "Tick") >= value3

then setposition(maxList(Position-1,T1P-1),getField("收盤價", "Tick"),Label:="賣C1+ATR5/5"); //T1P-1限制庫存僅可減少一張

  

case T2N:

value3=addSpread(close[1]+atr(T2R)/T2H,0);//調整適合商品的數值

value4=addSpread(close[1]-atr(T2R)/T2L,0);//調整適合商品的數值

 

if  getField("收盤價", "Tick") <= value4  

then setposition(minlist(Position+1,T2P+1),getField("收盤價", "Tick"),Label:="買C1-ATR5/5");

 

if getField("收盤價", "Tick") >= value3

then setposition(maxList(Position-1,T2P-1),getField("收盤價", "Tick"),Label:="賣C1+ATR5/5");

 

 

case T3N:

value3=addSpread(close[1]+atr(T3R)/T3H,0);//調整適合商品的數值

value4=addSpread(close[1]-atr(T3R)/T3L,0);//調整適合商品的數值

 

if  getField("收盤價", "Tick") <= value4  

then setposition(minlist(Position+1,T3P+1),getField("收盤價", "Tick"),Label:="買C1-ATR5/5");

 

if getField("收盤價", "Tick") >= value3

then setposition(maxList(Position-1,T3P-1),getField("收盤價", "Tick"),Label:="賣C1+ATR5/5");

 

end;