MT4/MT5でローソク足パターンを極める|無料ライブラリ

2018年12月31日

夜空

ローソク足のパターンをまとめたライブラリを作成したので提供します。このライブラリはアイデア次第で「エントリー/エグジット/フィルター」のどれにでも利用することができます。

プログラムは自由にお使いいただいて構いませんので、そのまま使っても自分好みにカスタイマイズして使っても大丈夫です。

ライブラリ作成の経緯

ライブラリはMQL5Communityで無料配布されているacandlepatterns.mqhを参考に作成しました。参考にしたライブラリ自体も優秀なものだとは思うのですが、以下のように致命的に使いづらい点がいくつもあったので自分好みに作り替えることにしました。

現状

  • MT5でしか使えない
  • MQL5ウィザードでの利用を前提に作られている
  • 全てローソク足の1本前を起点にしているので使い方が限定的過ぎる
  • 全くシグナルを発しないメソッドがある(バグも少し)
  • etc

作り替え後

  • MT4/MT5の両方で同じように使える
  • どこからでも呼び出せる
  • ローソク足の何本前を起点にするか自分で選べるようにする
  • 現実的でないシグナルは削除する
  • 欲しいシグナルを追加する

ライブラリの構成

以下のような判定をすることができます。

項目名関数(メソッド)イメージ
ギャップアップCheckGapUp
ギャップダウンCheckGapDown
大陽線CheckBigWhiteCandle
大陰線CheckBigBlackCandle
下髭CheckLowerShadow
上髭CheckUpperShadow
赤三兵CheckThreeWhiteSoldiers
黒三兵CheckThreeBlackCrows
切り込み線CheckPiercingLine
かぶせ線CheckDarkCloudCover
三川明けの明星CheckBullishEngulfing
三川宵の明星CheckBearishEngulfing
はらみ線(買い)CheckBullishHarami
はらみ線(売り)CheckEveningStar
出会い線(買い)CheckBullishWeekMeetingLines
出会い線(売り)CheckBearishWeekMeetingLines

単独でもシグナルとして十分使えるものもありますが、私は個人的に組み合わせるのが好みです。


ライブラリの使い方

ダウンロードと配置

OrgCandleAction.mqhをダウンロードして、ZIPの中に入っているmqhファイルを配置します。

配置場所はMT4なら「MQL4\include」、MT5なら「MQL5\include」の中で良いと思います。私の場合はincludeの下にさらにOrgというフォルダを作成してそこに配置しています。


使い方

ミニマムなプログラムで使い方の定型部分を説明します。


冒頭の2行でライブラリを読み込んで、9行目で利用可能な状態にしています。

18行目のdelete(candle);は片付けなので、OnDeinit内で書くようにしてください。

OnTick内の17行目でcandle.Initialize();をすれば全ての準備が整います。

次はOnTickの中身のみに着目して具体的な使い方を記載します。


1つだけでも下図の結果のように強力なシグナルはありますが、個人的には後半部分のようにいくつかのパターンを組合わせて使うのが好きです。

バックテスト結果

以下のメソッドでまとめてチェックすることもできます。

CheckCandleDirection()・・・買い系シグナル-売り系シグナル

CheckPatternAllBullish()・・・買い系のシグナルが1つでもONになっていればTrueを返します。

CheckPatternAllBearish()・・・売り系のシグナルが1つでもONになっていればTrueを返します。

このあたりは若干使い方が難しいというのはあるのですが、自分のEAにフィルターとして組み込んでみると面白い発見があるかもしれません。

例えば私のブレイクアウトEAで「買いシグナル+CheckPatternAllBearish()」とすると、「EAは買い方向でローソク足は売り方向?」と感じるでしょうが、実は「ローソク足が弱気・・・売りが大量に出る」→「上にブレイクアウト」→「大量の売り(ダマシ)を燃料に高騰する?」という発見がありました。

もちろんEAのタイプによるので一概にそうとは言い切れませんが楽しい検証ができるのではないかと思います。


最後に

いかがだったでしょうか。

このライブラリを使うだけでも組合せで十分遊べますし、さらにトレンド判定や高値安値判定を付け加えれば実現したいことは概ねできるかと思いますので、少しでも皆様の勝率アップにつながれば幸いです。

自作EA作りは控えめに言ってとても楽しい作業なので興味がある方は是非遊んでみてください。