2016年4月30日土曜日

[Gewinn]PF 1.95 9800円で販売中。Gewinn7の設定 紹介その2

この段階で購入してくださる方への感謝も込めて9800円と想定している価格よりかなり割引して販売させていただきます。

ご購入はこちらから
変化率分散バンドと平均足を利用したトレンドフォロー型EA
Gewinn7(EURUSD)



Gewinn7で設定可能なパラメータを紹介します。

■Gewinn7にて設定可能なパラメータ


・マジックナンバー
 EA固有値を指定します。
 Gewinn7が再起動された場合、Gewinn7によってオープンされたポジションを取得するために使用します。他のEAと重複しない値を指定してください。

・バックテスト用GMT補正値
・バックテスト用夏時間補正
 バックテスト用にチャート時間の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によって構築されたポジションに対してトレイリングとクローズ判定処理のみ行います。

■Gewnn7のOANDAプロ リアル口座でのフォワードテスト
2016/4/28にV1.9をリリースしています。それ以前は、AlpariとOandaプロ口座で差分が大きい形になっています。

 | fx-on.com

ご購入はこちらから
変化率分散バンドと平均足を利用したトレンドフォロー型EA
Gewinn7(EURUSD)
Gewinn7(EURUSD) | fx-on.com

「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2016年4月29日金曜日

[Gewinn]トレンドフォロー型EA Gewinn7 FX-ONにて9800円で販売を開始します。紹介その1

2か月間ほど、Alpari/Oandaデモ/Oandaプロ口座でのフォワードテストでの差分を埋めるべく調整してきましたGewinn7ですが、このたび、本格的に販売を開始したいと思います。

まだ、調整必要な箇所もあるかもしれません。また、2か月間FX-ONでのデモ口座との差分を調査したり調整したりしてたため、FX-ONでのフォワードは散々な結果となっています。^^;;;

この段階で購入してくださる方への感謝も込めて9800円と想定している価格よりかなり割引して販売させていただきます。

ご購入はこちらから
変化率分散バンドと平均足を利用したトレンドフォロー型EA
Gewinn7(EURUSD)


Gewinn7のアルゴリズム紹介です。

Gewinn7では、主に次の3つのインジケータを使用して取引を行います。それぞれ独自に開発したインジケータです。

1.変化率分散バンド
 価格推移において、変化量より変化率の方がより正規分布表現に近い分散を示すことを利用した価格推移バンドです。ただいま発売中です。
 このバンドから求められる想定される価格変動を超える変動はランダム的動きではない力が掛かったと判断してトレンドとみなします。
 また、日足において、分散バンド2σ越えは、ほとんど発生しないという特徴からバンドの2σに近づいた場合は、行き過ぎとしてポジションを持たないようにします。
 Gewinn7では、変化率分散バンドをトレンド判定とトレイリングに利用しています。

2.平均足インデックス
 平均足の変化幅を合計して期間平滑化処理をしたものです。こちらは公開していないインジケータとなります。Gewinn7では、このインジケータを利用して短期的な値動きと長期的な値動きが相反する場合にポジションをとるようにしています。

3.フラクタルバンド
 MT4に付属しているFractalsインジケータの考えを応用して、期間高値安値を求めています。Fractalsではチャートに対する頂点抽出を行っていますが、こちらではエッジ検出的な線形フィルタを採用して精度を高めながら、なるべく早く判定できるようにしています。
 こちらのインジケータは、近々公開予定です。
 変化率分散バンドにおけるトレンド判定の補助的役割として利用してます。
 また、高値安値突っ込み判定としても利用しています。

ポジションは1時間足にて判定します。
トレイリングは1時間足のチャートを5分毎に確認して判定しています。

トレンドフォロー型ですのでチャートが一定方向に動く相場を得意としています。
ある程度波打ちながら移動する場合が一番大きな利益が期待できます。

時間的なフィルターは一切行っていません。雇用統計前でも、週末でも、年末でも、シグナルが立つとポジションを持ちに行きます。
新しいポジションを許可したくない場合は必要に応じて、EA設定「新しいポジションを許可します」をFalseに変更してください。現在保持しているポジションのクローズ判定のみを行い、新しいポジションは許可しなくなります。

■Gewnn7のOANDAプロ リアル口座でのフォワードテスト
2016/4/28にV1.9をリリースしています。それ以前は、AlpariとOandaプロ口座で差分が大きい形になっています。
 | fx-on.com

ご購入はこちらから
変化率分散バンドと平均足を利用したトレンドフォロー型EA
Gewinn7(EURUSD)
Gewinn7(EURUSD) | fx-on.com

「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2016年4月28日木曜日

[変化率分散バンド] 2016/5分のチャートまで表示可能な試用版を公開中

