ガリレオ   ニュートン    コペルニクス   ガ+ニ ガ+コ 全部
2009年1月16日 -130   40 -130 -90 -90
2009年1月19日   30 -40 30 -40 -10
2009年1月20日   -40 -90 -40 -90 -130
2009年1月21日 0 40 80 40 80 120
2009年1月22日 130 -120 120 10 250 130
2009年1月23日   10 40 10 40 50
2009年1月26日 -80   -120 -80 -200 -200
2009年1月27日   150 -120 150 -120 30
2009年1月28日 60 -150 -120 -90 -60 -210
2009年1月29日 10 -150 30 -140 40 -110
2009年1月30日   -10 70 -10 70 60
2009年2月2日   -60 40 -60 40 -20
2009年2月3日 -130 -180 -160 -310 -290 -470
2009年2月4日   70 180 70 180 250
2009年2月5日 50   40 50 90 90
2009年2月6日 0 20 -120 20 -120 -100
2009年2月9日 100 110 -120 210 -20 90
2009年2月10日   40 90 40 90 130

グッド・シグナル社で販売している自動売買ソフトについて、取引実績が公開されていますので

一覧表にしてみました。

一番ストレスなく自動売買を続けられるのは、今のところガリレオ単独で運用した場合のようです。


データが公開されている限り、注視していこうと思います。

千里の道も一歩から。こつこつとプログラミングの勉強を進めましょう。


今日は、002-終値パラボリック です。


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

Input : af(0.02), maxAF(0.2) ;
Var : value(0);

value = csar(af,maxAF);

# 買い/売り)決算
If C > value Then
{
Buy();
}

# 売り)/買い決算
If C < value Then
{
Sell();
}

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


今日のプログラムは単純です。

ユーザ関数csarの機能の理解に尽きると思います。


関数csarは、SAR(ストップ アンド リバースポイント)を計算しています。

終値がSARを越えたら買い、下回ったら売り、ということです。

(計算方法)
SAR = 前日のSAR + AF × (EP - 前日のSAR)

EP(Extreme Point):最初に買いポジションの時は最高値を用い、その後ポジションが

変わらない限り最高値が更新されればEPも更新されます。

逆に最初に売りポジションの時は最安値を用いて、これが更新

されればEPも更新されます。


AF(Acceleration Factor):初期値は0.02でEPが更新される毎に0.02ずつ加算されますが、

0.2を超えることはありません。

システムトレーダーは相場師ではない。

だから、マーケットが動いている最中に腕前を発揮しようとはしないし

してはならない。


勝負するのは、有効な売買ルールを構築するところ。

だから、マーケットへの参加は、単に市場から現金を回収する作業に過ぎない。

私はトレイダーズ証券のTRADE STADIUMを使っています。

これに用意されているシステムトレード戦略75個を教材に

システムトレード・プログラミングの勉強をしていきましょう。


今日は(001-乖離率)


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

Input : Period(20), LPercent(98), SPercent(106);
Var : value(0);

value = Disparity(Period) ;

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

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

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


Input : ~ 宣言文(外部変数を宣言)

 Period(20) 外生変数Periodを基本値20に指定

 LPercent(98) 外生変数LPercentを基本値98に指定(Lはロングの意か)

 SPercent(106) 外生変数SPercentを基本値106に指定(Sはショートの意か)


Var : ~ 宣言文(内部変数を宣言)

 value(0) 変数valueを基本値0に指定


次に出てくるDisparityはユーザー関数で、その内容は次の通り。

Input : Period(Numeric);

Disparity = C / ma(C, Period) * 100;

大文字Cは対象とする足の終値。

maは分析関数である。Cが日足終値ならば

ma(C, 5)が5日移動平均、ma(C, 20)が20日移動平均。

つまりDisparityは、現在の終値が20本の足の移動平均から見て

何パーセントの位置にいるか、を示している。


CrossUp 分析関数(上向き突破) valueがLPercentを上抜けたところでアクション(買)

CrossDown 分析関数(下向き突破) valueがSPercentを下抜けたところでアクション(売)




良いフレーズからは、折にふれて見返すことで気づきを得られます。

情報収集した中で得たフレーズを「フレーズ学習」として記していきます。


過去データを分析して、統計的に明らかな優位性のある売買ルールを見出したら、

後はひたすら無心にシステムの指示通りの売買を行うこと。

勝手な中断をしてはならない。


コンピュータ以上の自己規律をもって売買できる人間はいない。

寄付き前にシステムを立ち上げたら、後は大引けまでコンピュータに任せ、

何もしないこと。


人間心理的に明らかにありえないトレードが最良のトレードであることが、

過去のデータを分析すると、よくある。

大多数の人間がとらない(とれない)トレードなので、大きな利益になるわけだ。

だからその時々の感でトレードすることは避けなければならない。