無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
MetaTrader 5ターミナルからコードベースにアクセスしてください。
適切なコードが見つからなかったらフリーランスセクションで注文できます
エキスパートアドバイザーやインディケータを書く方法

MetaTrader 5のためのMQL5スクリプトソースコード

icon

スクリプトはMQL5プログラムを使ってMetaTrader 5の中で一度だけ実行し、その後は直ちにチャートから削除されます。機能の例には取引履歴のアップロード、レポートの作成とメールでの送付、ファイルからのデータのダウンロードと処理が含まれます。スクリプトはグラフィカルインターフェイスを作成したり、シングルタイプの取引操作(例: すべてのポジションを直ちに決済)をおこなったりするためにも使用できます。

提供されたエキスパートアドバイザーをMetaTrader 5からダウンロードし実行することができます。スクリプトのライブラリはMetaEditor開発環境から直接使用することもでき、MQL5プログラミングを学ぶことができます。

コードを投稿
最新 | ベスト

複数のEA(またはそれらと並行して行う手動取引)を実行している口座向けの、読み取り専用の監査スクリプトです。このスクリプトは、決済済み取引履歴をマジックナンバーごとにグループ化し、マジックナンバーごとに1行ずつ出力します: 決済済みの往復取引、取引の両サイドからのスワップおよび手数料を含む純損益、勝率、プロフィットファクター、平均勝額・損失額、現在オープン中のポジションおよび未約定注文、取引日および銘柄 — これらを純損益順に並べ替え、スプレッドシート用のCSVエクスポート機能も備えています。

複数のエキスパートアドバイザーを実行している口座向けの読み取り専用分析機能です。この機能では、決済済みの取引をマジックナンバーごとにグループ化し、これらのシステムを併用することで実際にどれだけの利益が得られたかを測定します。具体的には、単独運用時と併用時のドローダウンの比較、チャート上にヒートマップとして表示されたペアごとの相関行列、およびポートフォリオの期間別リターンをモンテカルロ法で再配置した結果などが確認できます。

このスクリプトは、M1バーの「spread」フィールドからご利用のブローカーの実際のスプレッドを収集し、中央値、 90パーセンタイルおよび99パーセンタイルを、価格単位、ポイント、ATRの割合で表示し、さらに1時間ごとの平均スプレッドと最大スプレッドをCSVファイルとして出力します。 これは、頭の中で想定した「典型的な」スプレッドではなく、自身の口座における実際のコストに基づいて戦略をテストするために必要です。

決済済みの取引履歴(CSVファイル、または付属のRuinsExport.mq5スクリプトによって現在の口座の取引履歴から自動的に生成されたもの)を読み取り、4つの独立したリスク指標を報告します: 損失後の取引量の増加、平均価格が不利になる同方向のエクスポージャーの重複、勝ちと負けにおけるペイオフの非対称性、および1取引あたりの指定リスクに基づく古典的な破綻リスクの推定値。 これら4つのスコアは、平易な言葉で書かれた推奨事項とともに、A~Fの単一の評価に統合されます。CSVファイルが見つからない場合、スクリプトは再現可能なデモ用取引記録を自動的に生成するため、初回実行時からレポートを確認することができます。

戦略の優位性が執行コストに対してどれほど堅牢であるかを測定する、純粋なMQL5スクリプトです。このスクリプトは、決済済み取引の「日付、利益、取引量」を記載したCSVファイルを読み込み、各取引のコストを「固定部分」と「ロット単位の費用」の合計としてモデル化します。 本スクリプトは、取引ごとの損益分岐コスト、クッション(想定される現実的なコストの何倍で純利益がゼロになるかを示す倍率)、想定コストで再評価した純利益と利益率、コストによって勝ちトレードが負けトレードに転じる割合、および推奨事項付きのA+~Fの複合コスト耐性スコアを出力します。 ファイルが存在しない場合は、再現可能なサンプルを生成して分析するため、初回実行時にも出力を確認できます。外部ライブラリ、Python、AIは一切使用していません。

リスク(資産の割合または固定金額)とストップロス距離(ポイントまたは価格水準)に基づいて、計画している取引に適したロットサイズを算出します。銘柄の契約仕様(ティックサイズとティック価値、取引量の最小・最大・ステップ)を反映し、必要な証拠金を推定します。

設定可能な期間の決済済みポジションをCSVファイルにエクスポートし、ExcelやGoogleスプレッドシートで取引明細の分析に活用できます。エクスポートされる項目には、建玉開始・決済日時および価格(部分約定分については出来高加重平均)、出来高、ポイント換算の損益、手数料、スワップ、純利益、および取引期間が含まれます。

