マルチカレンシー - マルチタイムアドバイザー

 

こんにちは!このようなEAテンプレートはどこにもありません。多通貨のものしか見つかりませんでした。以下は説明へのリンクです https://www.mql5.com/ru/articles/648

この記事を元にマルチタスクを追加しようとしているのですが、あまりうまくいかないので、そのようなEAの例を探すのを手伝ってください、たぶん誰かがネットで見たのだと思います)

Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
  • www.mql5.com
В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно...
 

データ受信に間違いがある、ループを外さないといけない、ティックが来たらループ内のペアは全てスルーされる...。

このロボットは、かなり、そして、多時間に渡って

 
Fast528:

データ受信に間違いがある、ループを外さないといけない、ティックが来たらループ内のペアは全てスルーされる...。

このロボットは、かなり、マルチに活躍します。

どのサイクルなのか、見せていただけますか?

 
Tango_X:

どのループか、見せてください。

オンチャーティベントは各シンボルからティックを取得しますが、このロボットでは、シンボルのティックごとに、これらすべてのペアのループが追加で実行され、このループを削除する必要があります。

 

これが現時点でのベストソリューションです。https://www.mql5.com/ru/forum/225832/page2#comment_6406538

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MetaTrader 5のストラテジーテスターでテスト結果の分析と最適化を行う。

fxsaber さん 2018.01.28 16:22

大幅な加速
#include <TesterBenchmark.mqh> // https://www.mql5.com/ru/code/18804

input int AmountSymbols = 1;

const string Symbols[] = {"EURUSD", "GBPUSD", "AUDUSD", "USDJPY", "USDCAD"};

double Sum2 = 0;

double GetBid( const string &Symb )
{
  static MqlTick Tick;

  return(SymbolInfoTick(Symb, Tick)? Tick.bid : 0);
}

void OnInit()
{
  for (int i = 0; i < AmountSymbols; i++)
    if (Symbols[i] != _Symbol)
      iCustom(Symbols[i], PERIOD_W1, "Spy.ex5", ChartID(), i); // MQL5\Indicators\Spy.ex5
}

void OnDeinit( const int )
{
  Print(Sum2);
}

void OnTick()
{
  OnTick(_Symbol); 
}

void OnTick( const string &Symb )
{
  Sum2 += GetBid(Symb);
}

void OnChartEvent( const int id, const long &lparam, const double&, const string& )
{
  if (id == CHARTEVENT_CUSTOM)
    OnTick(Symbols[(int)lparam]);
}


1つのシンボル

i = 0 Pass = 0 OnTester = 2.697 s.: Count = 9986677, 3702883.6 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 2.657 s.: Count = 9986677, 3758628.9 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755


2つのシンボル

i = 0 Pass = 0 OnTester = 17.632 s.: Count = 9986677, 566395.0 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 17.539 s.: Count = 9986677, 569398.3 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755


3つのシンボル

i = 0 Pass = 0 OnTester = 35.639 s.: Count = 9986677, 280217.7 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 35.462 s.: Count = 9986677, 281616.3 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755


4つのシンボル

i = 0 Pass = 0 OnTester = 68.459 s.: Count = 9986677, 145878.2 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
i = 1 Pass = 1 OnTester = 69.429 s.: Count = 9986677, 143840.1 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 1755
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5
  • 2018.01.28
  • www.mql5.com
Рассмотрим результаты тестов на одном и нескольких символах. Тесты будем проводить в режиме Все тики...
 
Fast528:

見て、onchartiventは各シンボルからティックを受信しますが、このロボットでは、シンボルのティックごとに、さらにこれらのすべてのペアのループを実行する、このループを削除する必要があります。

その通り、すべてのペアのすべてのテロップを受信する必要があります

 
Anatoli Kazharski:

これが現時点でのベストソリューションです。https://www.mql5.com/ru/forum/225832/page2#comment_6406538

また、テスターでは、この問題をどのように解決するのでしょうか?

 
Anatoli Kazharski:

これが現時点でのベストソリューションです。https://www.mql5.com/ru/forum/225832/page2#comment_6406538

Spyインジケーターをここに掲載してもいいですか?それとも記事にあるものでいいですか?

 
Tango_X:

その通り、すべてのペアのすべてのテロップを受信する必要があります

onchartiventはすべてのシンボルのティックを受け取り、ループはさらに信号処理を増加させる

ユーロにティックが入り、すべてのペアがそれにつられて動き出し...、次に別のペアにティックが入り、またリストのすべてのペアが動き出す、**スムーズな仕事です。

 
Andrey Barinov:

テスターでこの問題を解決するにはどうしたらいいのでしょうか?

テスターでも動作しています。

 
Anatoli Kazharski:

テスターでも動作します。

ありがとうございます。Spy.ex5(できれば.mq5)の方向性を示してください。

理由: