- 精华
- 0
- 在线时间
- 54 小时
- UID
- 246061
- 积分
- 28
- 帖子
- 16
- 阅读权限
- 10
- 注册时间
- 2017-1-13
- 最后登录
- 2023-6-26
- 精华
- 0
- UID
- 246061
- 积分
- 28
- 帖子
- 16
- 主题
- 5
- 阅读权限
- 10
- 注册时间
- 2017-1-13
- 最后登录
- 2023-6-26
|
当 K 上穿 30时,买入,信号为 1
当 K 下穿 70时,卖空,信号为-1
当信号为 1 且 K 在 70 以下,K,D 产生死叉,反向做空,信号改为-1
当信号为-1 且 K 在 30 以上,K,D 产生金叉,反向做多,信号改为 1
当 K 大于 70时,信号恒为 1
想把上述转换成编码,自己写了一个,不知道对不对,有没有更简洁的编写方法?
if(CrossOver(kvalue,30))//K上穿30
Buy(0,c);
if(crossunder(kvalue,70))//K下穿70
SellShort(0,c);
If(MarketPosition == 1 And BarsSinceEntry >= 1 and kvalue>30 and KValue<70 and crossunder(kvalue,dvalue))//有多单的情况下,K大于30小于70,与D形成死叉
{
SellShort(0,c);
}
Else If(MarketPosition == -1 And BarsSinceEntry >= 1 and kvalue>30 and kvalue<70 and CrossOver(kvalue,dvalue))//持空,K大于30小于70,与D形成金叉
{
Buy(0,c);
}
|
|