初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1153

 
Franklins100:
返信ありがとうございました。コード・バイ・コードコードは最適化されますが、新しい指標を追加し、履歴を増やすと「実行」時間が長くなります。PCのハードウェアは「実行」時間にどの程度影響するのか(トリックアウトしたCPUやGPUが必要)?一般的な質問が多い 1回目は、第一人者に相談したい)

変数をグループに分けてクロステストすることができれば、テストは 何倍にも加速されます。この方式は、EAがどのように構築され、独立変数を持っている、つまり、他の変数を実行したときにその変更が結果に影響しないことを理解している場合に可能です。

変数が多い場合、テストにかかる時間は数百分の一に短縮されることもある。

また、mt5では、テスト用にサードパーティを接続することができます。

Как протестировать торгового робота перед покупкой
Как протестировать торгового робота перед покупкой
  • www.mql5.com
Покупка торгового робота в MQL5 Маркете имеет одно большое преимущество перед всеми другими подобными предложениями -  вы можете устроить комплексную проверку предлагаемой автоматической системы прямо в терминале MetaTrader 5. Советник перед покупкой можно и нужно тщательно прогнать во всех неблагоприятных режимах во встроенном тестере торговых...
 
BenditO:

変数をグループに分けてクロステストすることができれば、テストは 何倍にも加速されます。この方式は、EAがどのように構築され、独立変数を持っている、つまり、他の変数を実行したときにその変更が結果に影響しないことを理解している場合に可能です。

変数が多い場合、テストにかかる時間は数百分の一に短縮されることもある。

また、mt5では、テスト用にサードパーティを接続することができます。

これはアイデアですが、クロステストでは正確な結果は得られないと私は思います。テストは、これも私の未熟な意見ですが、最終的な完全版で行うべきでしょう。そして、ここで質問です。どのように、どのようなコンピュータのパラメータによって、サードパーティの力に頼らずに可能な限りテストを高速化することができるのでしょうか?GPUかCPUか?

 
Franklins100:

これはアイデアですが、クロステストでは正確な結果は得られないと私は思います。テストは、これも私の未熟な意見ですが、最終的な完全版で行うべきでしょう。ここで問題なのは、サードパーティの力を借りることなく、どのように、どのようなコンピュータパラメータによって、可能な限りテストを高速化することができるのか、ということです。GPUかCPUか?

コードを最適化する。

 
Vladimir Karputov:

コードを最適化する。

2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 Registered ECC LRDIMM 64Gb, 2pc Tesla P100 or 2080ti (I am pondering) この場合、この構成で速度が出るのでしょうか、それとも気にせずに電卓でコードを最適化すればいいのでしょうか?私は多くの指標、履歴、すべての可能な結果、戦略やバリエーションをテストするために "再生 "したい - 経験を得るために、など。

 
Franklins100:

もっと率直に言うと、次のような構成です: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 Registered ECC LRDIMM 64Gb, 2pc Tesla P100 or 2080ti (I am pondering) この場合、この構成で速度を得られるでしょうか、それとも悩まず電卓でコードを最適化することにしましたか。私は多くの指標、履歴、すべての可能な結果、戦略やバリエーションをテストするために "再生 "したい - 経験を得るために、など。

どんなExpert Advisorでも瞬時に最適化するために必要なハードウェアは何か」という具体的な質問で、新しい支店を開設する必要があるのです。

 

この関数は何を返すべきでしょうか?

Print(SYMBOL_POINT);

EURUSDの場合、16と表示されますが、0,00001と表示されるはずです。

が、Print(SymbolInfoDouble(Symbol(),SYMBOL_POINT))される。

9.9999999999996e-06を返します。

これは不具合なのか、それともみんな同じなのか?
 
SEM:

この関数は何を返すべきでしょうか?

Print(SYMBOL_POINT);

EURUSDの場合、16と表示されますが、0,00001と表示されるはずです。

が、Print(SymbolInfoDouble(Symbol(),SYMBOL_POINT))される。

9.9999999999996e-06を返します。

https://www.mql5.com/ru/docs/convert/doubletostring

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 
EURUSDのシングルポイント値を取得する方法を教えてください0.00001の代わりに16が表示される。
 
SEM:
EURUSDのSingle Point Valueは どのように取得するのですか?0.00001の代わりに16を取得

具体的に何をプリントアウトしているのですか?

SYMBOL_POINT はあらかじめ定義された定数である。つまり、定数の数値を表示するのである。

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Artyom Trishkin:

具体的に何をプリントアウトしているのですか?

売りのTakeProfitを正規化しようとすると、TP = -130となります。

 int TakeProfit=100;//Profit

double _PriceCurrent_TakeProfit = NormalizeDouble(m_position.PriceOpen()-(TakeProfit*SYMBOL_POINT),SYMBOL_DIGITS) ;
理由: