关于锁定某个最高价的问题
Numeric aa ;
aa = Highest(high,10); // 10日最高价 == aa
//如果开仓后,止损在10日最高价,当时的最高价1000点,但随着K线的不断移动,10日最高价的值也会有所变化。
那么如何锁定 首单空单进场后的止损,在当时的10日最高价1000这里呢?
1 全局变量记录开仓bar序列号
2 Highest(high【序列号】,10),序列号是否要减一,测试一下
意思就是这个
具体逻辑再推敲一下
aa定义成序列变量
只在开仓的分支里赋值
接下来不再修改aa的值
那么之后无论什么时候调用
都是当初的值
好的,大神老师,另外如果要画线,定义这个高点,除了开仓onbar的分支,还有什么分支里,不会改变,比如 onbaropen 会不会 改变呢? 如果会,还有什么事件里面,不会改变这个高点。
改变值是需要你写代码去处理的。你写了赋值,自然就改变了。
这个问题我有点不知道怎么回答。
我感觉你的思路没有打通
series<numerica > aaa;
aaa = highest(high,10) ;
if(平仓条件)
myexit = aaa+5*minpoin
这样的止损,就基本固定在之前设定的 aaa +5点,不会随着时间推移,K线的增加而去改变 这个止损了,对么?
是的
前提是,后面不会继续满足平仓条件
如果又满足平仓条件了,那你的myexit就会被持续更新
好的,如果满足平仓条件,就重新开始 循环,无论是大循环还是小循环。应该都需要重新计算价格。
是的