[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 345

 
alsu >> :

OrderSelect (0,SELECT_BY_POS, MODE_HISTORY) - 选择历史上最后一个订单。

OrderSelect (1,SELECT_BY_POS, MODE_HISTORY)--最后一个订单。

因此,你可以找出每个人的OrderProfit()。


多谢

 
实际上最后一个是OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS, MODE_HISTORY)
 
vademur писал(а)>>

请告知是什么原因导致的错误以及如何处理,发生在测试人员的日志中。

19:20:11 TestGenerator:不匹配的数据错误(2009.05.13 00:00的低值1.3676和价格1.3676不匹配)。
19:20:11 TestGenerator:不匹配的数据错误(2009.05.13 01:00的高值1.3696和价格1.3696不匹配)。
19:20:11 TestGenerator:不匹配的数据错误(2009.05.13 02:30的高值1.3700和价格1.3700不匹配)。
19:20:11 TestGenerator:不匹配的数据错误(2009.05.13 03:30的高值1.3700和价格1.3700不匹配)。

我试着删除价格并重新上传,也许我做错了什么,代码中的一切似乎都很好。

让我重新表述一下这个问题。我在哪里可以得到一部好的历史,或者在哪里可以读到相关的资料?

 
alsu >> :
Silen写道(a)>>

首先,要学会正确回答。像你这样的评论对任何人都没有用。

该错误是在运行iTime()后由GetLastError()返回的。这里有一个示例代码...

//+------------------------------------------------------------------+
//|                                                   test_iTime.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
    
    for(int i = 20; i > 0; i--)
    {    
      CheckTF(PERIOD_M5, i);    
      CheckTF(PERIOD_M15, i);
      CheckTF(PERIOD_M30, i);
    }
   return(0);
  }  
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   
//----
   return(0);
  }
//--------------------------------------------------------------------  
int CheckTF(int TF, int Index)
  {
    int count = 5;   
    int err;     
    int xBars;
   
   xBars = iBars(Symbol(), TF);
   err = GetLastError();
   while ( err == 4066)
   {
      Sleep(200);
      xBars = iBars(Symbol(), TF);
      err = GetLastError();
   } 
    err = GetLastError();
    datetime t0 = iTime(NULL, TF, Index);
    err = GetLastError();
    
    if( err > 0 && count >0)
    {
      Print("Error: ", err," TF: ", TF," Index: ", Index , " count: ", count);
      Sleep(200);
      count--;
      
      t0 = iTime(NULL, TF, Index);
      err = GetLastError();      
    }
   return(0);
  }  
//+------------------------------------------------------------------+
 
Roger >> :
实际上最后一个是OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS, MODE_HISTORY)

是的,这是正确的,我已经在同一个主题中自己回答了:)))https://www.mql5.com/ru/forum/111497/page227#204964

 
Silen >> :

该错误是在运行iTime()后由GetLastError()返回的。这里有一个示例代码...


经测试。

在执行init()函数时,新的符号数据可能(而且显然是)还不能使用。因此出现了错误。只有一个办法来对抗它--不要试图在init()函数中分析数据。

 
alsu >> :

经测试。

在init()执行过程中,新的符号数据可能(显然也是)还不能使用。因此出现了错误。只有一个办法来对抗它--不要试图在init()函数中分析数据。

谢谢,但是否能保证在start()中能得到数据?

 

想找一个脚本或指标,直接在条形图上看到tick volume的分布。

就像支部的这张照片一样你看过这张照片吗?


 

下午好,请你告诉我

如果(OrderSelect(0, SELECT_BY_POS,MODE_HISTORY)==true)
{
double x=OrderProfit();
Print("last " ,x);

}

我需要最后一笔平仓单的利润,但这是第一笔。

 
vik-777 >> :

下午好,请指教

如果(OrderSelect(0, SELECT_BY_POS,MODE_HISTORY)==true)
{
double x=OrderProfit()。
Print("last",x);

}

我需要最后一笔平仓订单的利润,但这是第一笔,代码中有什么问题吗?

以上...

https://www.mql5.com/ru/forum/111497/page345#245944