やってみよう!簡単EA作成2ではさっそく取引するコードを書いてみましょう。・・と言いたいところですが、その前に1つお約束事があります。本ブログ内のEA関係の記事は、注文クラスと呼んでいるクラスを使用しています。「クラス」とは何かという説明はひとまず置いといて、EAを作成するのに必要なソースファイルがあるとだけ理解しておいてください。ファイルの内容はこちらで公開しています。http://mt4program.blogspot.jp/2016/04/mt4_57.html必要なファイルは以下の2つです。上記の記事のコードをそのままコピーし、Include/Customフォルダの下にそれぞれのファイル名で保存してください。・TradingWrapper.mqh・TradingDefines.mqh準備ができたら、EAのコードを次のように変更します。他のEAと当らない値を使用する。OnTick(){//---}//+------------------------------------------------------------------+コードを変更したら、メタエディターの[コンパイル]ボタンをクリックしてみましょう。コンパイルボタンメタエディター左下の[エラー]欄に赤いびっくりマークのエラーが出た場合は、上記のファイル内容やファイル名、保存先が正しいか、または変更したコードが正しいかどうかを確認してください。エラーが出なければ正しく準備が完了していることになりますので、先へ進みます。ここまでではまだ取引は一切行われませんので、引き続き次のように実際に取引するコードを追加しましょう。他のEAと当らない値を使用する。}}//+------------------------------------------------------------------+先ほどと同様にコンパイルを行い、エラーが出ないことを確認してください。内容としては、5時間ごとに、買い→決済→売り→決済→買い→・・・と取引を繰り返すだけです。コードの説明は後ほどしたいと思いますので、まずは結果を見てみましょう。長くなりましたので、続きは次回に。次の回へ「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。MT4プログラミング2016年4月21日木曜日[雑記]MQL超入門を更新しました先ほど、久しぶりにMQL超入門の最新記事を追加しました。これからはEA作成についてを取り上げていきます。やってみよう!簡単EA作成1それに伴い、MQL超入門の目次ページも作成しました。目次」のリンクを作りましたので、そこから見ると便利です。各記事の最後に「次の回へ」というリンクを追加して続けて読めるようにしましたので、読みやすくなっていると思います。読まれる方も、読み直したい方も、ぜひ読んでみてください。「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。やってみよう!簡単EA作成1これまででインジケータの作りかたを学びました。今回からは、EAを作ってみましょう。※インジケータ作成の時と繰り返しになりますが、リアル口座を運用しているMT4を使用する場合、ソフトウェアの作成に失敗すると、取引に影響が出ます。そこで、プログラム開発用にMT4のデモ口座を作ることをお勧めします。[雑記]MT4のデモ口座はどこがいい?http://mt4program.blogspot.jp/2015/12/mt4.htmlなどから、プログラム開発用のデモ口座を開き、プログラムはデモ口座が動いているMT4上で作ることをお勧めします。インジケータの時と同じで、EAもウィザードから追加します。メタエディター上で下記の通りに操作してみてください。ナビゲータ上で、[Experts]を選択して、マウスの右クリックから[新規ファイル(N)]を選択します。新規作成MQL4ウィザードにて[エキスパートアドバイザ(テンプレート)]を選択した状態で、[次へ(N)]をクリックします。名前の箇所に[Experts\テスト\Sample1]と入力して[次へ(N)]を押します。今回はあらかじめExpertsの下に[テスト]フォルダを作成しておき、その中にSample1というEAを作成します。名前の決定チェックが全て外れている状態で、[次へ(N)]をクリックします。カスタムイベントハンドラの選択チェックが全て外れている状態で、[完了]をクリックして終了です。テスターイベントハンドラの選択そうすると次のようなファイルが出来上がります。これがEAの最小限のひな形となります。}//+------------------------------------------------------------------+もちろんこのままでは取引は何も行われませんので、次回からは実際に取引するコードを書いていきます。次の回へ「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。その2少し時間が空きましたが、TEMA傾き累積インジケータを使った戦略の続きです。傾き量の変化が短期周期に惑わされずトレンド方向を表すことを目的として、閾値を使ってある程度細かい振幅は無視してしまうというのが前回までの話でした。ある程度長期のトレンドの中にも短期周期の上下は必ず発生しますので、今回はこれを逆手にとって、閾値なしで方向がリセットされる場合と、閾値を使ってリセットされない場合で考えます。閾値を使ってリセットされないという事は、トレンド方向としては継続していると考えられますが、その中で小さな反転の動きがあった場合、追加で売り買いのチャンスになるのではないでしょうか。チャートで見てみるとこんな感じです。インジケータの上が閾値あり、下が閾値なしです。赤い丸のあたりで、閾値ありではリセットされず、閾値なしでリセットされています。チャートを見てもわずかな上昇が見えますので、ここで追撃する戦略を検証してみます。追撃なし1ポジションのみの結果から見てみます。コントロールポイント(おおまかな方法。1次に追撃ありの結果です。最大4ポジションの両建てなしで、リセットされた際には保持しているポジションは全決済します。コントロールポイント(おおまかな方法。3グラフはほぼ同じ形のまま、ポジション数が増えている分利益が飛躍的に増えています。追撃することで利益が増えているので、売買のタイミングとしては効果的であると言えそうです。単純な自動売買ではマイナスの動きのときにも追撃していてドローダウンも増えていますが、このあたりを考慮すれば十分使えるのではないでしょうか。「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。インジケータ2016年4月19日火曜日[MT4プログラミング]注文クラス修正版ずいぶん久しぶりですが、注文クラスの修正版をまたアップしておきます。前回のアップからなんと約1年ぶり!といっても機能的な大きな変更はほとんどなく、関数の引数の初期値対応や細かなバグの修正といった感じです。アップする程でもなく細々と修正を加えてきましたが、もうだいぶ安定して動作しているし、(ふと思い出したので・・)アップしました。全ポジションを成行き決済を行う。