2015年11月13日金曜日

Gewinn6 フォワードテスト開始

みんなのMT4ブログパーツで公開している成績をGewinn2からGewinn6に変更しました。

TEMA平均足、Wavelet周期解析を利用したEAとなります。

まずテストということで、とりあえず0.01ロットのテスト運用を開始しています。

結果的な特徴としては、トレンドが弱いときの振幅を狙った逆張り、もしくは押し目タイミングを狙っ
たEAとなっています。

大雑把なアルゴリズムとしては、下記のようになっています。
・Wavelet周期解析で期間の高値安値のラインに価格が近づいた場合、反転が近い。
・Wavelet位相解析で非トレンド状態もしくはラインクロスが近い場合はさらに反転が近い。
・TEMA平均足にて方向が逆転したことを確認してエントリー

ポジションは下記のアルゴリズムで管理します。
・400pipsを超える利益があった。
・前回高値/安値のリミットに引っかかった。(最小リミット75pips 最大リミット200pips)
・反転する売買シグナルが発生した。
・35pips以上含み益が発生した場合は+5pipsにリミットを移動
・ATRの7倍を超える利益がある場合は、トレイリング開始

EURUSD1時間足をベースに15分足を見てエントリーします。

最大60時間(市場オープンの合計時間 週末をはさんだ場合は、休み間はカウントしません)ポジションを保持するスイングトレード型となっています。

1ポジションを保持して、両建ては行いません。

ここ5年に着目しEAを作成しています。5年より前はほぼ横ばいとなります。これは周期振幅が5年より前は64~128本で発生することが多いのですが、ここ5年は20本~64本と細かい振幅でEURUSDが動いているためです。広い範囲の周期を判定しようとすると精度が落ちるため、あえて64本までの判定に抑えて5年より前を切り捨てています。

時間的なフィルタはアメリカ時間終了~日本時間開始1時間前まで新規ポジションをとらないフィルタのみです。あとは雇用統計等、重要指標発表時も含めてポジションをとります。

Gewinn2が勝率が低い玉を大きくとるEAだったため、細かく負けて見た目的によくありません。そこでGewinn6では、Wavelet解析とTEMA平均足でタイミングを絞って勝率を上げることを目標に開発しました。Gewinn2と比較すると取引回数は減っていますが勝トレード数はほとんど減っていません。

リミットを設定して損切を行うという点はポリシーとして貫いています。

現在、複利機能は無効化しています。フォワードテストで成績を残せるようなら、FX-ON様にいったんリリースしてたいと思います。
リリース後様子をみて複利機能の追加等を行います。

