FX取引ルール確立のために

取引方針が定まらぬ臆病者の外国為替証拠金取引の行方。 取引ルールの柱にテクニカルな売買サインを導入中。システム開発状況を全て公開。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

トレーリングストップCTL

トレーリングストップCTL

ストラテジーにトレーリングストップを組み込むことが可能になりました。
ただし、バックテストには反映されません。
サンプルCTL(下記参照)が英語版の変更説明書に書いてあるのですが、
インストールして実行しても動作しません。

このCTLでは、手仕舞いがトレーリングストップしか有りません。
そのトレーリングストップがバックテストでは機能しないため、
ポジションを持つとそのまま維持されて何も起きない状態になっているようです。
他の手仕舞いの方法を追加するなどの処置をする必要がありそうです。

というわけでexitlong exitshortを組み入れてみました。
ところが新ポジションをとれるようになったものの、
exitlong exitshortで手仕舞いされるとトレーリングストップの注文が取り消されません。
どうやって使うのか検討が必要です。

続きを読む前にクリックよろしく人気blogランキング
positionvolume() = 0 という条件は、「ポジションなし」の意味。
trailing_stop_sell(lots,piptrail) 
これを条件なしで実行させると、
最大ポジション数までバーが切換わるたびに逆指値が注文されます。


(サンプルCTL、このままでは動かない)
strategy TStop_SMA_Example;
input lots = 1, piptrail = 20, smaperiod = 30;
vars sma1(series);
begin

sma1 := SMA(close, smaperiod);
if positionvolume() = 0 and crossup(close, sma1) then begin
buy(lots);
trailing_stop_sell(lots,piptrail);
end;

if positionvolume() = 0 and crossdown(close, sma1) then begin
sell(lots);
trailing_stop_buy(lots,piptrail);
end;
end.

(改善案、でも問題あり)
strategy TStop_SMA_Example;
input lots = 1, piptrail = 20, smaperiod = 30;
vars sma1(series);
begin

sma1 := SMA(close, smaperiod);
if positionvolume() = 0 and crossup(close, sma1) then begin
buy(lots);
trailing_stop_sell(lots,piptrail);
end;

if positionvolume() = 0 and crossdown(close, sma1) then begin
sell(lots);
trailing_stop_buy(lots,piptrail);
end;

if long() and crossdown(close,sma1) then exitlong() ;
if short() and crossup(close,sma1) then exitshort() ;

end.
スポンサーサイト

テーマ:FXでシステムトレード - ジャンル:株式・投資・マネー

コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

  • 2009/05/10(日) 21:58:31 |
  • |
  • #
  • [ 編集]

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

  • 2009/05/14(木) 06:35:22 |
  • |
  • #
  • [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://fxrun.blog55.fc2.com/tb.php/962-1d686c02
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。