私たちのファンページに参加してください
- 発行者:
- Enrique Enguix
- ビュー:
- 46
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
このスクリプトは、開発者とMetaTrader 5ユーザーがよくある問題、すなわち設定されたシンボル名とブローカーが提供する実際のシンボル名の不一致を解決するために設計されたリファレンスソリューション です。
私は開発者として、設定可能なExpert Advisor(EA)、特にマルチシンボル戦略を扱うEAを開発する際に、この課題に直面してきました。ユーザーがブローカーの慣例に従ってシンボル名を調整しない ことはよくあることで、EAが誤動作する原因となります。例えば、EAの設定で「EURUSD」を指定しているにもかかわらず、ブローカーが「EURUSD.i」または「EURUSD.m」を使用している場合、EAは正しいシンボルを見つけられず、動作に失敗します。
このコードでは、レーベンシュタイン距離アルゴリズムを使って、マーケット・ウォッチ・ウィンドウで利用可能なすべてのシンボルの中から、ユーザーが指定したシンボルに最も類似したシンボルを特定します。
私は専門家ではないが、この解決策は私の個人的な経験において効果的であることが証明されており、他の開発者にとっても有用なツールとなるだろう。
主な用途と使い方
- 設定可能な EA への統合: このスクリプトは、ブローカーが使用するシンボル名に自動的に適応する必要があるEAまたはスクリプトに統合するための参考資料として意図されています。
- カスタムブローカーシンボルへの適応性: ブローカーが特定のシンボル名を使用している場合、このアプローチはそれらを正しくマッピングし、設定エラーを回避するのに役立ちます。
- 設定の検証: EAが堅牢で適応可能であることを確認するため、開発およびテスト段階での検証ツールとして使用できます。
- 教育と学習: MQL5を学習する人のために、このコードは配列、文字列、および文字列の距離の計算のような動的関数の操作方法を示しています。
重要な警告
このコードは私の個人的な経験に基づいており、私のプロジェクトでうまくいったソリューションです。しかし、私はMQLの専門家ではありません:
- 私はMQL5の専門家ではないので、このソリューションがすべてのケースにとって最も効率的で理想的であるとは限りません。
- 各ユーザーやプロジェクトのニーズによっては、より高度で特殊なアプローチがあるかもしれません。
ユーザーや開発者の皆さんには、このコードを使って実験し、ご自身のコンテキストに適応させ、必要であれば、より適した他の選択肢を検討されることをお勧めします。
実践的な統合の例
EURUSD "で動作するEAを開発したとします。ユーザーの環境では、ブローカーはこのシンボルを "EURUSD.i. "としています。このコードをEAに統合することで
- ユーザーは「EURUSD」を基本設定として入力することができます。
- コードは自動的にMarket Watchを検索し、正しいシンボル(「EURUSD.i」)をマッピングします。
- EAはシームレスに動作し、手動で正確に設定する必要がなくなります。
結論
このスクリプトは、さまざまな環境でEAの機能を確保するのに便利なだけでなく、より高度なソリューションを開発するための出発点としても役立ちます。
この問題に対処する方法は他にもありますが、この実装が他の開発者やMetaTrader 5ユーザーにとって貴重なツールとなることを願っています。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/54554

エキスパート・アドバイザーを使って取引システムを模倣してみる

ブレイクアウト・トレーダー1.0は、レンジからのブレイクアウトを取引します。

トレーダーの生活を楽にするちょっとしたスクリプト。いつも悩まされるのは、新しいチャートの色などのプロパティをリセットして、自分の好きなように見せることだ。そこで、このスクリプトを使えば、よりスムーズに作業ができる。

このスクリプトは、MetaTrader 5 の EA やスクリプトでユーザーが設定したシンボル名を、ブローカーが提供する実際のシンボル名にマッピングするためのリファレンスソリューションです。 レーベンシュタイン距離アルゴリズムを使用して、Market Watchで最も類似したシンボルを自動的に識別します。 シンボル名の接頭辞や接尾辞の互換性の問題に直面している開発者に最適です。 特定のニーズに合わせてカスタマイズ可能な出発点です。