多通貨分散トラリピで安定運用TOP ≫  トラリピEA開発

トラリピEA開発

FOREX.com Japan 仕様変更によるEA改修のポイント

昨日紹介したとおり、FOREX.com JapanのMT4の仕様が
一部変更され、場合によってはEAを改修する必要があります

今回の変更で、成行注文の場合は注文時にTPやSLを
指定できなくなります

そのため、成行注文をする場合は、TP/SLを指定せずに注文を出し、
約定後に注文修正にてTP/SLを設定するように変更する必要があります


改修が必要かどうかを見極めるには2つ方法があります

まず1つ目は、プログラムを見る方法です。
OrderSend関数を呼んでいるところを検索し、引数を確認してください
6番目がSL、7番目の引数がTPなので、ここにゼロ以外の値を
セットしていたら改修の必要があります


もうひとつの方法はプログラムを見る自信がない方向けです

バックテストを実施し、結果タブを参照してください。
新規ポジションを建てる時にTP/SLが空白になっていて、
その直後にmodifyでTP/SLをセットしていれば、
改修の必要はありません
そうでなく、新規ポジションを建てる時に、同時にTP/SLが
セットされていれば改修の必要があります


さて、前振りが長くなりましたが実際の改修の方法です

まずは、OrderSend関数を呼んでいるところを検索します

sl = hogehoge;
tp = hogehoge;

OrderSend(Symbol(),OP_BUY,lots,Ask,slippage,sl,tp,comment,magic,0,Blue);



サンプルなので適当ですが、大体こんな感じのプログラムになっているでしょう

OrderSend関数の第6引数と第7引数を見ると、少し上で計算したSLとTPが
セットされているので改修が必要とわかります

改修の内容は、SLとTPをゼロで注文して、約定後注文修正するように
しないといけないので、大体こんな感じに修正します

sl = hogehoge;
tp = hogehoge;

int ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slippage,0,0,comment,magic,0,Blue); ・・・@

if(ticket > -1){ ・・・A
if(sl != 0 || tp != 0){
OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(ticket,OrderOpenPrice(),sl,tp,0,CLR_NONE); ・・・B
}
}



まずは、@で一旦TPとSLをゼロで発注します
OrderSend関数は、注文が正常に通ったら、注文番号を返しますのでticketに代入します
(注文がエラーだった時は「-1」が返ります)

そして、Aでticketをチェックし、これが「-1」以上だった場合に
Bの注文の修正処理を行います
ここで、事前に計算等で求めたTPやSLで注文の修正を行います

まぁ大体こんな感じでいけると思いますが、本来はもっとしっかりと
エラーチェックなどをした方がよいでしょう

特にOrderModifyでエラーが発生すると、TPやSLがセットされないまま
進んでしまうのでちょっと危険な状態になってしまいます

相場が激しく動いている時などは、サーバーで注文がはねられて
OrderModifyがエラーになる可能性もありえますので、
エラー時にはリトライ処理をするなどの処理を入れておいた方が
安全だと思います

Order系の関数は、ライブラリ化されたものもいろいろとあるので
そういったものを使うのも良いかもしれませんね

にほんブログ村 為替ブログへ  にほんブログ村 為替ブログ FX トラップトレード派へ  人気ブログランキングへ

お便利ツール+α

ポジション情報&口座情報表示インジケータ
 通貨ペアごとのポジション集計情報と
 口座情報を表示するインジケータ
 【詳しい説明
 【ダウンロード
通貨ペア情報表示インジケータ
 4本値やスワップ値、ポジション情報
 などを表示するインジケータ
 【詳しい説明
 【ダウンロード
FOREX.com Japan
 1000通貨単位で取引可能
 Proスプレッドにすればスプレッドも良好
 フォレックス・ドットコムMT4
Alpari Japan
 1000通貨単位で取引可能
 スプレッドは国内最狭レベルで
 スキャル系EAには最適です
 アルパリ

ナンピンEA

vsだいぱぱ口座で動かしているナンピンEAです

nampinEA.png


通貨ペアはCHFJPYを使用しています
スイスフランは円とともにリスク回避通貨として扱われ
円高のときは大概スイスフランも高くなるため
比較的レンジ性が高いためです

比較的長期のMAからトレンドを判断し、
逆張りでトレンド方向へエントリーします
ナンピン回数は最大5回
ロット数はフィボナッチ数列で増えていきます
ナンピン幅はかなり広めに取ってあり、
ストップロスは10円に設定しています

ナンピン幅とストップロスは長期で放置できることを
目指してかなり広めに取ってあり、一応バックテストでは、
2007/1/1から動かしても破綻せずに動作するようです

ただ、過去はあくまで過去の結果に過ぎず、この手のナンピンEAは
たった一つのエントリーから大ドローダウンに繋がるので、
将来的に安心できるものではありません

もう少しトレード数を増やしたり、フィルターを追加したりも
しようとしていたのですが、どうせ何をやっても破綻するときは
破綻するのだし、ひとつのEAに全てを求めるよりは
タイプの違うEAを複数作ってリスク分散する方が得策だと判断し
ナンピン系はこれでひと段落し、また別のEAを作ってみたいと思います

