DxdCn老师 你好!可能是我没说清楚。我用start()函数调用时,用print看不到#property indicator_chart_window
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
double buffer1;
double buffer2;
buffer1=iMA(NULL,0,5,0,MODE_SMMA,PRICE_MEDIAN,0);
buffer2=iMA(NULL,0,8,0,MODE_SMMA,PRICE_MEDIAN,0);
if(LineCrossedLine(buffer1,buffer2)==true)
{Print("穿过");
Alert("穿穿");
}
bool LineCrossedLine(double ExtBuffer1,double ExtBuffer2)
//均线ExtBuffer1上穿均线ExtBuffer2(这个上穿是确定性的穿过)
{ double ma1=iMAOnArray(ExtBuffer1,0,0,0,MODE_SMA,0);
double ma2=iMAOnArray(ExtBuffer2,0,0,0,MODE_SMA,0);
double ma3=iMAOnArray(ExtBuffer1,0,0,0,MODE_SMA,1);
double ma4=iMAOnArray(ExtBuffer2,0,0,0,MODE_SMA,1);
if(ma3=ma2) return(true); else return(false); }
示例: 使用 MetaTrader 4客户端初学者的常见错误
测试者: 在 MetaTrader 4
DxdCn老师,你在吗?还是不行啊!
DxdCn老师 你好!可能是我没说清楚。我用start()函数调用时,用print看不到#property indicator_chart_window /int init() { return(0); } /int deinit() { return(0); } /int start() { double buffer1; double buffer2; buffer1=iMA(NULL,0,5,0,MODE_SMMA,PRICE_MEDIAN,0); buffer2=iMA(NULL,0,8,0,MODE_SMMA,PRICE_MEDIAN,0); if(LineCrossedLine(buffer1,buffer2)==true) {Print("穿过"); Alert("穿穿"); } bool LineCrossedLine(double ExtBuffer1,double ExtBuffer2) //均线ExtBuffer1上穿均线ExtBuffer2(这个上穿是确定性的穿过) { double ma1=iMAOnArray(ExtBuffer1,0,0,0,MODE_SMA,0); double ma2=iMAOnArray(ExtBuffer2,0,0,0,MODE_SMA,0); double ma3=iMAOnArray(ExtBuffer1,0,0,0,MODE_SMA,1); double ma4=iMAOnArray(ExtBuffer2,0,0,0,MODE_SMA,1); IF(MA3小于MA4 && MA1大于等于MA2) return(true); else return(false); }
不知道错在哪。
示例: 使用 MetaTrader 4客户端初学者的常见错误
测试者: 在 MetaTrader 4
DxdCn老师,你在吗?还是不行啊!
用大于等于,我想应该包括叉点了。我用过把SMA,0)换成SMA,1),把SMA,1)换成SMA,2)也看不到print。
不能调用,我不知道错在哪。
还是不能调用
DxdCn老师如果你不介意的话,我的邮箱是uosd321@sina.cn再次谢谢!
DxdCn老师,你什么时候在?能帮我看看,问题在那?
bool LineCrossedLine(double ExtBuffer1,double ExtBuffer2)是一个函数,一条均线上穿另一条均线的函数。我在int start() 里给出这两个均线。if(LineCrossedLine(buffer1,buffer2)==true)如果发生了上穿,就显示出来。这两个均线应该即可以是标准的均线,也可以是水平线。我希望先在#property indicator_chart_window 指标窗口里显示我的结果。我的思想是股价永远是在均线中穿行的,如果两条均线的上下穿行能确定股价的方向,那么上穿买入下穿卖出的ea不就写出来了。