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

【検証 既存戦略5分足】027-Hammer


5分足_027-1


5分足_027-2


なしなしパターンです。

【検証 既存戦略5分足】026-Golden_Dead Cross


5分足_026-1

マイナスの結果です。


5分足_026-2

大分ましになりますがまだマイナスです。


5分足_026-3

過剰最適化ではなさそうですが、どっちでもいいような結果ですね。


【検証 既存戦略5分足】025-Golden_Dead Cross


5分足_025-1

取引ありですがマイナスです。


5分足_025-2

最適化の結果です。

売取引でかろうじでプラスになっています。


5分足_025-3

全てマイナスですが損益のグラフはなだらかになりそうです。

【解析】073-Volume Oscillator

既存戦略の検証で優秀な結果を残してくれた

073-Volume Oscillatorのソースコードを見てみたいと思います。


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

Input : shortPeriod(5), longPeriod(20) ;
Var : value(0) ;

value = OSCV(shortPeriod, longPeriod) ;

## 買/売決済
If CrossUP(value, 0) Then
{
Buy();
}

## 売/買決済
If CrossDown(value, 0) Then
{
Sell();
}

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


OSCV()関数がキーになっています。

結果に対して0を上抜けすれば買い、下抜けすれば売りです。


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

/* Description : (Osc)illator (V)olume
*
* Provided By : YesStock Inc. (c) Copyright 2006
* E-Mail : webmaster@yesstock.com
*/

Input : shortPeriod(NumericSimple), longPeriod(NumericSimple);
Var : value1(0), value2(0);

value1 = ma(V, shortPeriod);
value2 = ma(V, longPeriod);

OSCV = (value1 - value2) / value1 * 100;

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


OSCV()関数です。

Vの単純移動平均を2期間で取っています。


shortPeriod < longPeriodとなるような引数を渡します。

(073-Volume Oscillatorのコードでは5日、20日を渡しています)


VはVolumeのことなので出来高ですね。

(ぱっと見て判らなかったらマニュアルP75で確認できます)


結果は

 (短期の移動平均 - 長期の移動平均) ÷ 短期の移動平均 × 100

で算出した結果となります。



この戦略の解説をしてほしいというのがありましたら、コメントお願いします。


【検証 既存戦略5分足】024-Evening Star


5分足_024-1


5分足_024-2

なしなしパターンです。


【検証 既存戦略5分足】023-EOM


5分足_023-1

久々に取引がある戦略です。

大きなマイナスです。


5分足_023-2

最適化してもマイナスです。

1年半で1000回というのは結構な取引回数なので

もう少し絞ればいいのかもしれませんね。



【検証 既存戦略5分足】022-Engulfing(Bullish)


5分足_022-1


5分足_022-2

コレもなしなしです。

【検証 既存戦略5分足】021-Engulfing


5分足_021-1


5分足_021-2

なしなしパターンです。

【解析】039-MACD 基準線

MACD 基準線のソースコードを見てみたいと思います。


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

Input : shortPeriod(12), longPeriod(26);
Var : value(0);

value = MACD(shortPeriod, longPeriod);

# 買い/売り)決算
If CrossUP(value, 0) Then
{
Buy();
}

# 売り)/買い決算
If CrossDown(value, 0) Then
{
Sell();
}

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


3行目のMACD()関数の結果が重要になってきます。

結果が0を上抜きすれば買い、下抜きすれば売りになります。


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

/* Description : (M)oving (A)verage (C)onvergence/(D)ivergence
*
* Provided By : YesStock Inc. (c) Copyright 2006
* E-Mail : webmaster@yesstock.com
*/

Input : shortPeriod(NumericSimple), longPeriod(NumericSimple);

MACD = ema(C, shortPeriod) - ema(C, longPeriod);

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


MACD()関数です。

行っていることは

 終値のX日指数移動平均 - 終値のY日指数移動平均

を算出しているだけです。


X日、Y日については任意の日付を入力することができますが、

MACDの定義上はX<Y(よくあるパターンではX12日、Y26日)となります。



私はプログラミングで飯を食ってる部分があるので

それほど難しいと思わないのですが、

これをご覧になっている読者の方がどのように感じるのか知りたいです。


是非コメントをお願いします。



【検証 既存戦略5分足】020-DMI Bullish


5分足_020-1


5分足_020-2


これもなしなし。