ただ、そのためにはテクニカルを勉強しないと、EAどころではないのですが(汗
にほんブログ村 為替ブログへ  にほんブログ村 為替ブログ FX トラップトレード派へ  人気ブログランキングへ

SteadyWinner5 考察

Steady Winner5に搭載されている反省モード

直前のトレードが負けトレードの場合に、
最小ロットで打診買いで入ることにより、
相場の状況がSW5に適した状況かどうかを
確認するために搭載されているらしい

SW4では、作者の意図に反して、大きく負けた後に
反省モードで小さく勝ってを繰り返し、
結局負けが嵩んでいった記憶があります

今回は反省モードはエントリーロジックも変えてあるので
有効に効いているのかどうか検証してみました

テストパターンは下記の3パターンで
テスト期間は何れも2010/1/1〜2011/7/4です

1.通常のロジック(撒けたら反省モード)でトレード
2.反省モードのみでトレード
3.勝負ロジックのみでトレード

結果は次の通りです

1.通常パターン
SW5-1.gif

2.反省モードのみ
SW5-2.gif

3.勝負ロジックのみ
SW5-3.gif

反省モードのみの結果を見ると、見事な右肩下がりです
勝率は高いものの、勝ちのほとんどがトレールストップに引っかかっての微益に終わり
たまに発生するSLで大きく負けると言うパターンです

これを見ると反省モードは不要かと思うわけですが、
1.通常パターンと3.勝負ロジックのみを比べると
意外なことに、PF・MDDともに通常ロジックの方が優れています

性能の大きく劣る反省モードを加えても、トータルではPFが上がっている
と言うことは、作者の意図したとおりに小ロットで相場の流れを見極めると言う
反省モードの目的がうまく機能していると言うことでしょうか

にほんブログ村 為替ブログへ  にほんブログ村 為替ブログ FX トラップトレード派へ  人気ブログランキングへ

EA作り

しばらくEA作りから離れていましたが
窮鼠さんmasaruさん仙四郎さんに刺激され
私も再開することにしました

ネタは窮鼠さん式ナンピンスキャルのEA化です
完成までたどり着くかどうかわかりませんがww

まずは、ナンピン周りのフレームワーク作りをします
無料で配布されているソースをベースにしても良いのですが
いろいろ使いにくいので、新たに作り直すことにしました
仕様は、masaruさん作成のFX張良をベースに、
トレード回数を増やすために、売買の管理を分けて両建てを扱えるようにし、
更に後々のトレールを視野に入れて利確の判定をpipsベースで
できるようにします

次にエントリーのロジックを窮鼠さん式ナンピンスキャルに
置き換えて、

最後に、トレーリングストップを含むクローズロジックを組み込みます

と文章に書けば、簡単に見えますが、エントリーやクローズの判断は
窮鼠さんの裁量による部分も大きいだろうし、
上手くいくかどうか良くわかりません
とりあえず、さっと作ってみて、後はバックテストで
最適化するような感じですかね・・・

後、最大の問題が、飽きやすい私のやる気が最後まで続くかどうかw
にほんブログ村 為替ブログへ  にほんブログ村 為替ブログ FX トラップトレード派へ  人気ブログランキングへ

ポジション情報&口座情報表示インジケータ

通貨ペア情報表示インジケータに続く自作インジケータ第二弾です

今回は、通貨ペアごとのポジション集計情報と
口座情報を表示するインジケータです

ViewPositionInfo.jpg

上段に、通貨ペアごとのサマリ情報を表示します
対象の通貨ペアは初期パラメータで10個まで指定できます
 ・targetPairCnt
  表示する通貨ペアの数
 ・targetPair1〜10
  対象の通貨ペア

表示内容は、
左から順に、
 通貨ペア名称、現在値(Bid - Ask)、
 買いのポジション数、平均建値、評価損益、
 売りのポジション数、平均建値、評価損益、
 合計評価損益、合計評価損益(円換算)
となります
※合計評価損益(円換算)は、口座の通貨が円以外の場合のみ表示されます


下段には、口座の証拠金情報が表示されます
 証拠金   証拠金現金
 評価損益  全ポジションの評価損益合計
 有効証拠金 証拠金に評価損益を加味した実質の証拠金
 必要証拠金 現在のポジションに必要な証拠金額
 余剰証拠金 余剰の証拠金(有効証拠金ー必要証拠金)
 維持率   維持率(有効証拠金/必要証拠金)

※こちらも、口座の通貨が円以外の場合は円換算値も表示されます

今回もソースを公開しますので、興味ある方はご自由にお使いください
ViewPositionInfo.mq4



にほんブログ村 為替ブログへ  にほんブログ村 為替ブログ FX トラップトレード派へ  人気ブログランキングへ

通貨ペア情報表示インジケータ

MetaTrader4 はチャートや自動売買には非常に使いやすいのですが
情報参照系の機能はちょっと貧弱だと思います

4本値やスワップ値、通貨毎のポジション情報などを
どうしてもまとめて見たかったので、自分でこれらを表示する
インジケータを作ってみました

ViewMarketInfo.jpg

最上段は当日の4本値になっていて、左から
現在値、前日比、前日比(%)、初値、高値、安値、サーバ時間、ローカル時間、スプレッド

2段目は前日の情報で
終値、前日比、前日比(%)、初値、高値、安値、買スワップ、売スワップ、1ティックあたりの金額

3段目は買いポジションの情報で
ポジション数、平均建値、評価損益、スワップ、合計損益

4段目は売りポジションの情報で
ポジション数、平均建値、評価損益、スワップ、合計損益

となっています


公開しますので、興味ある方はご自由にお使いください
ViewMarketInfo.mq4

ただし、基本的にノーサポートでお願いします
にほんブログ村 為替ブログへ  にほんブログ村 為替ブログ FX トラップトレード派へ  人気ブログランキングへ
Copyright (C) 多通貨分散トラリピで安定運用. All Rights Reserved.
×

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