等级: 免费版 
- 注册: 
 - 2024-3-16
 
- 曾用名: 
 
 
 
 | 
 
加入我有一个策略,在120个周期的前高H1和前低价格L1,作为一个开仓区间, 
用5日和20日均线作为开仓平仓条件,金叉开多平空,死叉开空平多,但是我的问题是而开平仓的价格如下面代码所示,是MA5的价格。 
但是如果我是空单持仓,但是价格超过H1,我想止损,此时应该如何设置止损?是在平空条件加入OR  C>H1? 但是这样是否会成交在MA5的价格?我想用不同的价格平仓比如用前高H1的价格平仓?是否需要使用IF条件语句?请问怎么写比较能否实现我需用不用的价格平仓的要求? 
 
// 计算MA1 
MA5 : MA(CLOSE, 5), linethick2, COLORWHITE;  
MA20: MA(CLOSE, 20), linethick2, COLORWHITE;  
 
// Donchian通道指标 
H1 : HHV(H, 120), COLORRED, linethick1; // 上轨 
L1 : LLV(L, 120), COLORGREEN, LINETHICK1; // 下轨 
 
// --- 开平仓条件 --- 
平空条件 := L = L1 and C<H1 and C>L1; 
平多条件 := H = H1; 
 
开空条件 := CROSS(ma20,MA5) and C<H1 and C>L1; 
开多条件 := CROSS(MA5,ma20) and C<H1 and C>L1; 
 
// --- 交易执行 --- 
 
// 使用指定的开仓格式 
开多: buy(开多条件 and holding < 50, ss, LIMIT, MA5); 
开空: buyshort(开空条件 and holding > -50, ss, LIMIT, MA5); 
 
// 使用指定的平仓格式 
平多: sell(平多条件 and holding>=0, 0, LIMIT, MA5); 
平空: sellshort(平空条件 and holding<=0, 0, LIMIT, MA5); 
 
 
 
 |   
 
 
 
 |