■超直感!MT4プログラミング講座 第37回 ブレイクアウトシステムのEA作成(2)

スポンサーリンク

おはようございます。キリンです。
日本、負けてしまいましたね。
でも、すごい感動しました。
すごい夢をもらいました。
優勝っていう言葉も、ちょっと期待させてもらいました。
できないじゃない。やるかやらないかだ。
日本の選手たちは、しっかりとやった。
それが一番大事なんだと思います。
結束力の素晴らしい今年のチームはまさに「最高」でした!
胸張って帰ってきてくださいね!!


第37回 ブレイクアウトシステムのEA作成(2)

■ブレイクアウトシステムの条件
1.長期間の高値(安値)ブレイクでエントリー
2.短期間の高値(安値)で決済
というのが今回の作成するシステムの主要ロジックです。
損切りは逆指値で行うことにします。
まず、期間の指定を外部パラメータで指定します。
■超直感!MT4(MQL)プログラミング講座■
こんな感じですね。
では、これを使って主要ロジック部を組み立ててみます。
■超直感!MT4(MQL)プログラミング講座■
こんな感じですね。
安値、高値とClose[0]とを比較してエントリーをさせています。
コメント部分は、発注やポジションの確認などのスプリクトを導入する箇所です。
分かりやすいようにコメントにしてみました。
主要ロジック部はこのようにたった数行で現せてしまうんですね。
意外にすごく簡単なんです。
ちょっと気をつけていたきたいのが、iLowest関数の最後の引数が 1 になっていることです。
一本前までの高値、安値を引っ張り出してるんですね。
直近を考えてしまうと、直近の部分の安値を算出してしまう場合があり、
正しく動作しません。
分かりやすいようにClose[0]を使った比較の方法を書きましたが、
実は、iLowestの特性を使えばサポレジブレイクの判断方法には、他にもやり方があるんです。
それについては次回お話します。
ヒントとしては、iLowestは一定期間の安値の場所が変えるのだから・・・ということです。
みなさんでも考えていただければと^^
次回までの宿題です♪
この時点で分からないことがあったら、後々かなりつまづきますので
早めに質問していただければと思います。
今日もお読みいただきまして、ありがとうございます!

コメント

  1. junky より:

    SECRET: 0
    PASS:
    指値で注文すればいいと思うのですが。

  2. SECRET: 0
    PASS:
    >junkyさん
    確かに逆指値で予約注文入れていてもいいですね。
    コメントありがとうございます♪

  3. おやっさん より:

    SECRET: 0
    PASS:
    ブレイクアウトEAの講座が終了してからでいいですが、MACDなどのテクニカル指標の数値を過去何本での最高値や最低値で取得できないでしょうか?
    エクセルでなら簡単に出来るのですがMT4だとどうやったらいいのかさっぱり判りません。
    使用目的は、例えばMACDなら0付近での上下をフィルタリングして無視させたいのですが、数値を直接使えば簡単に出来ますが、直接数値を使った場合、時間足や通貨を変更すると違ってきてしまいますよね。
    0から最高値の10%までは売買しないとかやりたいのですが、力を貸してください。

  4. SECRET: 0
    PASS:
    >おやっさんさん
    コメントありがとうございます!
    お返事が遅れまして、申し訳ないです。
    最高値も比較的簡単に取得できます。
    MACDを記録した配列の中での
    最大値をとればよいと思います。
    http://www.metasys-seeker.net/MQL4_Reference_ver1/06-09_ArrayMaximum.html
    この関数を使えば、最大値がある配列の場所を取得できるので、
    後はその場所の値を実際に取得してみればよいかと。
    近いうちにそのスプリクトを作成してみますね。
    また遊びに来ていただければ嬉しいです^^

  5. どる より:

    はじめまして。
    アメブロ時代からブログを見させていただいています。
    すごいですね億に到達したのですね。
    最近EAに興味を持ち勉強しているのですがMT4プログラミング講座の前半をこのサイトから見るにはどうしたらよろしいでしょうか?
    NEXT PAGEがどこにあるかわかりにくくできればアメブロ時代にあった目次をつけて頂けると助かります。
    よろしくお願いします。

タイトルとURLをコピーしました