ライブラリ: 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/ja/code/31279

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

// ベンチマークスクリプト
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/ja/code/16006
 
 //#include <fxsaber\Virtual\Virtual.mqh> //https://www.mql5.com/ja/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);
                    }                    

                } 
           }            
        }
    }
}  

全部どう折りたたむのか分からないので、ちょっと見づらくなってしまいました


ありがとうございます。

ファイル: