紹介その2この段階で購入してくださる方への感謝も込めて9800円と想定している価格よりかなり割引して販売させていただきます。ご購入はこちらから変化率分散バンドと平均足を利用したトレンドフォロー型EAGewinn7で設定可能なパラメータを紹介します。■Gewinn7にて設定可能なパラメータ・マジックナンバーEA固有値を指定します。Gewinn7が再起動された場合、Gewinn7によってオープンされたポジションを取得するために使用します。他のEAと重複しない値を指定してください。・バックテスト用夏時間補正バックテスト用にチャート時間のGMT補正値と夏時間有り無しを指定します。Gewinn7では時間フィルタを使用していないため、現時点では未使用の値です。旧カウントダウン方式の発注を行う場合trueにします。カウントダウン方式であるFXTFデモ口座においてこの値がFalseでも発注可能ですので、通常Falseのままで問題ありません。・スプレットフィルタ発注可能な最大スプレットをPips単位で指定します。・売買ロット「複利運用を行います」パラメータがFalseの場合の1ポジションあたりのロット数です。・許容スリップページ発注時の許容スリップページです。保有する最大のポジション数です。2の倍数で4~22の間で指定します。両建て時の最大ポジション数となります。デフォルトの22では、買い11/売り11の合計22ポジションまで構築する可能性があります。・コメントGewinn7でポジションを立てた場合、ポジションに設定される規定のコメントです。・複利運用を行います。True時、複利運用を行います。・複利運用時リスク基準値%1ポジションあたり、Gewinn7の最大損失である-200pipsの損切が発生した場合、証拠金の指定%が失われる計算のポジションを構築します。最大ポジション数xリスク基準%が最大リスクとなります。・新しいポジションを許可します。Gewinn7による新しいポジションを許可する場合trueを指定します。falseを指定するとGewinn7によって構築されたポジションに対してトレイリングとクローズ判定処理のみ行います。リアル口座でのフォワードテスト2016/4/28にV1.9をリリースしています。それ以前は、AlpariとOandaプロ口座で差分が大きい形になっています。ご購入はこちらから変化率分散バンドと平均足を利用したトレンドフォロー型EA「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。FX-ONにて9800円で販売を開始します。紹介その12か月間ほど、Alpari/Oandaデモ/Oandaプロ口座でのフォワードテストでの差分を埋めるべく調整してきましたGewinn7ですが、このたび、本格的に販売を開始したいと思います。調整必要な箇所もあるかもしれません。2か月間FX-ONでのデモ口座との差分を調査したり調整したりしてたため、FX-ONでのフォワードは散々な結果となっています。^^;;;この段階で購入してくださる方への感謝も込めて9800円と想定している価格よりかなり割引して販売させていただきます。ご購入はこちらから変化率分散バンドと平均足を利用したトレンドフォロー型EAGewinn7のアルゴリズム紹介です。Gewinn7では、主に次の3つのインジケータを使用して取引を行います。それぞれ独自に開発したインジケータです。1.変化率分散バンド価格推移において、変化量より変化率の方がより正規分布表現に近い分散を示すことを利用した価格推移バンドです。このバンドから求められる想定される価格変動を超える変動はランダム的動きではない力が掛かったと判断してトレンドとみなします。日足において、分散バンド2σ越えは、ほとんど発生しないという特徴からバンドの2σに近づいた場合は、行き過ぎとしてポジションを持たないようにします。Gewinn7では、変化率分散バンドをトレンド判定とトレイリングに利用しています。2.平均足インデックス平均足の変化幅を合計して期間平滑化処理をしたものです。こちらは公開していないインジケータとなります。Gewinn7では、このインジケータを利用して短期的な値動きと長期的な値動きが相反する場合にポジションをとるようにしています。3.フラクタルバンドMT4に付属しているFractalsインジケータの考えを応用して、期間高値安値を求めています。Fractalsではチャートに対する頂点抽出を行っていますが、こちらではエッジ検出的な線形フィルタを採用して精度を高めながら、なるべく早く判定できるようにしています。こちらのインジケータは、近々公開予定です。変化率分散バンドにおけるトレンド判定の補助的役割として利用してます。高値安値突っ込み判定としても利用しています。ポジションは1時間足にて判定します。トレイリングは1時間足のチャートを5分毎に確認して判定しています。トレンドフォロー型ですのでチャートが一定方向に動く相場を得意としています。ある程度波打ちながら移動する場合が一番大きな利益が期待できます。時間的なフィルターは一切行っていません。雇用統計前でも、週末でも、年末でも、シグナルが立つとポジションを持ちに行きます。新しいポジションを許可したくない場合は必要に応じて、EA設定「新しいポジションを許可します」をFalseに変更してください。現在保持しているポジションのクローズ判定のみを行い、新しいポジションは許可しなくなります。リアル口座でのフォワードテスト2016/4/28にV1.9をリリースしています。それ以前は、AlpariとOandaプロ口座で差分が大きい形になっています。ご購入はこちらから変化率分散バンドと平均足を利用したトレンドフォロー型EA「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。2016/5分のチャートまで表示可能な試用版を公開中ご質問にて、変化率分散バンドは○○で有効ですか?というお問い合わせをよくいただきます。時間の問題もあり、ご質問の通貨や時間に対して、すべての有用性を確認するのが難しい状況です。そこで、2016/05のチャート分まで描画可能な変化率分散バンドの試用版をアップロードしました。こちらのリンクからダウンロード可能です。気になっている方がいらっしゃいましたら、確認にご利用ください。「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。V1.9をアップしました。(滝汗)・・・つい前々日に、しばらくほっておく予定ですとか書いておきながら、再度のバージョンアップです。作っていたエッジ抽出による高値安値値幅をチャートに描画する機能と変化率分散バンドのトレンド処理を眺めていたら、変化率分散で2σ超えた場合でも、高値を更新していない場合は大半の場合すぐに戻ってしまうように思われました。そこで、その判定をEAに追加したところ、それなりに効果があったため、再度のバージョンアップしてしまいました。トレンド判定処理にチャートエッジ抽出結果(※)から求めた高値安値推移の値を追加しました。(※)チャートエッジ抽出についてはそのうち記事にします。3V1.8と比較するとPFが1.87→1.95に伸びています。バックテストでのPFは目標としている2.0にかなり近づいてきました。後はフォワード側も追いついてこればって感じです。2か月間様子をみて、大まかには差を埋めることができたと思いますので、販売を開始したいと思います。V1.9のコードはFX-ONに送信済みですが、バージョンアップはまだのようです。こちらはしばらくお待ちください。変化率分散バンドと平均足を利用したトレンドフォロー型EA「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。やってみよう!簡単EA作成4本格的なEA作成に入る前に、今まで省いていた前回までのコードの説明をしたいと思います。準備として最初に追加した部分の説明から。<Custom/TradingWrapper.mqh>まず、この一文です。前に書いたとおり、本ブログではEAに注文クラスというものを使用しています。その注文クラスが定義されているソースファイルを使いますよ、という指定になります。このように別のソースファイルなどを読み込んで使用することを「インクルード」と言います。ソースコードの中でよく必要になる汎用的な関数や定数宣言などを機能ごとにファイルにまとめておき、必要に応じてインクルードすることで、ソースファイルの役割分担がはっきりしたり、1つ1つのソースファイルの中身をすっきりさせることができるんですね。他のEAと当らない値を使用する。SpreadFilter);上はインジケータでも出てきた入力パラメータですね。下が、たびたび話に出てきた注文クラスの宣言と、同時にインスタンスを生成しています。インスタンスとは実体のことですが、クラスやインスタンスについては別に説明したいと思います。余談ですが、今までずっと注文クラスと書いてきましたが、コメントはトレード補助クラスとなっていて統一性がないですね。すいません^^;注文クラス生成の引数は以下の通りです。symbol通貨ペア。Symbol()関数は、現在の通貨ペアを返します。magicNumber識別(マジック)番号。EAごとに異なる番号を指定します。maxPosition最大ポジション数。保有ポジション数がこの数を超えるようになる取引はしない。spreadFilter最大スプレッド値。この値よりもスプレッドが大きい場合は取引しない。この引数に、入力パラメータを使用しています。最大ポジション数ですが、このEAの場合は必ず1ポジションしか持たないようにしているのでいくつを指定しても同じなんですが、この辺はパラメータとしておいたほうが何かと使いやすいので、こういうものとしておいていいと思います。取引に関する部分を説明していきます。取引の内容はOnTick()内に記述します。OnTick()は、価格の更新がある度に呼ばれる関数です。current;最初のこの部分は、1時間足が確定し、次の1時間足の形成が始まった時にのみ処理を行うための記述です。ここで使用しているiTime()関数は、足の形成開始時刻を取得する関数です。iTime()関数の引数は以下の通りです。symbol足の形成開始時刻を取得したい通貨ペア名。timeframe足の形成開始時刻を取得する時間軸。時間軸は、以下のように定義されています。shift形成開始時刻を取得したい足の位置。(0~)現在形成中の足の場合は0、1本前の場合は1、2本前の場合は2、となります。このコードでは、時間軸を1時間とし、足の形成開始時刻が前回から変わるまでは処理をせず終了してしまいます。そのため、1時間おきの足の形成が始まった時のみにその後の処理を行います。このEAでは足の確定時で十分なのでこうしていますが、EAによっては足の形成中でも処理を行う必要があると思いますので、必ず必要な記述ではありません。0;ここでは、1時間に1回の処理をさらに5回に1回のみ処理するようにして、5時間ごとに取引をするようにしています。結果を分かりやすくするために5時間ごとにしただけなので、特に意味はありません。m_wrapper.RefreshPositions();これは注文クラス独自の処理です。注文クラスが管理している保有中ポジションのリストを最新の状態に更新しています。ストップロスや利益確定などで自動的にポジション決済などが行われることがありますので、OnTick()で処理を行う前には必ずこれを呼ぶというお約束事と思ってください。ここからがやっと実際に取引するコードになるんですが、長くなってしまったので次回にしたいと思います。実際の取引以外のところはサッと書いて終わろうと思ったのに、思ったよりも長々と書いてしまいました^^;次の回へ「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。EURUSDをバージョンアップしました。FX-ON(OANDAデモ口座)と、OANDAプロ口座にてフォワードテスト中のGewinn7について、V1.8にバージョンアップをしました。バックテスト結果は次の通りです。3Alpariのバックテストでは、それほど大きく変わっていません。Gewinn7では、相場の動きを見るためにTick更新回数を見ていますが、Tick更新回数の差によって内部で使用してるインジケータの計算値が異なってしまう症状を解消するために、パラメータとロジックを修正しました。リアル口座でのフォワードテスト4/17~4/18にかけて、Gewinn7は売りポジションを貯めていますが、OANDAのフォワードでは、4/19にすべて損切決済されてしまいました。Alpari側のデータでは、ここは一部損切にとどまり、そのあとの下落局面での少額利益確定となります。そのあたりの差を埋めるために損切パラメータなどを全体に影響がない範囲で幅を持たせるように調整しました。FX-ONのフォワードでは、散々なチャートになってしまっていますね。4/21に売りポジション→4/22に決済という玉がFX-ONフォワードでは、全く表れていません。そのタイミングにV1.7をリリースしたため、たぶん動作を止めていたのだと推測されます。変化率分散バンドと平均足を利用したトレンドフォロー型EA大体怪しそうなところは埋めたと思われるため、Gewinn7はなるべく放置して結果を見ていきたいと思います。いまは、チャートに対してエッジ検出をかけて、エッジ位置によるトレンド/レンジ判定ができないかどうかを検討しています。Gewinn7の苦手な相場状況に対する対策となれば、二つを組み合わせることにより、より強固なEAになればよいかな?と考えています。あと、5月から本業のほうが本格的に忙しくなるため、ブログの更新頻度が下がるかもしれません。「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。やってみよう!簡単EA作成3EAの確認は、バックテストと呼ばれるもので行います。バックテストとは、過去のチャートを元に自分のトレード手法が機能するかを確かめるものです。MT4でバックテストをしてみましょう。メニューの[表示(V)]から[ストラテジーテスター(r)]をクリックし、ストラテジーテスターを表示します。ストラテジーテスターの表示[エキスパートアドバイザ]にコンパイル済みのEAが表示されるので、今回作った[テスト]-[Sample1.ex4]を選択します。以下の条件を入力し、[スタート]をクリックします。バックテスト開始[スタート]の文字が[ストップ]に変わったら、完了までしばらく待ちます。緑色のバーが右端まで到達して、[ストップ]の文字が[スタート]に戻ったら完了です。完了したら、[チャートを開く]をクリックします。チャートを開く過去のチャートが表示され、その上に取引のタイミングが表示されます。右向きの青い矢印が買い注文、赤い矢印が売り注文で、左向きの黄色い三角が決済です。プログラムした通りに、5時間おきに取引を繰り返しています。ストラテジーテスターの[結果]タブで取引の詳細を見ることもできます。結果こちらで見ても5時間おきに取引を繰り返していることが確認できます。気になる成績を見てみましょう。ストラテジーテスターの[グラフ]タブをクリックします。グラフパッと見よくない結果ですね。詳細を見てみましょう。ストラテジーテスターの[レポート]タブをクリックします。レポートここでは各項目の意味までは説明しませんが、例えば[純益]がマイナスになっていますし、[プロフィットファクタ]も1未満ですので、良くない成績であることが分かります。このように、作成したEAの成績を確認することができます。適当に売り買いするだけのEAを作成して手順を説明しました。次からは本格的に意味のあるEAを作っていきたいと思います。次の回へ「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。インジケータ一覧Twitterもよろしくお願いします。https://twitter.com/mt4programブログランキングにご協力よろしくお願いします。m(._.)mにほんブログ村お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。★相互リンク募集中★トレードステーションと株・FX自動売買で暮らす茶トラがFX検証中。人気の投稿[MT4プログラミング]MT4のチャート上に矢印を表示する。FX-ONにて9800円で販売を開始します。V1.9をアップしました。EURUSDをバージョンアップしました。