你好,
UPPER:MID + N*STD(CLOSE,50);//布林上轨
LOWER:MID - N*STD(CLOSE,50);//布林下轨
MA1:MA(C,5);
MA2:MA(C,30);
C>UPPER and MA1>MA2 开多,
C<LOWER OR MA1死叉MA2平多,
如果MA1死叉MA2平多了但还没有C<LOWER,这时我在想开多怎样表达?
不好意思丢了条件,
UPPER:MID + N*STD(CLOSE,50);//布林上轨
LOWER:MID - N*STD(CLOSE,50);//布林下轨
MA1:MA(C,5);
MA2:MA(C,30);
C>UPPER and MA1>MA2 开多,
C<LOWER OR MA1死叉MA2平多,
如果MA1死叉MA2平多了但还没有C<LOWER,这时MA1金叉MA2我在想开多怎样表达?
金叉开多 就用cross(ma1,ma2)就行了。
buy(cross(ma1,ma2) and holding=0,1,market);
但是我的开多条件是:C>UPPER and MA1>MA2 开多,MA1,MA2死叉平多了,我是想收盘价没有破下轨的情况下cross(ma1,ma2)再开多,怎样表达?你说的情况此时收盘价没有C>UPPER
就是比如把这两个系统分开,有一个平仓信号就平仓,如果用死叉平了,破下轨还没平,在金叉了再开多
也就是破上轨开多了,死叉平了此时还没有破下轨再开多,保持破上轨开多的状态
那你直接把开仓条件改成金叉就行了。
C>UPPER and cross(ma1,ma2)
这样你只要在上轨之上,出现ma金叉就可以继续开仓。
[此贴子已经被作者于2021/1/21 14:49:38编辑过]
不是ma1,ma2死叉平了吗,我想说的是在没有破下轨的情况下ma1,ma2金叉了在开多,但是此时价格在上下轨之间呢。应该表达清楚了吧
如果破了下轨金叉也就不开了,这算一次完整的交易,所以只有金叉开多不行
你的意思是在c在上下轨之间且ma金叉 就继续开仓?