任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1155

 
igorbel:

input datetime test                                =0;

编译。在1970.01.01的零日期下,不可能在设置中把小时设置为00、01或02。

下面是一个 在输入参数中输入时间的例子

 
int    total=OrdersTotal();      
for(int i=0;i<total;i++)
        {
         Print("i=",i);
         if(!OrderSelect(i,SELECT_BY_POS))
           {
            Print("order not selected. Error=",GetLastError());
            continue;
           }
         if(OrderMagicNumber()!=magic_number)
           {
            Print("magic number not correct.");
            continue;
           }
         if(OrderSymbol()!=Symbol())
           {
            Print("symbol not correct.");
            continue;
           }
         if(OrderType()!=OP_SELL)
           {
            Print("order type not correct.");
            continue;
           }
         if(OrderCloseTime()>0)
           {
            Print("order close time not correct.");
            continue;
           }
         if(!OrderClose(ticket,lots,price,slippage,clrClose))
              {
               Print("order Sell with ticket=",ticket,", was not closed. Error=",GetLastError());
              }
            else
              {               
               Print("order Sell with ticket=",ticket,", was closed.");
              }
        }

为什么我在OrderSelect()中得到一个4051的错误?第一张订单正确关闭,第二张订单未被选中。错误=4051。有效值共为2。

 
igorbel:

为什么我在OrderSelect()中得到一个4051的错误?第一张订单正确关闭,第二张订单未被选中。错误=4051。有效值共为2。

当删除和关闭时,循环应该是相反的。

for(int i=total-1;i>=0;i--)
 
igorbel:

一些奇妙的虫子或其他。

加在投入上。

input datetime test                                =0;

编译。在日期1970.01.01为零的情况下,不可能在设置中把小时设置为00、01或02。

输入变量不能在EA中改变。
外部变量 - 是

 
Taras Slobodyanik:

输入变量不能在EA中改变。
的外置变量--你可以


在EA代码中没有。在输入参数窗口,当你把EA附加到图表上时。

 
Artyom Trishkin:

在删除和关闭时,循环应该是相反的。


谢谢你

 

下午好,请帮助解决这些问题(2)。

1.是否有这样的EA,将历史上的测试结果 保存在一个EXCEL文件中。例如,我测试了一个EA,想获得该EA的参数,包括利润、交易类型、结果、一周的天数等等。

我也想知道如何做详细的分析或分享我的经验,你如何测试一个EA,看看它是值得的还是完全垃圾。

2.如何将一个数组或结构传递给一个函数?例如,我有很多变量,我把这些变量添加到一个结构中,然后把它传递给一个函数。

然后我在这个函数中打开这个结构,得到我需要的变量。这样做是为了避免将所有的变量值 "拖 "到一个函数中去(为了方便)。

谢谢你。

 
rabanik:

下午好,请帮助解决这些问题(2)。

1.是否有这样的EA,将历史上的测试结果 保存在一个EXCEL文件中。例如,我测试了一个EA,想获得该EA的参数,包括利润、交易类型、结果、一周的天数等等。

我想知道如何做详细的分析或分享我的经验,如何测试一个EA,看看它是有价值的还是完全是垃圾。

2.如何将一个数组或结构传递给一个函数?例如,我有很多变量,我把这些变量添加到一个结构中,然后把它传递给一个函数。

然后我在这个函数中打开这个结构,得到我需要的变量。这样做是为了避免将所有的变量值 "拖 "到一个函数中去(为了方便)。

谢谢你。

答案就在这里

//+------------------------------------------------------------------+
//| передача параметров по ссылке                                    |
//+------------------------------------------------------------------+
double SecondMethod(int &i,int &j)
  {
   double res;
//---
   i*=2;
   j/=2;
   res=i+j;
//---
   return(res);
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int a=14,b=8;
   Print("a и b перед вызовом:",a," ",b);
   double d=SecondMethod(a,b);
   Print("a и b после вызова:",a," ",b);
  }
//+------------------------------------------------------------------+
//--- результат выполнения скрипта
//  a и b перед вызовом: 14 8
//  a и b после вызова: 28 4
Передача параметров - Функции - Основы языка - Справочник MQL4
Передача параметров - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Передача параметров - Функции - Основы языка - Справочник MQL4
 

亲爱的先生们!

请帮助我了解这个问题。

我使用了一个switch(int err)操作符

得到了一个消息

int ErrorDescription()

{

Alert("beg ErrorDescription")


switch(err)

{

案例0。err="没有错误"; break;

case 1: err="没有错误,但结果未知"; break;

case 2: err="一般错误"; break;

case 3: err="错误的参数"。

怎么了,搞不清楚分号应该放在哪里?不太清楚...

 
buyanov:

亲爱的先生们!

请帮助我了解这个问题。

我使用了一个switch(int err)操作符

得到了一个消息

int ErrorDescription()

{

Alert("beg ErrorDescription")


switch(err)

{

案例0。err="没有错误"; break;

case 1: err="没有错误,但结果未知"; break;

case 2: err="一般错误"; break;

case 3: err="错误的参数"。

怎么了,搞不清楚分号应该放在哪里?不太清楚...

你关注过Alert() 吗?哪里是";"?

int ErrorDescription()
  { 
   Alert("beg ErrorDescription");   // где у вас ";" ???
   switch(err)
   {    
      case 0:   err="Нет ошибок";                                                     break;
      case 1:   err="Нет ошибки, но результат неизвестен";                            break;
      case 2:   err="Общая ошибка";                                                   break;
      case 3:   err="Неправильные параметры";        
而你为什么要给这个函数一个片段?