大佬们好,求教一个困扰的问题
固定止损锚定在开仓棒体的前一根棒体的最低价
我目前的写法如下,不知正确否
params:
vars:
numeric aa;
numeric minpoint; // 一跳
numeric myentryPrice; // 开仓价
numeric mystop; // 止损平仓价
numeric myprofit; // 止盈平仓
events
OnBarOpen(ArrayRef<Integer> indexs)
{
Minpoint = MinMove*PriceScale;
if(open>close[1] and open-close[1]>5*minpoint )
myentryprice = open+1*minpoint; // 对价成交
mystop = close[1]-3*minpoint //疑问: 止损平仓价格是否定格在开仓棒的 最低价下方3跳, 还是会跟随棒体的变动而变动?
myprofit = myentryprice + 30*minpoint;
buy(1,myentryprice);
} // 疑问,如果我要把止损价格 指定为 开仓棒体前一根棒体最低价下方3跳,不跟随后续价格变动,要如何写?
// 如果最初的止损值为320,那么随着价格的波动,这个止损是否固定在320。如果不是固定的,那么要锁定这个320的写法
应该如何表达?
onbar:
{
if(close <mystop) sell(0,min(close,mystope));
//疑问, 如果最初的止损值为320,那么随着价格的波动,这个止损是否固定在320 ? 如果不固定,那么有什么方法可以固定
//如果在mystop定义后面,补充一句 mystop = mystop; 止损价格会如何变化 ?
}
如果在mystop定义后面,补充一句 mystop = mystop; 止损价格会如何变化 ?
回答:我不知道你这是要干嘛,没有任何意义的东西。
疑问,如果我要把止损价格 指定为 开仓棒体前一根棒体最低价下方3跳,不跟随后续价格变动,要如何写?
回答:指定为 开仓棒体前一根棒体最低价下方3跳,那你应该写在开仓的控制结构里
series<nuemric> mystop;
if(开仓)
{
buy;
mystop = close[1]-3*minmove*pricescale;
}
类似上面的思路
疑问: 止损平仓价格是否定格在开仓棒的 最低价下方3跳, 还是会跟随棒体的变动而变动?
回答:是不是变动,要看你代码什么时候执行。而什么时候执行取决于你的代码放在哪个驱动域里。你图里用的是onbaropen,那就意味着在每根bar开盘的时候执行。然后这个mystop也没有放到if分支条件里,说明每根bar开盘的时候都会以前一根bar的收盘价减去3跳处理。