【MQL5】 MT5のEA作成の勉強 その27 マルチタイムフレームMACDを作ってみる。
マルチタイムフレームMACDとは、複数の時間軸(マルチタイムフレーム)のMACDを重ねて表示することができるインジケータです。表示中のチャートのMACDと長期時間軸のMACDを合わせて見ることで、トレードの精度を上げることができます。と思います。MTF_移動平均線の製作過程は以下をご覧ください
ITエンジニアが趣味で勉強したことを書き綴ります。PythonとMT5用言語のMQL5についての記事多めです。
マルチタイムフレームMACDとは、複数の時間軸(マルチタイムフレーム)のMACDを重ねて表示することができるインジケータです。表示中のチャートのMACDと長期時間軸のMACDを合わせて見ることで、トレードの精度を上げることができます。と思います。MTF_移動平均線の製作過程は以下をご覧ください
MT5のEA作成の勉強シリーズで、大分知識がついてきたので、実践的なEA開発を試してみたいと思います。勉強の過程でその1は作ったので、その2からのスタートです。 今回はリピート型EAを作ろうと思います。リピート型EAとは、指定した価格に到達するたびに少しづつ注文を繰り返す方式のEAです。
前回と前々回で検討してきた他の時間軸の移動平均線インジケータの作り方をまとめます。前回、課題として残っていた部分を片付けた後、応用として他のインジケータ(パラボリックSAR)をマルチタイムフレーム化してみます。過去の投稿は以下を参照してください。
前回の投稿で、他の時間軸の移動平均線インジケータを作ろうとしたところ、テストはうまくいったのに実際にチャートに挿入すると意味不明な挙動を示しました。 今回はその原因を考察し、プログラムを修正してゆきます。どうも、配列の要素数が違ったのが原因のようです。
MT5のチャートに別の時間軸の移動平均線を表示することで、下記の投稿で扱ったマルチタイムフレーム分析(MTF分析)を使ったEAロジックの妥当性を検証しやすくなります。(MTF分析を行ったEAのテスター表示は時間軸ごとに別のチャートで表示されてしまいます。詳しくは下記投稿をご覧ください。)
ボリンジャーバンドは「 BASE_LINE 」「 UPPER_BAND 」「 LOWER_BAND 」の3本の線で構成されます。以下の投稿で、EA/インジケータに テクニカル指標を導入する方法を学びましたが、ボリンジャーバンドの様に一つの指標が複数の値を持っている場合のやり方をメモしておきます。
ENUM_TIMEFRAMESを使って、マルチタイムフレーム分析 (MTF分析) を行います。MTF分析とは、上位足を見ることで、現在のチャートのトレンドが、長期的なトレンドに従っているかどうかを判断する手法です。そのために、任意の時間軸の価格やインジケーターを取得します。
取引時間の設定は、TimeCurrentまたはCopyTimeを使って、現在サーバーの時刻を取得することで行います。取引時間の設定を行う主な目的は、スプレッドの大きい時間に取引を行って、損失を出すのを防ぐためです。スプレッドが大きいと損失が出やすくなるので、この時間に取引を避ける戦略は重要です。
MQL5ではデバッグモードで変数の値を確認することができます。 前回の投稿で、 PositionModifyがうまく動かない原因を探るとき、様々な変数の確認を行ったのですが、以外に独特な仕様がいくつかあり、内容を確認できるまでに苦労したのでメモしておきます。
EAの成績を向上する上で極めて重要な、損切の設定について勉強したいと思います。損切方法は一般的には逆指値とトレーリングストップの二つがあります。今回はこれは使わずに、古典的にティックごとにポジションを更新するPositionModifyを使った方法を検討してゆきます。