ご質問にて、変化率分散バンドは○○で有効ですか?というお問い合わせをよくいただきます。

時間の問題もあり、ご質問の通貨や時間に対して、すべての有用性を確認するのが難しい状況です。そこで、2016/05のチャート分まで描画可能な変化率分散バンドの試用版をアップロードしました。

こちらのリンクからダウンロード可能です。
変化率分散バンド 試用版 2016/05有効
変化率分散バンド 試用版変化率分散バンド 試用版 | fx-on.com


気になっている方がいらっしゃいましたら、確認にご利用ください。

「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

[Gewinn7]Gewinn7 EURUSD V1.9をアップしました。(滝汗)

・・・つい前々日に、しばらくほっておく予定ですとか書いておきながら、再度のバージョンアップです。

作っていたエッジ抽出による高値安値値幅をチャートに描画する機能と変化率分散バンドのトレンド処理を眺めていたら、変化率分散で2σ超えた場合でも、高値を更新していない場合は大半の場合すぐに戻ってしまうように思われました。そこで、その判定をEAに追加したところ、それなりに効果があったため、再度のバージョンアップしてしまいました。

トレンド判定処理にチャートエッジ抽出結果(※)から求めた高値安値推移の値を追加しました。
(※)チャートエッジ抽出についてはそのうち記事にします。

■Gewinn7 V1.9 バックテスト Alpari 2007-2015 複利運用なし

通貨ペアEURUSD (Euro vs US Dollar)
期間5分足(M5) 2007.01.02 08:00 - 2015.12.30 23:55 (2007.01.01 - 2015.12.31)
モデル全ティック (利用可能な最小時間枠による最も正確な方法)
パラメーターMagicNumber=55357260; TestGmt=2; IsCountdong=false; SpreadFilter=5; Lot=0.02; PermitSlip=2; MaxPosition=22; Comment="Gewinn7 EURUSD"; IsCompund=false; BaseRiskP=1; EnableNewPosition=true;
テストバー数666103モデルティック数106135364モデリング品質90.00%
不整合チャートエラー0
初期証拠金10000.00スプレッド15
純益14220.18総利益29205.90総損失-14985.71
プロフィットファクタ1.95期待利得4.16
絶対ドローダウン55.23最大ドローダウン672.35 (4.82%)相対ドローダウン4.82% (672.35)
総取引数3422売りポジション(勝率%)1814 (74.48%)買いポジション(勝率%)1608 (80.04%)
勝率(%)2638 (77.09%)負率 (%)784 (22.91%)
最大勝トレード80.26敗トレード-40.58
平均勝トレード11.07敗トレード-19.11
最大連勝(金額)71 (816.31)連敗(金額)12 (-150.73)
最大連勝(トレード数)859.44 (22)連敗(トレード数)-337.52 (10)
平均連勝9連敗3


V1.8と比較するとPFが1.87→1.95に伸びています。
バックテストでのPFは目標としている2.0にかなり近づいてきました。後はフォワード側も追いついてこればって感じです。

2か月間様子をみて、大まかには差を埋めることができたと思いますので、販売を開始したいと思います。
V1.9のコードはFX-ONに送信済みですが、バージョンアップはまだのようです。こちらはしばらくお待ちください。

  変化率分散バンドと平均足を利用したトレンドフォロー型EA
Gewinn7(EURUSD)
Gewinn7(EURUSD) | fx-on.com
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2016年4月27日水曜日

[MQL超入門] その017 とりあえずやってみよう!簡単EA作成4

本格的なEA作成に入る前に、今まで省いていた前回までのコードの説明をしたいと思います。

まずは準備として最初に追加した部分の説明から。

#include <Custom/TradingWrapper.mqh>
まず、この一文です。
前に書いたとおり、本ブログではEAに注文クラスというものを使用しています。その注文クラスが定義されているソースファイルを使いますよ、という指定になります。

このように別のソースファイルなどを読み込んで使用することを「インクルード」と言います。
ソースコードの中でよく必要になる汎用的な関数や定数宣言などを機能ごとにファイルにまとめておき、必要に応じてインクルードすることで、ソースファイルの役割分担がはっきりしたり、1つ1つのソースファイルの中身をすっきりさせることができるんですね。

input int MagicNumber = 37858260; //マジックナンバー 他のEAと当らない値を使用する。
input int MaxPosition = 1;        //最大ポジション数
input double SpreadFilter = 2;    //最大スプレット値(PIPS)
// トレード補助クラス
CTradingWrapper m_wrapper(Symbol(), MagicNumber, MaxPosition, SpreadFilter);
上はインジケータでも出てきた入力パラメータですね。
下が、たびたび話に出てきた注文クラスの宣言と、同時にインスタンスを生成しています。
インスタンスとは実体のことですが、クラスやインスタンスについては別に説明したいと思います。

