Библиотеки: BestInterval - страница 29

 

Привет!

при компиляции появляется ошибка. никто не сталкивался?

поискал по форуму , вроде не обсуждалось

Файлы:
ys.jpg  31 kb
 
Dmitrii Verevkin #:

при компиляции появляется ошибка.

Добавьте в Deal.mqh эти строки.

#include "Deal_Base.mqh"

struct DEAL : public DEAL_BASE
{
  int Index;

  void ToNull( DEAL &Deals[] ) const
  {
  #ifdef __MQL5__
    Deals[this.Index].DEAL_BASE::ToNull();
  #else // __MQL5__ - https://www.mql5.com/ru/forum/322209#comment_13314616
    Deals[this.Index].ToNull();
  #endif // __MQL5__

    return;
  }
  
  void operator =( const DEAL_BASE &bDeal )
  {
    /*this.*/DEAL_BASE::operator=(bDeal); // https://www.mql5.com/ru/forum/1111/page3368#comment_48437633
    
    return;
  }  
};
 
Dmitrii Verevkin #:

Привет!

при компиляции появляется ошибка. никто не сталкивался?

поискал по форуму , вроде не обсуждалось

помогло

спасибо!

 
Пожалуйста, помогите Как можно решить эту проблему? Есть ошибки после компиляции. 
Файлы:
 
1005829945 #:
Пожалуйста, помогите Как можно решить эту проблему? Есть ошибки после компиляции. 
Отсутствует OnTick-функция.
 

Значительно ускорены вычисления.

#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

#define ORDER_COMMISSION 0
#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ru/code/22577
#include <fxsaber\BestInterval\BestInterval.mqh> // https://www.mql5.com/ru/code/22710

// Benchmark script
void OnStart()
{
  if (VIRTUAL::SelectByHandle(VIRTUAL::Create("BestInterval.mqh.virt"))) // https://c.mql5.com/3/492/BestInterval_mqh.zip
  {
    BESTINTERVAL_INPUT Inputs;

    Inputs.AmountDeleteIntervals = 5;
    Inputs.MinPF = 1.0;
    Inputs.OnlyDelete = false;
    Inputs.Method = METHOD_WEEK;
    
    Inputs.Length = 0.8;
    Inputs.Amount = 10;
            
    BESTINTERVAL BestInterval;
    
    _B(BestInterval.FullCalculate(Inputs), 1);
    Print(BestInterval.ToStringConst());
  }  
}


Было.

Alert: Bench_Stack = 0, 1 <= Time[Test6.mq5 174 in OnStart: BestInterval.FullCalculate(Inputs)] = 6724116 mcs.


Стало.

Alert: Bench_Stack = 0, 1 <= Time[Test6.mq5 174 in OnStart: BestInterval.FullCalculate(Inputs)] = 394778 mcs.


Оптимизация ускоряется в несколько раз.

Файлы:
 
Какие файлы были обновлены?
 
hini #:
Какие файлы были обновлены?
Holiday.mqh
Deal_Base.mqh
Deal.mqh
Interval.mqh
BestInterval.mqh
 
fxsaber #:

Ошибка компиляции.

Советник

 #include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
 
 //#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ru/code/22577

#define BESTINTERVAL_ONTESTER // Критерий оптимизации - прибыль лучшего интервала.
#include <fxsaber\BestInterval\BestInterval.mqh> // Вычисление лучшего интервала торговли

 //#include <..\Experts\Examples\MACD\MACD Sample.mq5> // Любой советник
long tiket = -1;

void OnTick()
{    
MqlTick t;

if(SymbolInfoTick(_Symbol, t))
    {
    if(tiket < 0)
        {
        double lot = ::NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN), 2);
        double price = ::NormalizeDouble(t.ask, _Digits); 
              
        ResetLastError();
        
        tiket = OrderSend(_Symbol, 0, lot, price, 0, 0, 0, "666", 666); 
        
        if(tiket > -1)
           {
            Sleep(1000);
            return;
           }
        else
           {
           Print("\nopenSL:  Ошибка торгового запроса BUY  Ошибка ", (string)_LastError);
           }        
        }
    else
        {
        
        for(int i = OrdersTotal() - 1; (bool)i--; )    
           {
            if(OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber() == 666 && OrderType() == 0)
                {

                ResetLastError();
                
                if(OrderClose(OrderTicket(), OrderLots(), ::NormalizeDouble(t.bid, _Digits), 0))
                    ExpertRemove();
                
                else
                    {
                    Print("\ncloseB: Ошибка торгового запроса закрытия BUY  Ошибка ", (string)_LastError);
                    }                    

                } 
           }            
        }
    }
}  

Как все свернуть - не знаю, поэтому громоздко


Спасибо.

Файлы: