2015年06月27日

今週のブレイクスキャルシステム(6/22-6/27)

【前置き】
私がFX-ON様で出品させて頂いているMT4専用の自動売買EA、「ブレイクスキャルシステム」ですが、スキャル系のEAのためフォワードテストの重要性が高いところと、建値ストップ機能の実用性検証などといった情報の配信目的で、私が運営している実口座での情報を公開していく試みを行っております。
#以下画像クリックでリンク先ページに飛べます。

-----
ブレイクアウトの瞬間を掠め取る!!ヒットアンドアウェイのスキャルシステムです。
ブレイクスキャルシステム
ブレイクスキャルシステム | fx-on.com
-----

使用環境や設定値等については、[こちら](クリックで記事に飛べます)を御覧ください。

ということで、少し早いですが今週分の更新です。
今週の成績はこんな感じでした。

※From 2015/4/13※
通貨ペアLot数ロング+ショート口座
建値StopModeあり建値StopModeなし
今週トータル今週トータル
USD/JPY0.05+635円−1,073円+1,580円+2,875円
EUR/USD0.05+331円−714円−2,845円+1,170円
GBP/USD0.03−1,914円+1,777円−924円+8,028円

ドル円は復調気味ですが、ポンドルがここのところかなり調子を落としてしまっています。

ユーロは引き続き大きく揺さぶられる相場なので、建値ストップが良く効いているという状況です。
トータルで言うと今週も若干のマイナスとなってしまいました。
今週もユーロドルであったのですが、利確しているはずがめちゃくちゃ滑って損失終了という状況に陥るパターンが見られました。スプレッドの急激な開きが原因なのか、オアンダは時々こうやって投資家側に呑ませることを仕掛けてくることがあるので油断できませんね。どこの業者もそうなのかもしれませんが。

ということで、ブレイクスキャルシステムを引き続きよろしくお願いします。
-----
ブレイクアウトの瞬間を掠め取る!!ヒットアンドアウェイのスキャルシステムです。
ブレイクスキャルシステム
ブレイクスキャルシステム | fx-on.com
-----

以上です。
posted by しがないあらさー at 04:33 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
2015年06月26日

EA作成における関数化のススメ

MT4を使ってFXの自動売買をされる方の中には、自分でEAを作成して動かすという方もいらっしゃるかと思います。

しかしこのEA作成作業、手書きでプログラムしていくとかなり時間を要する上に、デバッグ作業もかなり大変です。EAを作るたびにこの作業をするのは非常に大変で、その上、EAなんてのは10個作って1個良ければいいというくらいのシロモノですので、2〜3個作ってダメだと、もう投げ出してしまう方も多いかと思います。

#今回の記事は、そんな方への内容となります。やってる人にとっては至極当たり前の話なので、「そんなのわかっとるわ!」という方は特に見なくてもいいかもしれませんw

EAと言うのはかなり複雑な処理をしているように見えますが、実は基本ロジックはそんなに差分はないのです。

基本フローとしては、

@ポジシションがない場合、エントリーの判定を行う
 →エントリー可と判断したら、実際に新規注文を入れる
Aポジションがある場合、イクジットの判定を行う
 →イクジット対象と判断したら、決済注文を入れる
Bポジションがある場合、トレイリングの判定を行う
 →トレイリング条件を満たしたら、トレイリングを行う

実はこれだけなんです(実際にはこれにフェールセーフの処理などが入ってきますが)。

EAごとに違うのって、基本的には判定ロジックの違いだけなんですね。
#ポジション数が複数だったり、成り行き系ではなく指値系のEAになるともう少し複雑な状態管理も必要になりますが、本記事の本旨ではないのでとりあえずおいておきます。

つまり、何が言いたいかというと・・・「判定部分以外はテンプレートで関数化してしまえばいい」のです!!

例えば、私が築き上げてきたEAのテンプレートはこんな感じです。

