//中间变量
input:p(26,1,1000,30),s(12,1,800,20),m(9,1,1000,20),SS(1,1,1000,1);//参数自动输入
input:A(5,1,300,1);//参数自动输入
MA5:=MA(CLOSE,A); //定义5日移动平均线
角度:= ATAN ((MA20/REF(MA20,22)-1)*100)*180/3.14159;//定义角度
//角度上升
角度30向上: Cross(角度,10);//这个方法无输出
角度45向上: Cross(角度,45););//这个方法无输出
角度60向上: Cross(角度,60););//这个方法无输出
角度90向上: 60 < 角度 <= 90;);//这个方法不管5日均线的角度如何变化,始终输出为1,没有返回0值
//角度下降
角度-30向下: 0 > 角度 >= -30;//这个方法不管5日均线的角度如何变化,始终输出为1,没有返回0值
角度-45向下: -30 > 角度 >= -45;//这个方法不管5日均线的角度如何变化,始终输出为1,没有返回0值
角度-60向下: -45 > 角度 >= -60;//这个方法不管5日均线的角度如何变化,始终输出为1,没有返回0值
角度-90向下: -60 > 角度 >= -90;//这个方法不管5日均线的角度如何变化,始终输出为1,没有返回0值
结果见附图——角度问题
调试结果也是如此。
请问老师此程序的问题出错在哪,如何修改此程序才能正确在程序中反应当时的5日均线的角度。
我的设计意图是:
1、当价格在5日均线上方,并且5日均线角度向上大于30度,下一个K线的开盘价买进多单,当均线角度线大于45度,加仓,当均线角度大于60度,减仓,当均线角度大于90度全部平仓。
2、当价格在5日均线下方,并且5日均线角度向上小于—30度,下一个K线的开盘价开空单。当均线角度线小于—45度,加仓,当均线角度小于—60度,减仓,当均线角度小于—90度全部平仓。