余談ですが、今までずっと注文クラスと書いてきましたが、コメントはトレード補助クラスとなっていて統一性がないですね。すいません^^;

注文クラス生成の引数は以下の通りです。
・string symbol
  通貨ペア。Symbol()関数は、現在の通貨ペアを返します。
  Symbol()関数
・int magicNumber
  識別(マジック)番号。EAごとに異なる番号を指定します。
・int maxPosition
  最大ポジション数。保有ポジション数がこの数を超えるようになる取引はしない。
・double spreadFilter
  最大スプレッド値。この値よりもスプレッドが大きい場合は取引しない。

この引数に、入力パラメータを使用しています。
例えば最大ポジション数ですが、このEAの場合は必ず1ポジションしか持たないようにしているのでいくつを指定しても同じなんですが、この辺はパラメータとしておいたほうが何かと使いやすいので、こういうものとしておいていいと思います。

では、取引に関する部分を説明していきます。
取引の内容はOnTick()内に記述します。
OnTick()は、価格の更新がある度に呼ばれる関数です。

   string symbol = Symbol();
   static ENUM_TIMEFRAMES target = PERIOD_H1;
   static datetime before = 0;

   // 1時間の確定足でのみ動作
   datetime current = iTime(symbol, target, 0);   
   if( before == current )
   {
      return ;
   }
   before = current;
最初のこの部分は、1時間足が確定し、次の1時間足の形成が始まった時にのみ処理を行うための記述です。

ここで使用しているiTime()関数は、足の形成開始時刻を取得する関数です。
iTime()関数の引数は以下の通りです。
・string symbol
  足の形成開始時刻を取得したい通貨ペア名。
・int timeframe
  足の形成開始時刻を取得する時間軸。時間軸は、以下のように定義されています。
  ENUM_TIMEFRAMES列挙型
・int shift
  形成開始時刻を取得したい足の位置。(0~)
  現在形成中の足の場合は0、1本前の場合は1、2本前の場合は2、となります。

このコードでは、時間軸を1時間とし、足の形成開始時刻が前回から変わるまでは処理をせず終了してしまいます。そのため、1時間おきの足の形成が始まった時のみにその後の処理を行います。
このEAでは足の確定時で十分なのでこうしていますが、EAによっては足の形成中でも処理を行う必要があると思いますので、必ず必要な記述ではありません。

   counter++;
   if ( counter < 5 )
   {
      // 5本に1回しか処理しない
      return;
   }   
   // カウンターをリセット
   counter = 0;
ここでは、1時間に1回の処理をさらに5回に1回のみ処理するようにして、5時間ごとに取引をするようにしています。
結果を分かりやすくするために5時間ごとにしただけなので、特に意味はありません。

   m_wrapper.RefreshPositions();
これは注文クラス独自の処理です。
注文クラスが管理している保有中ポジションのリストを最新の状態に更新しています。
ストップロスや利益確定などで自動的にポジション決済などが行われることがありますので、OnTick()で処理を行う前には必ずこれを呼ぶというお約束事と思ってください。

さてここからがやっと実際に取引するコードになるんですが、長くなってしまったので次回にしたいと思います。
実際の取引以外のところはサッと書いて終わろうと思ったのに、思ったよりも長々と書いてしまいました^^;

次の回へ


「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2016年4月26日火曜日

[Gewinn7]Gewinn7 EURUSDをバージョンアップしました。

FX-ON(OANDAデモ口座)と、OANDAプロ口座にてフォワードテスト中のGewinn7について、V1.8にバージョンアップをしました。

バックテスト結果は次の通りです。

■Alpari 2007-2015 Gewinn7バックテスト

通貨ペアEURUSD (Euro vs US Dollar)
期間5分足(M5) 2007.01.02 08:00 - 2015.12.30 23:55 (2007.01.01 - 2015.12.31)
モデル全ティック (利用可能な最小時間枠による最も正確な方法)
パラメーターMagicNumber=55357260; TestGmt=2; IsCountdong=false; SpreadFilter=5; Lot=0.02; PermitSlip=2; MaxPosition=22; Comment="Gewinn7 EURUSD"; IsCompund=false; BaseRiskP=1; EnableNewPosition=true;
テストバー数666103モデルティック数106135364モデリング品質90.00%
不整合チャートエラー0
初期証拠金10000.00スプレッド15
純益13710.07総利益29392.62総損失-15682.55
プロフィットファクタ1.87期待利得3.94
絶対ドローダウン48.42最大ドローダウン683.85 (3.33%)相対ドローダウン4.83% (679.27)
総取引数3484売りポジション(勝率%)1834 (74.43%)買いポジション(勝率%)1650 (79.39%)
勝率(%)2675 (76.78%)負率 (%)809 (23.22%)
最大勝トレード80.23敗トレード-40.51
平均勝トレード10.99敗トレード-19.39
最大連勝(金額)63 (686.73)連敗(金額)15 (-182.64)
最大連勝(トレード数)847.19 (20)連敗(トレード数)-337.30 (10)
平均連勝9連敗3


Alpariのバックテストでは、それほど大きく変わっていません。
Gewinn7では、相場の動きを見るためにTick更新回数を見ていますが、Tick更新回数の差によって内部で使用してるインジケータの計算値が異なってしまう症状を解消するために、パラメータとロジックを修正しました。

■Gewnn7のOANDAプロ リアル口座でのフォワードテスト
 | fx-on.com


4/17~4/18にかけて、Gewinn7は売りポジションを貯めていますが、OANDAのフォワードでは、4/19にすべて損切決済されてしまいました。
しかしAlpari側のデータでは、ここは一部損切にとどまり、そのあとの下落局面での少額利益確定となります。
そのあたりの差を埋めるために損切パラメータなどを全体に影響がない範囲で幅を持たせるように調整しました。

FX-ONのフォワードでは、散々なチャートになってしまっていますね。4/21に売りポジション→4/22に決済という玉がFX-ONフォワードでは、全く表れていません。
そのタイミングにV1.7をリリースしたため、たぶん動作を止めていたのだと推測されます。

変化率分散バンドと平均足を利用したトレンドフォロー型EA
Gewinn7(EURUSD)
Gewinn7(EURUSD) | fx-on.com


大体怪しそうなところは埋めたと思われるため、Gewinn7はなるべく放置して結果を見ていきたいと思います。

いまは、チャートに対してエッジ検出をかけて、エッジ位置によるトレンド/レンジ判定ができないかどうかを検討しています。Gewinn7の苦手な相場状況に対する対策となれば、二つを組み合わせることにより、より強固なEAになればよいかな?と考えています。

あと、5月から本業のほうが本格的に忙しくなるため、ブログの更新頻度が下がるかもしれません。

「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2016年4月25日月曜日

[MQL超入門] その016 とりあえずやってみよう!簡単EA作成3

EAの確認は、バックテストと呼ばれるもので行います。
バックテストとは、過去のチャートを元に自分のトレード手法が機能するかを確かめるものです。

ではMT4でバックテストをしてみましょう。

まず、メニューの[表示(V)]から[ストラテジーテスター(r)]をクリックし、ストラテジーテスターを表示します。
・図016.01 ストラテジーテスターの表示

[エキスパートアドバイザ]にコンパイル済みのEAが表示されるので、今回作った[テスト]-[Sample1.ex4]を選択します。
・図016.02 EAの選択

以下の条件を入力し、[スタート]をクリックします。
 ・通貨ペア:EURUSD
 ・モデル:コントロールポイント
 ・期間を指定:2015.01.01 ~ 2015.12.31
 ・期間:H1
 ・スプレッド:現在値

・図016.03 バックテスト開始

[スタート]の文字が[ストップ]に変わったら、完了までしばらく待ちます。
緑色のバーが右端まで到達して、[ストップ]の文字が[スタート]に戻ったら完了です。
完了したら、[チャートを開く]をクリックします。
・図016.04 チャートを開く

過去のチャートが表示され、その上に取引のタイミングが表示されます。
・図016.05 チャートの確認
右向きの青い矢印が買い注文、赤い矢印が売り注文で、左向きの黄色い三角が決済です。
プログラムした通りに、5時間おきに取引を繰り返しています。

ストラテジーテスターの[結果]タブで取引の詳細を見ることもできます。
・図016.06 ストラテジーテスター 結果
こちらで見ても5時間おきに取引を繰り返していることが確認できます。

では気になる成績を見てみましょう。
ストラテジーテスターの[グラフ]タブをクリックします。
・図016.07 ストラテジーテスター グラフ

パッと見よくない結果ですね。残高が減っています。
もう少し詳細を見てみましょう。ストラテジーテスターの[レポート]タブをクリックします。
・図016.08 ストラテジーテスター レポート

ここでは各項目の意味までは説明しませんが、例えば[純益]がマイナスになっていますし、[プロフィットファクタ]も1未満ですので、良くない成績であることが分かります。

このように、作成したEAの成績を確認することができます。

まずは適当に売り買いするだけのEAを作成して手順を説明しました。
次からは本格的に意味のあるEAを作っていきたいと思います。

次の回へ


「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。