勝てば官軍! ~ 日経225システムトレード編 -41ページ目

【実装】BOOMERANGS

http://ameblo.jp/traderssystem/entry-10116812387.html


---------------------------------------------------------

Input : entryPoint(10), maPeriod(50), adxPeriod(14), adxValue(30),
rangePeriod(20), rangeValue(150), rangePrcnt(0.25);


//50日移動平均を上回る
If Close[0] >= Ma(Close, maPeriod) and


//ADXが30以上
ADX(adxPeriod) >= adxValue and


//強いトレンドを示している → どうシステム化する

//株価が5~20日間、狭い値幅で揉み合う
Average(Range(), rangePeriod) <= rangeValue and


//1日目、株価はもみ合いを上に放れる
Close[0] >= Highest(High, rangePeriod)[1] Then {


//2日目か3日目か4日目に1日目の安値からNポイント下で逆指し売り
Sell("SW5001新規売", AtStop, Low[0] - entryPoint);
}


//終値がその日の値幅の25%以下なら翌日までポジションを持ち越す
If MarketPosition == -1 and
Close[0] <= Low[0] + Range() * rangePrcnt Then {

} Else {
ExitShort("SW5001売決済", OnClose);
}

---------------------------------------------------------


実装する際に再定義するにいろいろ解釈ができそうなアイデアです。


「強いトレンドを示している」というのは今回実装していません。

読者の方ならどうされますか?コメントお願いいたします。


「狭い値幅でのもみ合い」については

X日間のレンジの平均がY円以下であると定義しましたが、

期間内の高値と安値の幅としたほうがいいかもしれません。

(そのほうが後で出てくるもみ合いの上ばなれという条件と

つながりがありそうです)



購入予定

【実装】リザーズ

http://ameblo.jp/traderssystem/entry-10116807079.html


---------------------------------------------------------

Input : entryPoint(10), lssPoint(10), rangePrcnt(0.75), lowPeriod(10);


//本日の始値、終値がその日の値幅の75%以上
If Open[0] >= Low[0] + Range() * rangePrcnt and
Close[0] >= Low[0] + Range() * rangePrcnt and


//本日安値が過去10日間の安値
Low[0] == Lowest(Low, lowPeriod) Then {


//翌日、本日高値のNポイント上で逆指し買い
Buy("YB1201新規買", AtStop, High[0] + entryPoint);
}


//買値の1ポイント下で損切り
//ExitLong("YB1201買決済_損切", AtStop, EntryPrice - lssPoint);


//大引けで手仕舞い
ExitLong("YB1201買決済", OnClose);

---------------------------------------------------------


終値(始値)が値幅のXX%以上というアイデアを


安値 + 値幅 × XX%


として実装しています。


安値:13000

高値:13500

値幅の75%


だと


13000 + (13500 - 13000) * 0.75 = 13375


となります。


【実装】ギリガンズ・アイランド

http://ameblo.jp/traderssystem/entry-10116806648.html


----------------------------------------------------

Input : entryPoint(10), rangePrcnt(0.5), lssPoint(10);


//寄り付きで窓を開ける
If Open[0] < Low[1] and


//始値が過去2ヶ月間の安値を更新
Open[0] < Lowest(Low[1], 50) and


//終値は当日の値幅の50%以上
Close[0] >= Low[0] + Range() * rangePrcnt and


//終値>=始値
Close[0] >= Open[0] Then {


//翌日に当日高値のNポイント上で逆指し買い
Buy("YB1301新規買", AtStop, High[0] + entryPoint);
}


//損切りを買値の1ポイント下に置く
//ExitLong("YB1301買決済", AtStop, EntryPrice - lssPoint);


//終値が強気ならポジションを翌日に持ち越す
ExitLong("YB1301買決済", OnClose);

----------------------------------------------------


引けで全決済としています。


過去2ヶ月の安値というアイデアを

前日までの50日間の最安値と実装していますが、

変数化してもいいと思います。


【実装】フップス

http://ameblo.jp/traderssystem/entry-10116804967.html


--------------------------------------------------------

Input : fltrPrice(10), entryPoint(10), shortPeriod(10), longPeriod(50);


//株価は10日移動平均線、50日移動平均線よりも下
If Close[0] < Ma(Close, shortPeriod) and
Close[0] < Ma(Close, longPeriod) and


//前日終値が当日始値よりもNポイント下
Close[0] > Close[1] + fltrPrice Then {


//前日終値のNポイント下で逆指し売り
Sell("YB1401新規売", AtStop, Close[0] - entryPoint);
}


