
ビジュアル化検証:マニュアルトレーディング
はじめに
ビジュアル化検証関数が MetaTrader 4 クライアントターミナルに登場しました。この関数によりMetaTrader 4 の検証を管理することができるようになったのです。ただ、戦略がすべてプログラムされているわけではなく、トレーダーがだれしも優れた Expert Advisor をコード化できるわけではありません。
本稿では Expert Advisor の形式でプログラムされていないマニュアル戦略を検証するためのビジュアル化関数の使用方法を説明します。マニュアルのストラテジーテスタでトレードを行うのに、ターミナルの基礎知識があればプログラミングの知識は必要ありませんので、トレーダーはだれでもそれを使用することができます。
本稿ではビジュアル化中に「トレード」と「アカウント履歴」タブを実行するプログラムについてお話しします。これらプログラムの用途詳細は記事Testing Visualization: Functionality Enhancement および Testing Visualization: Trade Historyにあります。
ビジュアライザで作業をしたことがなければ、記事 Testing of Expert Advisors in the MetaTrader 4 Client Terminal: An Outward Glanceを読む必要があります。
使用準備
そういうわけで、みなさんは検証用ビジュアライザを使い、すぐにご自身の戦略の検証を始めたいと思っています。このために必要なことは?
まず、CodeBase からお手持ちの PC へ必要なファイルをすべてダウンロードします。
- Expert Advisor vHandsTrade.mq4 を \MetaTrader 4 Work\experts\ のディレクトリへ
- インクルードファイル VisualTestingTools.mq4 をディレクトリ \MetaTrader 4 Work\experts\include\ へ。
- インディケータ 2 つ-vTerminal.mq4 と vHistory.mq4 をディレクトリ\MetaTrader 4 Work\experts\indicators\ へ。
先行記事で説明のあるVisualTestingTools.mq4 は変更されています。そのため上で述べられているソース(CodeBase)のバージョンからのダウンロートとなることに注意が必要です。
その後、Expert Advisor vHandsTrade.mq4 を MetaEditor で開き、それをコンパイルします(F5 を使用)。『ツール』ウィンドウのメッセージは EA が正常にコンパイルされたことを確認します。
ここで、プログラムが準備できたら、チャートのテンプレート準備を始めることができます。そのためには、チャートを開き、お好みに応じて設定し、インディケータ vTerminal.mq4 および vHistory.mq4 をアタッチし、テンプレートを vHandsTrade.tpl として保存します。
マニュアルストラテジーテスタで作業するためチャートの右側に十分なスペースを確保することを覚えておきます。制御はここに入れられます。よって、テンプレート作成時には『チャート移動』オプションを有効にする必要があります。
これで、次のような EA の設定に進むことができます。
Expert Advisor の設定
トレーダーはだれしも独自のトレーディング習慣を持つものです。マニュアルストラテジーテスタをもっとも快適に使えるようにするため、約 5 分で好みに合わせて Expert Advisor を調整すします。
みなさんのトレーディングでは、ポジションをオープンしたりクローズしたりし、未決注文を出し、ポジションのストップロスおよびテイクプロフィットレベルを移動します。ポジションをオープンするロットサイズを選択し、未決注文のために日時を拡張したりなどすることができるようになります。調整可能な特性はすべてコントロールパネルの行に対応しています。
Expert Advisor コードの 2 行

それら関数は直観的です。
― RISK (Risk) -ポジションをオープンするためのデポジットの%
― LOT (Lot)-RISK = 0 の場合、ポジションをオープンするために使用するロットサイズ
― STOPLOSS (SL) -オープン時、ストップロスラインが移動しない場合、ポジションをオープンするためのストップロス値
― TAKEPROFIT (TP)- オープン時、テイクプロフィットラインが移動しない場合、ポジションをオープンするためのテイクプロフィット値
― TRAILINGSTOP (TS) -全ポジションに続くトレイリングストップサイズ
― EXPIRATION (Exp)-時間単位での未決注文拡張時間
お好みの特性値はすべてコード内で直接変更可能です。たとえば、通常、ボリューム 1.0、2.0、5.0、10.0 または 50.0 でポジションをオープンする場合、ロットサイズのある行をそういった行と置き換えます。
double LOT[] = { 1.0, 2.0, 5.0, 10.0, 50.0 };
コンパイルと再起動後、以下が表示されます。
起動時、デフォルトで 5.0 ロットを選択したければ、 "int SELECTED_LOT = 1;" を次と置き換えます。:
int SELECTED_LOT = 3;
これでデフォルトで 3 番目のロットが選択されるようになります。
<その他の特性値は同様の方法で変更可能です。ルールは共通しています。:配列内の括弧には、コンマで区切られた 5 個のメンバーがあり、変数 SELECTED_*** の値範囲は1 ~ 5 であることが必要です。
外部変数と起動
これでマニュアルストラテジーテスタを起動することができます。テスターウィンドウを開き、 Expert Advisor リストからvHandsTrade を選択し、通貨ペアとタイムフレームを選び、検証を現実になるべく近づけるために『ティック単位』でのモデル化を有効にします。
『開始』ボタンを押す前に、Expert Advisor のプロパティウィンドウを見ます。この方法で外部変数によってエキスパートの調整を完了します。
実際、エキスパートには外部変数が 4 つしかありません。もう一つはインクルードファイル VisualTestingTools.mq4 から継承したものです。変数はすべて正常で便利な動作のために設定します。
- CommentsCount - エキスパートによって表示されるメッセージの最大数
- SelectedColor- Risk、Lot、SL、TP などから選択される値の色
- ModifyColor-マニュアル変更に使用されるオーダー変更アイコンの色
- TrailingColor -トレイリングストップ に使用されるオーダー変更アイコンの色
- TerminalRows-表示される「ターミナル」タブ行の最大数TerminalRows = 0 に設定する場合、ターミナルは更新されません。
― HistoryRows-表示される「アカウント履歴」タブ行の最大数 HistoryRows = 0 に設定する場合、履歴は更新されません。
- BigText-フォントサイズを大きくしたいとき真に設定します。
- SignalPoints -ここからストップロス、テイクプロフィット、未決注文の始値フィールドがスタートするポイント間の距離が強調表示されます。たとえば、SignalPoints = 10 に対して、価格がポジションのストップロスから10ポイントの距離にあるとき、ストップロスフィールドが色を変えます。
- ShowCancelled-トレード履歴上でキャンセルしたオーダーを見たい場合、真に設定します。
- ShowExpired -トレード履歴上で期限切れの未決注文を見たい場合、真に設定します。
- MainColor-ターミナルアカウント情報行(バランス、エクイティ等)の『ターミナル』、『アカウント履歴』の見出し色
- BuyColor -買いポジションに関する情報の色
- BuyOPColor -ターミナルタブのオープン価格の色。この色は現行価格が買いストップ、買いリミットのオープンレベルに近づくと主要色を置き換えます。
- BuySLColor-「ターミナル」タブで、価格がストップロスや買いポジションに近づくとき主要色を置き換える色。『アカウント履歴』に対しては、買いポジションがストップロスによりクローズする場合に主要色を置き換える色。
- BuyTPColor -BuySLColor と同じであるが、ポジションのテイクプロフィットに適用されます。
- SellOPColor, 、SellSLColor、 SellTPColor -同じく売りポジションに対して。
Expert Advisor は背景色黒の上で使用されるようにできており、これがデフォルト色の多くが明るい色である理由です。白の背景を使うなら、暗い色を設定します。この記事のためにエキスパートを検証する際、私はそうしました。
起動
そして最後に、開始ボタンを押します。チャートに一番最初に表示されるのは前にお話ししたツールボックスです。
それはポジションをオープンし、未決注文を出し、定義済み特性値を選択するのに役立ちます。対応するセクションで前にリストアップしたアクションを調べます。ここで、ツールボックスの処理はすべてポーズモードで行う方が安全である、ということだけ申し上げます。. アクションはすべてエキスパートがコマンドとして理解し、キャンセルすることはできません。エキスパートは検証を行うためだけのものなので、不正確でも物質的損失は生じませんが、長期にわたるりコツコツと検証して取得される結果をこの方法で台無しにする可能性があります。
『ターミナル』および『アカウント履歴』ウィンドウはチャートの下方にあります。それらはトレーディングを開始するまで空のままです。
ポジションのクローズや変更は『ターミナル』ウィンドウによって行います。一方、『アカウント履歴』ウィンドウは情報をもたらしてくれます。
ポジションオープン
ポジションをオープンしてみます。まず、必要なことはロットサイズ、ストップロスやテイクプロフィットまでの距離を決めることです。あとで変更に時間を取られたくありませんから。前にお話ししたように、値はツールボックスによって設定されます。希望の値を持つオブジェクトを選択し、スクリーンの任意のポイントに移動する必要があります。オブジェクト数は同時に動かすことができます。すなわち、ロットサイズを 1 に、テイクプロフィットを 100 に設定したければ、対応する値をランダムなポイントにドラッグします。
ここで F12 を押します。次のティックがやってきて、Expert Advisor は選択した値をチェックします。
ポジションをオープンするとき、エキスパートは選択された特性の値を使用します。
-ロットサイズは以下の式に従い計算されます。:フリーマージン×リスク× 0.01 ×レバレッジ÷契約サイズ Risk=0であれば、選択された ロットの値は使われます。
- ストップロスまでの距離は対応する線(以下で述べます)によって決められます。ストップロスラインが移動していなければ、 SL の選択した値が使われます。
- テイクプロフィットまでの距離が対応する線によって決定されます。テイクプロフィットラインが移動していなければ、 TP >の選択した値が使われます。
- 有効期限(未決注文に対してのみ)- Exp の選択した値が使われます。
ポジションはひじょうにシンプルな方法でオープンされます。-対応している線をチャートにドラッグするだけで十分です。各オーダータイプに対する線は 3 本あります。
- 始値ライン (売りおよび買いポジションに対しては実線、未決注文に対しては破線)がストップロスとテイクプロフィットラインの真ん中にあります。
- ストップロスライン (一点鎖線)は、買いポジションでは始値ラインの下、売りポジションでは上にあり ます。
- テイクプロフィットライン (破線)-買いポジションに対して、売りポジションの下。
現行価格の上に置かれた未決注文(買いストップと売り指し値)は上側の行にあります。これらは、下側の行で、価格(買い指し値と売りストップ)の下にきます。
選択したストップロスとテイクプロフィット値(今のところそれぞれ50と100)で買いポジションをオープンしたい場合、ポジションの買いオープンの線をチャートまでドラッグするだけです。
そして F12 を押し、結果に感嘆します。
売りおよび買いのポジションが現行価格でのみオープンしているため、線を価格に正確に入れる必要はありません。:エキスパートが自分で適切な価格に入れ替えてくれます。ただ、未決注文に正しい価格を指定するのはたいへん重要なことです。そうしなければ、注文は出されません。
こんどは売りストップ注文を設定します。
-ロットサイズ-デポジットの10%
-マニュアルで設定する始値とストップロス
-無効にされたテイクプロフィット
-有効時間30分(0.5時間)
必要なオブジェクトをすべて取り、それらをチャートに入れます。
F12 を押して、見ます。
すべて正常なようです。
オーダー終了
ポジションのクローズと未決注文の削除はずっと簡単なタスクです。必要なことはクローズし移動するオーダーのチケットを選択することだけです。
結果を待つことはありません。エキスパートはすでに次のティックでオーダーをクローズしています。
未決注文は同じ方法で削除されます。
ポジションの変更
オーダー変更管理を行うことでポジションクローズとオープンのエレメントを融合します。:変更する特性(始値、ストップロス、またはテイクプロフィット)を選択するには、対応するフィールドを移動する必要があります。
次のティックが来たあとで、Expert Advisor は対応する特性値を変更するのに役立つ修正ラインを作成します。
線を新しい位置に移動したあと、F12 を押し、結果を見ます。
ストップロスやテイクプロフィットを完全に削除したい場合は、対応するフィールドを削除するだけです。
始値フィールドを削除したら、ポジションをクローズ(オーダーを削除)します。トレーダーの中には、こちらの方法が便利だと思う方もいるでしょう。
同時に変更するパラメタ数に制限はありません。1ティック内でオープンしているすべてのポジションを変更することも可能です。
おわりに
本稿を読んだら、履歴データ上で戦略を検証するのにプログラマ―である必要はないことがお分かりいただけたことでしょう。マニュアル検証モードの利用により、履歴データに対してマニュアルでトレードができるのです。本稿で提供されている Expert Advisor、ライブラリ、インディケータは実トレーディングターミナルのシミュレーションを可能にします。
本稿の結びに思い出していただきたいことがあります。 この Expert Advisor は実トレーディング用ではありません。 検証プログラムにみなさんの資金を委ねないでください。
リアルタイムモードでオーダーを簡単にコントロールするため、オンラインの複雑な AutoGraf が作成されました。本稿へのアイデアやコードパーツを生み出したのはこの複合体です( 作成者の方のご厚意により)。作成者の方に多大な感謝を!
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/1425



- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索