単なる「最大ドローダウン」という数値だけでなく、口座のドローダウンの構造を分析するネイティブのMQL5スクリプトです。日次のエクイティカーブ(Date,DailyPnL CSV)を読み込み、アンダーウォーターカーブを再構築し、それを個々のドローダウンエピソードに分割して、その深さ、継続期間、回復時間を算出します。 その後、「ウルサー指数」、「ペイン指数」、「回復係数」、およびアンダーウォーター状態の継続時間を算出し、これらを組み合わせて単一のレジリエンススコア(A+~F)と推奨事項を生成し、「エキスパート」タブに表示します。外部ライブラリは不要です。ファイルが見つからない場合はサンプルカーブを生成するため、インストール後すぐに実行可能です。

戦略の利益がどれほど集中しているか、つまり優位性が広範囲に及んでいるのか、それとも少数の幸運な取引に依存しているのかを測定する、ネイティブのMQL5スクリプトです。このスクリプトは、取引ごとのCSVファイル(日付、利益)を読み込み、最大規模の取引による純利益の割合、 勝ちトレードのジニ係数、集中度プロファイル、上位数件のトレードを除外して純利益と利益率を再計算するサバイバルテスト、および設定可能な一貫性限界値に対する最大単日利益を算出し、これらを「集中度・一貫性スコア」(A+~F)として統合し、推奨事項を提示します。 ファイルが見つからない場合はサンプルセットを生成するため、インストール後すぐに実行可能です。外部ライブラリ、Python、AIは一切不要です。ヘルパーのExportTrades.mq5が、取引履歴からファイルを書き出します。

XAUUSD/GOLDのシンボル設定、スプレッド、ティック値、契約サイズ、取引数量の単位、ストップ/フリーズレベル、スワップ、および口座コンテキストをログおよびオプションでCSVファイルに記録するオープンソースのMT5スクリプトです。

マーケットウォッチ内のすべての銘柄について、SYMBOL_TRADE_TICK_VALUE、SYMBOL_TRADE_TICK_VALUE_LOSS、およびSYMBOL_TRADE_TICK_VALUE_PROFITを比較する診断スクリプトです。 各銘柄を4つのカテゴリ(ALL_EQUAL、TV_MATCHES_PROFIT、TV_MATCHES_LOSS、ALL_DIFFER)のいずれかに分類し、集計された要約と解釈のヒントを提供します。 EAでリスクベースのロットサイズ設定を実装する際、どのティック値プロパティを基準にすべきかを確認するのに役立ちます。シンボルごとの詳細レポートを、MQL5/Files内のCSVファイルとしてエクスポートします。

口座の通貨建てで設定された目標損失額(例:1ポジションあたり50ドル)に基づき、すべてのオープンポジションにストップロスを設定するスクリプトです。あらゆる入金額通貨およびFX銘柄に対応しています。ブローカーのストップレベルやフリーズレベルを検証します。通貨換算は自動的に行われます。

トリプルバリア・ラベリング・パイプラインでは、min_retの閾値として、任意の定数(0.5~1.0%)や従来のスプレッドの仮定が頻繁に使用されます。実際の往復取引コストよりも低い閾値を設定すると、パイプラインはコストに起因するノイズを取引可能なシグナルとしてラベル付けしてしまいます。 その結果、ラベル付けされたデータセットはエッジを体系的に過大評価することになり、それらのラベルに基づいて学習されたモデルは、真の市場構造ではなく、ラベル付けスキームに起因する人工的な現象に過学習してしまう。 TransactionCostCollector.mq5は、この問題のデータ収集段階を解決するスタンドアロンスクリプトである。

利益確定のポジションを決済する

MQL5用NeuroPro動詞化コンバーター

このスクリプトは、開発者がMQL5を使用してプログラムでファイルを操作する方法の実践的な例として役立ちます。このスクリプトの主な目的の1つは、効果的なプロジェクト・ファイル編成を実証することです。これは、大規模なシステムに取り組む開発者や、ポータブルで自己完結型のプロジェクトを作成することを目指す開発者にとって不可欠です。このコンセプトは、より高度な開発ワークフローをサポートするために、さらに拡張して改良することができます。

バイナンス相場のリアルタイム表示

これは、非同期と同期の全閉を比較する簡単なプログラムです。 サンプルプログラムですので、条件を追加するなど、ご自由に改変してテストしてください。

この関数は、タイムフレームの短縮名を教えてくれる。 例:"PERIOD_M1 "の代わりに "M1"

このスクリプトはONNXモデルの構造を検査するのに便利で、入力と出力、それらの名前、およびそれらのプロパティに関する洞察を提供する。特に、機械学習アプリケーションで使用されるONNXモデルの特徴を理解し、デバッグするのに役立つ。