また、考え方を逆にするとトレンドフォロー型の双子EAが出来上がるはずです。こちらもおいおい開発したいと思います。二つセットで運用すれば、どんな相場でもうはうは!を目指します(^^

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

Gewinn6バックテスト 2010.01.04 00:00 - 2015.10.29 23:59での実績は次の通りです。


2015年11月12日木曜日

[雑記]MQL5.comにMT4むけインジケータを登録してみました。

MQL5.com/jaの開設記念?にブログで公開しているTEMABBを登録してみました。

https://www.mql5.com/ja/code/14059

MQL5.comのパブリケーションタブ→コードをシェアするで登録が可能です。
コードを登録するとMQL5.comにて公開されます。

ブログへの導線になればいいなぁというのと、一度自分のコードをデモレーターさんにチェックしてもらおうと思いやってみました。

登録したところ、デモレーターさんからの英文で
Please write the description in Japanese if you want to publish the code in the Japanese section of the website. Alternatively, you can create the same code in the English section (https://www.mql5.com/en/code) to publish it there.
Screenshots should be made with white background ("Black On White" color scheme).
とチェックした結果をいただきました。
もしも日本セクションで公開したいなら日本語で説明書いてね、英語で公開したいならwww.mql5.com/enで公開してねってことらしいです。あと白背景にして。とお願いされました。

ガイドラインの、
    インディケーターやグラフィカルオブジェクトを含んだパブリッシュ予定のチャートは黒白のスキームで作成されなければいけません: 黒と白のキャンドルスティックや白を背景とした黒のバー。これを使えば読者はスクリーンから直接画像をプリントアウトすることができます。
という中で、黒と白のキャンドルで白背景にしなくちゃいけない件を見逃していました。
あと、前回読んだガイドラインで、説明は英語にしなさいという風に書かれていたと思ったのですが、どうもMQL5.com/jaで公開する場合は、日本語の説明文でよいようです。見直してみたのですが説明文を英語にしなさいとは書かれいませんでした。ソースコメントと勘違いしたのかなぁ?

修正して再アップロードしたところ、素直に公開が終了しました。
ちゃんとガイドラインを読めってことでした。

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

説明文に関するガイドラインです。相変わらずコード登録で生成されるページにて出てくる文言ですので、MQL5.comより抜粋します。
うーん。固定ページに作ってくれてもいいのにね・・・・>ガイドライン

ソースコードに関するガイドラインは、10日の記事にて抜粋していますので、こちらをご覧ください。
http://mt4program.blogspot.jp/2015/11/mt4_10.html

2015年11月11日水曜日

[販売中インジケータ]予測移動平均ボリンジャーバンドをアップデートいたしました。

FX-ONにてうれしいコメントをいただきました。

だいすけ様
9月末に「予測移動平均ボリンジャーバンドと他2点セット」を購入させてもらいましたカッチャンと申します。
15分足チャートに予測移動平均ボリンジャーバンドと予測移動平均移動平均をセットして、そのクロスをエントリー、±2σ付近をエグジットの順張りとし、
サイクルフェーズの売買カラーサインを±2σ付近からエントリー、予測移動平均線付近でエグジットの逆張りとして使用しています。
デモで検証していますが、なかなかの好成績だと思います。
問題点はチャートに張り付いていなければならないということでして、予測移動平均と予測移動平均移動平均のクロスをEメール発信できるようにならないでしょうか?
お忙しいと思いますが、何とかよろしくお願いします。


有効活用していただきありがとうございます。
アラート機能追加のご要望がありましたので予測移動平均ボリンジャーバンドをアップデートいたしました。

修正点は下記のとおりです。
・予測移動平均移動平均の描画機能を追加しました。
・予測移動平均と予測移動平均移動平均のクロスにてアラートを送出する機能を追加しました。
・特定のσ値を超えた場合アラートを送出する機能を追加しました。
・パラメータ名が日本語になるように修正しました。


こんな感じのメールを送信します。

PredictBolingerBandよりアラートメールを送信しました。

価格が2.100000σを上回りました。 

予測移動平均:1.074185
移動平均移動平均:1.074099

σ2Upper:1.074716
σ1Upper:1.074451
σ1Lower:1.073920
σ2Lower:1.073654

クローズ値:1.074760
チャート時間:2015.11.10 08:00

現在値:1.074760
PC時間:2015.11.10 15:00

パラメータは次の通りです。不明なパラメータ等ありましたらFX-ONのメッセージにてお問い合わせください。

・移動平均期間 = 21;
・標準偏差平均期間 = 21;
・適用価格 = PRICE_MEDIAN;
・σ1ライン シグマ値 = 1;
・σ2ライン シグマ値 = 2;
・移動平均移動平均LWMA期間 = 7;
・予測移動平均起動平均を表示する。 = true;
・σ1ラインを表示する。 = true;
・σ2ラインを表示する。 = true;
・条件に一致した場合、サウンドを鳴らす。= false;
・再生サウンド名 = "alert.wav";
・条件に一致した場合、メールを送信する。 = false;
・確定足をみてアラートを発生する。 = true;
・現在値をみてアラートを発生する。 = false;
・移動平均と移動平均移動平均がクロスした場合アラートを発生する。 = true;
・指定σを超えた場合アラートを発生する。 = true;
・アラート発生σ値 = 2.1;

アラート機能を有効にする場合
・条件に一致した場合、サウンドを鳴らす。
・条件に一致した場合、メールを送信する。

をTrueに変更してください。デフォルトではFalseとなっています。

アラートにてメールを送出するにはMT4の設定が必要ですのでご注意ください。
メニュー→ツール→オプション→E-メールタグ
■SMTPサーバー設定
各入力項目は、ご使用されているプロパイダ様にお問い合わせください。


価格の行き過ぎ、トレンド、周期を確認して相場を制するセット
予測移動平均ボリンジャーバンド、トレンド強度相関、周期分析セット
予測移動平均ボリンジャーバンド、トレンド強度相関、周期分析セット | fx-on.com
ブログランキングにご協力よろしくお願いいたしますm(_ _ )m
にほんブログ村 為替ブログへ
にほんブログ村

2015年11月10日火曜日

[MT4プログラミング]小ネタ 入力パラメータの説明を置き換える。

金曜日と月曜日はブログもお休みいただいて、ちょっと松山まで行ってきました。無事帰ってきました^^
いやー松山いいところですね。ごはんもおいしいし温泉が町中にあって楽しい場所でした。

ということでリフレッシュ?してブログ再開です。

本当に小ネタなのですが、MQLのコメント規約を読むまで気が付いていませんでした・・・。
いままで、自分流儀というか、C#のコーディング規約ベースでコメントを記入していました。


MQL4/5のコーディング規約は正直エレガントさに欠ける!と思っていました・・^^;;;;  しかし、一部さすがにMQL4/5ベースに従うとよいことがあるようです。


で、それが、これ。パラメータのコメントです。 私のいままでコードですと、こんな感じで書いていました。

// 入力パラメータ 移動平均期間
input int MaPeriod = 10;

上記入力の場合のパラメータ設定画面はこんな感じになります。


これがMQL4/5規約ベースで書くと次ような形になります。

規約ではinputパラメータのコメントは行末に記載すると指定されています。 こんな感じです。

input int MaPeriod = 10; // 入力パラメータ 移動平均期間

このように記述すると、コメントが解析されて、パラメータ画面はこのようになります。

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

MQL5.comのページから、コードガイドラインを下記に抜粋します。
ちょっとたどりにくい箇所にあります。っていうかMQL5.comのコード登録時に出てくるガイドラインにしか見当たらないのですが、コード登録時に生成されるURLなのでリンクが作れない・・・・・。