PREV | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

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

| スポンサー広告 | --時--分 | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

トレイリングプログラム(イエスランゲージ練習問題)

プロパティ画面でのトレイリングストップやYeslanguageエディターにあるSetStopTrailing関数に依らないトレイリングストッププログラムの書き方を習いました。



/*■課題6 トレイリングプログラム

 --- プログラム -------------------------------------------------------
 ・前提1:戦略プログラムで作成してください
 ・前提2:日経225Largeの日足チャートを利用します。

 【買い条件】
 ・条件1:20日移動平均線を終値ベースで上抜いた時
 ・条件2:ポジションを保有していない時
→ 次のBarの始値で成行を実行してください

 【決済条件:損失確定】
 ・条件1:買いポジションを保有している時
 ・条件2:終値確定時、エントリー価格と比べて、300円以上価格が安い時
→ 次のBarの始値で成行を実行してください

 【決済条件:トレイリングストップ】
 ・条件1:買いポジションを保有している時
 ・条件2:終値確定時、エントリー価格と比べて、終値が上昇した時、損失確定ポイント(300円幅)を引き上げてください

  ロスカットは一方向にのみ動きます。

 ------------------------------------------------------------------------*/
Input: Stop_Loss(300); //ストップ幅
Var: Peak_Line(0); //トレイリングストップを計算する上でのピークライン

/*
ポジションの無い時&直前は現値が20日線を下回っていたが、現在は上回ったら買い。
変数Peak_Lineにはエントリープライスを代入。
*/
If MarketPosition == 0 and Ma(close,20)[1] > Close[1] and Ma(close,20) < C Then
begin
Buy("Long", AtMarket);
Peak_Line = EntryPrice(0);
end;

/*
買いポジションがある時、現値がピークラインを上回った場合、
ピークラインには現値を代入し更新する。
*/
If MarketPosition == 1 and Peak_Line < Close then
Peak_Line = Close;

/*
買いポジションがある時、現値がピークライン-Stop_Loss値を
下回ったら、売り決済を行う。
*/
If MarketPosition == 1 and Peak_Line - Stop_Loss > C Then
begin
ExitLong("Trailing_Stop");
end;

/*
ロスカットオーダー。
買いポジションがある時、現値がエントリープライス-Stop_Lossを
下回ったら、売り決済を行う。
*/
If MarketPosition == 1 and EntryPrice(0) - Stop_Loss > C Then
ExitLong("Loss", AtMarket);
###########################################

シストレブログランキング

日経225ブログランキング
スポンサーサイト

| シストレ講習 | 12時50分 | comments:0 | trackbacks:0 | TOP↑















非公開コメント

http://systemtradeindex.blog27.fc2.com/tb.php/40-f6fc10ac

PREV | PAGE-SELECT | NEXT

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