トレイリングストップ2

トレイリングストップ2


前々回の記事トレイリングストップの続きです。

今回は、トレイリングストップを機能させる条件を付け加えたいと思います。

その条件とは、いままでの条件に
ボリンジャーバンドの幅が一定以上になったら、
トレイリングストップを機能させる

といったものをさらに加えたいと思います。


まずは、パラメータとして

extern int BandsPeriod=4;
extern double TrailingStopStartBandsPerBid =1.5;

とします。
これは、ボリンジャーバンドに使う平均移動線の計算期間と
『ボリンジャーバンドの幅が一定以上になったら』というところの
値です。
後にでてきますが今回は『バンド(標準偏差1倍)の上下幅が売値の1.5%になったら』
ということにしました。

次に、計算として

if(OpenPos >0)//ポジション有り
{

の後に

//bandの幅
double BandsWidth = iBands(NULL,0,BandsPeriod,1,0,PRICE_CLOSE,MODE_UPPER,0)
- iBands(NULL,0,BandsPeriod,1,0,PRICE_CLOSE,MODE_LOWER,0);
double BandsPerBid = BandsWidth / Bid * 100;


としてます。
これは、iBands関数を使って、バンドの上下幅を計算し、
変数 BandsWidth に代入。
つぎに、BandsWidth が売値の何パーセントかを計算し、
変数 BandsPerBid に代入。
といった感じです。

最後に、

if(Bid>OrderOpenPrice()+TrailingStopStart && OrderStopLoss()<TrailingStop && BandsPerBid>TrailingStopStartBandsPerBid)


のようにトレイリングストップを機能させる条件文の部分に
&& BandsPerBid>TrailingStopStartBandsPerBid

と付け加えます。

これで、値動きが大きいときだけトレイリングストップを機能させる
といったものになりました!


次回は、ポジションサイジングについてです。にほんブログ村 為替ブログ FX システムトレード派へ

2007年12月 8日|コメント (2)

カテゴリー:EAの作成方法

コメント (2)

慶次さんはじめまして
メタトレーダをしらべていてこのブログをみつけました、これからも楽しみにしています!

たま

投稿者:たま |2007年12月 9日 20:22

たまさん、はじめまして!

ご期待にこたえられるように
がんばります!
更新は、週1回程度とゆっくりなんですが
有益な記事を書いていきたいと思ってますので
よろしくお願いいたします!

投稿者:慶次 |2007年12月10日 08:12

コメントを投稿する

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)






画像の中に見える文字を入力してください。

Captchaの認証で入力ミスがありますと、コメントが消えてしまいますのでご注意ください。
コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。