int OnInit()
{
//初期化関数
UnitPip = MakePips(); // 業者ごとの桁数を補正して共通化
if (InitFunction()) return(INIT_SUCCEEDED); // グローバル変数の初期化など
else return(INIT_FAILED); // 初期化失敗の場合はTickを動かさない
}

void OnTick()
{
bool ordersuccess; //注文が通ったかどうか

//管理外のポジションがあったら強制決済させるフェールセーフ処理
if (!OutOfStatePositionCheck(MagicNo)) return;

//ポジションがTP/SLに掛かっていたらポジション未保有のステートに遷移
if (position && isOrderStopped(Ticket)){
position = false;
return;
}

//トレイリング条件を満たしていたら実施
Trailing(trailpips);

//足が確定していない場合はこの先に進まない
if (!NewFoot()) return;

//エントリー条件
if (!position){
if (買い条件){
Ticket = MakeOrder(OP_BUY, SL, TP);
if (Ticket != -1) position = true;
}
else if (売り条件){
Ticket = MakeOrder(OP_BUY, SL, TP);
if (Ticket != -1) position = true;
}
}
//イクジット条件
else{
if (買い決済条件){
ordersuccess = CloseOrder(OP_BUY);
if (ordersuccess) position = false;
}
else if (売り決済条件){
ordersuccess = CloseOrder(OP_SELL);
if (ordersuccess) position = false;
}
}
return;
}


MakePips、OutOfStatePositionCheck、isOrderStopped、Trailing、NewFoot、MakeOrder、CloseOrder関数はどれも汎用性があるように作りこんでおり、基本的にはコード内にペタペタするだけで使えてしまいます(InitFunctionはEAによってちょっと書き換えますが)。

ここまで作りこんでおくと、新たにEAを作る際には条件のところだけ追加するだけでよく、非常に簡単です。
また、すでに実績のあるコードがほとんどになるので、デバッグの必要性もあまり出てこないという嬉しさもあります(デバッグ作業がコーディングのほとんどを占めますからね・・・)。

ということで、EAの関数化について、基本的ですが記事にしてみました。
いや、そんなのできないよ・・・という方には、以下の様なEA作成ツールを使用することをオススメします。

ここで紹介する「EAつくーる」は、ビジュアル的に簡単にEAを作ることができます。
また、出てきたコードについてもかなりちゃんと関数化されている上に、それぞれコメントでしっかりと内容が説明されており、テンプレート作成という意味でも非常に有用なツールだと思います。

月額かかるというところにコスト感を感じる方もいらっしゃると思いますが、そこで上記の関数の考え方を取り入れると良いのです。
つまり、これを使って関数テンプレートさえ作ってしまえば、あとはちょっとした勉強でこれが要らなくなるわけです。つまり、1月分だけ購入してテンプレートを作りこんでしまえばいいわけですね。

ということで、興味がある方はこの「EAつくーる」を見てみてください。

MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!
EAつくーる【定期購入版】
EAつくーる【定期購入版】 | fx-on.com

EAつくーる【定期購入版】
EAつくーる【定期購入版】 | fx-on.com

以上です。
タグ:EA MT4
posted by しがないあらさー at 04:31 | Comment(0) | TrackBack(0) | MT4 | このブログの読者になる | 更新情報をチェックする
2015年06月24日

本日のポジポジ病口座取引結果(6/23)

本日のポジポジ病口座成績です。
今日もドル円が比較的入りやすそうだったのでやってみました。

ポジポジ病口座のコンセプトはこちらをご覧ください。

ということで、結果です。

【結果】
・USD/JPY:+57.8pips(+1,196円)(取引回数2回)

1回ナンピンの分割エントリーを試してみました。
1つのLotは小さいですが、両方のポジションでしっかり利確でき、なかなかの結果だったと思います。

以上です。
タグ:FX 取引日記
posted by しがないあらさー at 01:15 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
ゼニカル
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。