ExitShort("YB1401売決済", OnClose);

--------------------------------------------------------


逆指値で売を入れて大引けで決済する処理にしました。

コメントと実装が異なっていますが当日終値、前日終値を用いています。

分足を使えばアイデアどおりの実装も可能だと思います。


自分用メモ

【実装】ELB

http://ameblo.jp/traderssystem/entry-10116803650.html


-----------------------------------------------------------------

Input : entryPoint(10), profitPrice(50), lssPoint(10);
Var : flgValue(-1);


//1日目、株価は過去60日間の高値
If flgValue == -1 and High[0] == Highest(High, 60) Then {
flgValue = 0;
Value2 = High[0];
Value3 = Low[0];
}


//次の2日間かそれ以上、1日目の高値と安値の間で取引される
If flgValue >= 0 and High[0] <= Value2 and Low[0] >= Value3 Then {
flgValue = flgValue + 1;
} Else {
flgValue = -1;
}


//1日目の値幅内で2日間取引された後、1日目の高値のNポイント上で逆指し買い
//1日目の高値に届く前に安値に届いたら、買い注文を取り消し
If flgValue >= 2 and Low[0] > Value3 Then {
Buy("SW5001新規買", AtStop, Value2 + entryPoint);
}


//買い注文が通れば1ポイント下に損切り注文
ExitLong("SW5001買決済_損切", AtStop, EntryPrice - lssPoint);


//トレーリングストップを活用
SetStopProfittarget(profitPrice, PointStop);

-----------------------------------------------------------------


変数flgValueを用いて処理を制御しています。


flgValueの初期状態は0です。

①1日目の高値が過去60日間高値が等しいとき、flgValueを0にします。

②2日目以降(flgValueが0以上)、1日目の高値と安値の間で取引されているとき、

flgValueを1加算します。

③flgValueが2以上(②が2日以上継続)のとき、買い注文を行います。


ざっと書いたので多少不十分なところがあります。


【実装】リバーサル・ニュー・ハイ・メソッド

http://ameblo.jp/traderssystem/entry-10116515892.html


-----------------------------------------------------

Input : entryPoint(10), profitPrice(50), lssPoint(10),
rangePeriod(5), highPeriod(60);


//前日安値を更新
//前日高値を更新
//(包み足を形成)
If Low[0] <= Low[1] and
High[0] >= High[1] and


//今日の値幅は過去5日間の値幅で最大
NthHighestBar(1, Range(), rangePeriod) == 0 and


//株価は過去60日間の高値を更新
High[0] == Highest(High, highPeriod) Then {


//明日、今日の高値のNポイント上で逆指し買い
Buy("SW5101新規買", AtStop, High[0] + entryPoint);
}


//損切りは買値の1ポイント下
ExitLong("SW5101買決済_損切", AtStop, EntryPrice - lssPoint);


//トレーリングストップを利用(日足で使うときは注意が必要)
SetStopProfittarget(profitPrice, PointStop);

-----------------------------------------------------


包み足⇒当日高値≧前日高値 かつ 当日安値≦前日安値

がスムーズに導き出せれば問題ないと思います。



【実装】Vスラスト

http://ameblo.jp/traderssystem/entry-10116515173.html


-----------------------------------------------------------------

Input : entryPoint(10), shortPeriod(7), longPeriod(60), fltrPoint(300);


//過去7日以内に株価は過去60日間の高値を更新
If High[shortPeriod] == Highest(High[shortPeriod], longPeriod) and


//その後、3日から6日、株価は急激に売り込まれる → どう実装する!
Close[1] < Close[shortPeriod] - fltrPoint and


//前日、株価はその前の日の高値を更新し、V字を形成
High[0] > High[1] Then {


//今日、前日高値のNポイント上で逆指し買い
Buy("SW5701新規買", AtStop, High[0] + entryPoint);
}


//損切りは買値の1ポイント下

//大引けで手仕舞う。ただし、高値圏で引けるならポジションの半分を翌日に持ち越す。

ExitLong("SW5701買決済", OnClose);

-----------------------------------------------------------------


「3日から6日、株価は急激に売り込まれる」というアイデアを

前日終値はX日前終値よりYYY円安い

というように解釈しましたが、ほかにもいろいろと解釈することができると思います。


(例.5日間で一日平均100円下がった)



DVD 青木俊郎さん

DVD システムトレードへの第一歩 ~相場のパターンとルールの見つけかた~/青木俊郎
¥2,793
Amazon.co.jp
聞きながらうとうとしてしまったので書くことないっす