このスクリプトは、すべてのMQL5ビルトイン指標バッファを収集し、分析用にCSVファイルに保存します。

これは、履歴の特定の時間におけるすべての未決済取引とそのPnLを表示するスクリプトです。

この関数は、取引開始のメインロジックを実行します。 シンボル情報とユーザーによって提供されたパラメータに基づいて、開始価格、利食いレベル、損切りレベルを計算します。 シンボル、数量、注文タイプ、偏差、コメント、マジックナンバーなどの必要な情報を含む取引要求(MqlTradeRequest)を準備します。 OrderSend 関数を呼び出して操作要求を送信し、結果を取得します。 SetTypeFillingBySymbol 関数: シンボルのフィリングポリシーに基づいて、注文のフィリングタイプ(Fill または Kill、Immediate または Cancel、Return)を決定します。 GetMinTradeLevel 関数: フリーズレベルとシンボルのストップレベルに基づいて、最小操作レベルを計算します。 最小レベルが一定の範囲内に収まるように調整し、結果を返します。

Sec-WebSocket-Keyジェネレーター

このスクリーナーは、割引価格で取引されている資産を見つけるプロセスを簡素化するために作成されました。選択された全商品のデータ・ロード・プロセスのため、初期使用には若干時間がかかる場合があります。このツールは、利用可能なすべてのブローカー資産をスキャンすることも、特定の資産クラスに限定することもできます。

1つの取引のストップロスを建値に合わせて手動で調整するのは比較的簡単な作業ですが、多数のポジションを個別に管理するのは面倒で時間のかかる作業です。MT4/MT5用のTitik Impas Breakevenスクリプトは、このプロセスを合理化し、複数のポジションを扱うトレーダーに効率性と利便性を提供します。

包括的な取引統計をCSVファイルにエクスポート。

この関数は取引開始のメインロジックを実行します。ユーザーが提供したシンボル情報とパラメータに基づいて、始値、利益確定レベル、ストップロスを計算します。シンボル、数量、注文タイプ、スリッページ、コメント、マジックナンバーなどの必要な情報を含む取引リクエスト(MqlTradeRequest)を準備します。OrderSend 関数を呼び出して取引リクエストを送信し、結果を取得します。SetTypeFillingBySymbol 関数: シンボルの成行ポリシーに従って、注文の成行タイプ(Fill または Cancel、Immediate または Cancel または Return)を決定します。GetMinTradeLevel 関数: シンボルのフリーズレベルとストップレベルに基づいて最小取引レベルを計算します。最小レベルが一定の範囲内に収まるように調整し、結果を返します。

Clean Market Watch スクリプトは、ワンクリックで MetaTrader 5 Market Watch ウィンドウからすべてのシンボルをすばやく削除するように設計されたシンプルなユーティリティツールです。これは、クリーンなワークスペースで再出発したい場合や、Market Watch が多すぎるシンボルで乱雑になっている場合に特に便利です。 目的 トレーダーは、Market Watch ウィンドウに多数のシンボルを蓄積し、アクティブに取引する商品に集中することが難しくなることがよくあります。シンボルを一つずつ手作業で削除するのは、面倒で時間のかかる作業です。このスクリプトはこのプロセス全体を自動化し、数秒ですべてのシンボルを消去します。

これは、現在のチャートのシンボルのレートとティックを、MT5のエクスポート/インポート形式と互換性のあるCSVファイルにエクスポートするスクリプトです。

次のバーが来るまで残り時間を表示するスクリプトです。

ChartXYToTimePriceおよびChartTimePriceToXYの代わりに使用する関数。

スクリプトは自己相関関数と偏自己相関関数を計算し、グラフに表示する。

あなたのブローカーが米国、英国、または米国の夏時間スケジュールに従っているかどうかを判断するスクリプト。

オープンポジションの更新データを表示するスクリプト。

このスクリプトは、独自の開発で使用するすべての標準的なグラフィカル・オブジェクトを作成するための一連の関数を提供します。スクリプトで提供される関数は、「そのまま」使用することも、あなたの要求に合わせて変更することもできます。

このスクリプトは、トレーダーが特定の期間におけるローソク足の分布と幅を理解するのに役立ち、過去の値に基づいて、どのテイクプロフィットまたはストップロスを使用するかなどの取引判断を下すのに役立ちます。

このスクリプトは、トレーダーが特定の期間におけるローソク足の分布や範囲を理解するのに役立ち、テイクプロフィットやストップロスに使用するヒストリカル値を決定するなど、取引上の意思決定に役立ちます。

取引セッション名をブローカーサーバーの時間と現地時間に合わせるツール

強気または弱気バーの連続数をカウントするサンプルコード。

123456