问吧! - 页 175

 

啊,这是一个更好的方法。我在摆弄if (Ask == OrderTakeProfit()) {...}循环查看每个未平仓的订单,我认为这在回测时有一点缺陷。谢谢!

 

如何注释一个数字,将注释一个字符串?

字符串2。

2="EURUSD"。

我如何创建一个评论,其中2将在图形上评论为EURUSD?

请帮助--我很困惑

尊敬的DAVE先生

 

在mql中你不能这么做。

在mql中,变量名不能是数字,也不能以数字开头,所以唯一的解决办法是在 "2 "的前面加上一些字母、下划线或一些允许的字符

1Dave7:
2号字符串。

2="EURUSD"。

我如何创建一个评论,其中2将在图表上评论为EURUSD?

请帮助--我很困惑

尊敬的各位领导
 

我如何在以下情况下做一个降序数组。

double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);

D0=iCustom(NULL,0, "XYZ",0,0)。

D1=iCustom(NULL,0, "XYZ",1,0)。

D2=iCustom(NULL,0, "XYZ",2,0);

D3=iCustom(NULL,0, "XYZ",3,0);

D4=iCustom(NULL,0, "XYZ",4,0);

D5=iCustom(NULL,0, "XYZ",5,0);

D6=iCustom(NULL,0, "XYZ",6,0);

D7=iCustom(NULL,0, "XYZ",7,0)。

我如何对(d0,d1,d2,d3,d4,d5,d6,d7)的值做一个初始化降序数组? 我如何在我的EA中处理该数组的结果?

感谢你的帮助--如果我能克服这个瓶颈,我将会非常高兴!

戴夫

 

如果你只需要对数值进行排序,你可以这样做。

double array[8];

array[0]=iCustom(NULL,0,"XYZ",0,0);

array[1]=iCustom(NULL,0,"XYZ",1,0);

array[2]=iCustom(NULL,0,"XYZ",2,0);

array[3]=iCustom(NULL,0,"XYZ",3,0);

array[4]=iCustom(NULL,0,"XYZ",4,0);

array[5]=iCustom(NULL,0,"XYZ",5,0);

array[6]=iCustom(NULL,0,"XYZ",6,0);

array[7]=iCustom(NULL,0,"XYZ",7,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

然后,排序后的值将在 "数组 "中。

1Dave7:
double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);

D0=iCustom(NULL,0, "XYZ",0,0)。

D1=iCustom(NULL,0, "XYZ",1,0)。

D2=iCustom(NULL,0, "XYZ",2,0);

D3=iCustom(NULL,0, "XYZ",3,0);

D4=iCustom(NULL,0, "XYZ",4,0);

D5=iCustom(NULL,0, "XYZ",5,0);

D6=iCustom(NULL,0, "XYZ",6,0);

D7=iCustom(NULL,0, "XYZ",7,0)。

我如何对(d0,d1,d2,d3,d4,d5,d6,d7)的值做一个初始化降序数组? 我如何在我的EA中处理该数组的结果?

感谢你的帮助--如果我能克服这个瓶颈,我将会非常高兴!

戴夫
 
mladen:
如果你只需要对数值进行排序,你可以这样做。
double array[8];

array[0]=iCustom(NULL,0,"XYZ",0,0);

array[1]=iCustom(NULL,0,"XYZ",1,0);

array[2]=iCustom(NULL,0,"XYZ",2,0);

array[3]=iCustom(NULL,0,"XYZ",3,0);

array[4]=iCustom(NULL,0,"XYZ",4,0);

array[5]=iCustom(NULL,0,"XYZ",5,0);

array[6]=iCustom(NULL,0,"XYZ",6,0);

array[7]=iCustom(NULL,0,"XYZ",7,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

然后,排序后的值将在 "数组 "中。

WOW!!!!!!!!!!!! 我从来没有想过这个问题--谢谢你!!!。

 

请帮助使这个数组工作--不解!!。

[/PHP] EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //RED

GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME

double array[7];

array[0]=iCustom(NULL,0,"EURUSD",0,0);

array[1]=iCustom(NULL,0,"GBPUSD",1,0);

array[2]=iCustom(NULL,0,"AUDUSD",2,0);

array[3]=iCustom(NULL,0,"USDCHF",3,0);

array[4]=iCustom(NULL,0,"USDJPY",4,0);

array[5]=iCustom(NULL,0,"NZDUSD",5,0);

array[6]=iCustom(NULL,0,"USDCAD",6,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];

{

ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red);//"EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//return(0);

}

{

ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,

ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);

//return(0);

}

[PHP]

我试图获取a,b的值并显示出来,但a只显示0,b显示0,其他的c-f值都是0。 我希望得到的是货币的升序。 你能不能帮我弄清楚为什么会出现这种情况?

我希望我能为你的帮助买杯啤酒!

 

检查像这样的行。

array[0]=iCustom(NULL,0,"EURUSD",0,0);

这一行意味着你有一个名为 "EURUSD "的指标,你正在调用它来获取一些值,并将其分配给 "数组 "的第一个元素。如果它不存在(有这个名字的指标,我认为这是真的),它将把值0分配给数组元素。你到底想用这一行来检索什么?

1Dave7:
EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); /RED

GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); // LIME

double array[7];

array[0]=iCustom(NULL,0, "EURUSD",0,0)。

array[1]=iCustom(NULL,0, "GBPUSD",1,0);

array[2]=iCustom(NULL,0, "AUDUSD",2,0);

array[3]=iCustom(NULL,0, "USDCHF",3,0);

array[4]=iCustom(NULL,0, "USDJPY",4,0);

array[5]=iCustom(NULL,0, "NZDUSD",5,0);

array[6]=iCustom(NULL,0, "USDCAD",6,0)。

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND)。

a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];

{

ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red); //"EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//返回(0)。

}

{

ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime); //"GBPUSD =" ,

ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);

//返回(0)。

}

我试图获取a,b的值并显示出来,但只显示a为0,b为0,其他c-f值都是0。 我希望能得到一个升序的货币。 你能帮我弄清楚为什么这不工作吗?

我希望能请你喝杯啤酒,感谢你的帮助!
 
mladen:
检查像这样的行:
array[0]=iCustom(NULL,0,"EURUSD",0,0);
这行意味着你有一个叫 "EURUSD "的指标,你正在调用它以获得一些值并将其分配给 "数组 "的第一个元素。如果它不存在(有这个名字的指标,我认为这是真的),它将把值0分配给数组元素。你到底想用这一行来获取什么?

数组是要从 "EURUSD "得到一个值,然后与其他货币相比,从低到高做一个升序,然后将低点的排名显示在屏幕上。 欧元兑美元像其他货币一样只是给我一个0.00? 我在这里做错了什么?

 

像这样做。

array[0]=iClose("EURUSD",0,0); [/PHP]

and so on. That way array will be filled with close prices for symbols you select. If you are using a custom indicator then the form is the following :

[PHP]array[0]=iCustom("EURUSD",0,"indicator name",0,0);
1Dave7:
数组是要从 "EURUSD "得到一个值,然后与其他货币相比,从低到高做一个升序,然后把低的排名显示在屏幕上。 欧元兑美元像其他货币一样只是给我一个0.00? 我在这里做错了什么?