2008年08月03日

2日が2回はやりすぎか。(曜日別&トレンド)

今回は、2日で2回はやりすぎか。の最終回です。勝手に最終回です笑
このシステムは、ほぼ毎日のように仕掛けてしまう、という大きな問題をかかえていました。
なんとかこれを改善できないかということで、以下の2つをフィルターにすることになりました。

・長期トレンド
・曜日

前回は、曜日別のトレード結果の検証を行いました。
今回は、前回もっとも結果がよかった水曜日に、さらに長期のトレンドを考慮したいと思います。

ちなみに前回の結果は下記の通りです。

 全体
総損益(円)1,153.0001,153.00
未決済含み総損益(円)1,153.0001,153.00
総収益(円)2,338.0002,338.00
総損失(円)-1,185.000-1,185.00
期間単価変化(円) -4,150.004,150.00
単価変化対比収益率(%) 1004,695.37
年平均の単価変化(円) -2,602.662,602.66
年平均の損益(円)723.10723.1
総売買回数71071
収益の売買回数36036
損失の売買回数35035
勝率(%)50.7050.7
平均損益(円)16.24016.24
平均損益比1.92不能1.92
最大収益(円)2930293
平均収益(円)64.94064.94
最大連続収益の売買回数505
収益売買の平均足の個数18.83018.83
最大損失(円)-420-42
平均損失(円)-33.860-33.86
最大連続損失の売買回数303
損失売買の平均足個数6.8606.86
最大損失幅(円)-1940-194
補償割合(%)5.94不能5.94
総収益/総損失1.97不能1.97
投資要求金額(円)17,139.00017,139.00
収益率(%)6.7306.73

今回は、長期トレンドとして、日足レベルの10日移動平均を用いたいと思います。
それではさっそく結果を見てみましょう。

 全体
総損益(円)1,093.0001,093.00
未決済含み総損益(円)1,093.0001,093.00
総収益(円)1,601.0001,601.00
総損失(円)-5080-508
期間単価変化(円) -4,150.004,150.00
単価変化対比収益率(%) 1004,445.83
年平均の単価変化(円) -2,602.662,602.66
年平均の損益(円)685.470685.47
総売買回数31031
収益の売買回数17017
損失の売買回数14014
勝率(%)54.84054.84
平均損益(円)35.26035.26
平均損益比2.6不能2.6
最大収益(円)2930293
平均収益(円)94.18094.18
最大連続収益の売買回数505
収益売買の平均足の個数20.12020.12
最大損失(円)-420-42
平均損失(円)-36.290-36.29
最大連続損失の売買回数303
損失売買の平均足個数5.4305.43
最大損失幅(円)-1150-115
補償割合(%)9.5不能9.5
総収益/総損失3.15不能3.15
投資要求金額(円)17,340.00017,340.00
収益率(%)6.306.3

意外や意外、あまり改善の兆しがないように見えます。
しかし、一番改善が見られるのは、トレード回数です。
実に前回の半分になっています。
これにより、平均収益も94.18と大幅アップしています。すごいですね。
ドローダウンも、もともと低かったまま、キープしています。

収益や勝率に改善は見られませんでしたが、効率という面ではかなりの改善が得られました。
これなら一枚でも十分トレードできそうですね◎

ちなみに、このシステムを作ったのは2008年2月です。
構築してから半年ほどたっていますが、うまく機能しているみたいです。

以上で、『2日で2回はやりすぎか。』の検証を終わりたいと思います。
最終的なソースはこちら⇒【戦略】2日で2回はやりすぎか(TDWandTrend)

posted by トレコレ at 12:10| Comment(7) | TrackBack(1) | TRADE STADIUM | このブログの読者になる | 更新情報をチェックする

2008年08月02日

CurrentWeekの解説

前回、公開した自作関数CurrentWeekの解説をしたいと思います。
それではさっそくコードのほうを見てみましょう。

-----ココカラ-----
/*初期設定用変数宣言*/
var:i(36455);

/* TDW */
Var:BaseWeek(0);
var:CW_work(0);
Input:UserDate(Numeric);

/* 今日の曜日を調べる */
BaseWeek = 36455;  /* 36455 = 1999.10.24 (日曜日) */

While UserDate <> JulianToDate(i){ /* 今日の曜日が分かるまで繰り返し */
    i = i+1;
}
CW_work = i; /* この時点でiは今日の日付 */

CurrentWeek = (CW_work - BaseWeek) % 7;  /* 7で割った余りが0=日曜、1=月曜・・・ */
-----ココマデ-----

今回のポイントは、JulianToDate()です。
マニュアルの説明を見ると以下のような解説になっています。

説 明 : Julian Dateを日付に変更します。
ここで使用するJulian dateの基準は 1900年 1月 1日です。
すなわち、 19000101は「0」になります。1日の増加時、1が増加します。

ん〜・・・よくわからないです笑
ただ、関数の名前から『JulianをDateに変換してくれる』ということだけはわかります。
もう少し詳細に説明すると、Julianとは、1900年1月1日を基準(0)に、日付を整数で表したものです。
1900年1月1日=0
1900年1月2日=1
1900年1月3日=2
・・・
という風になっています。

そして、JulianToDate()は、この整数値を日付に変換してくれます。
つまり、JulianToDate(0)=19000101、JulianToDate(1)=19000102となります。

さて、JulianToDateの説明が終わったところで、CurrentWeekの構成に入ります。
CurrentWeekの目的は、『曜日を返す』ということなので、まずはどういう風に曜日を表現しようか、ということになります。
MetaTraderには、もともと曜日をあらわす関数が用意されていまして、そちらでは、0を日曜日として、1が月曜日、2が火曜日・・・
という風に曜日を表現しています。
ですので、こちらでもそのやり方に統一することにしました。

ということは、任意の日曜日を基準として、今日の日付との差分を7で割った余りを求めればよいということになります。
(今日の日付) - (任意の日曜日) % 7
数式は上記のようになります。

基準とする任意の日曜日を1999年10月24日にします。
これは、週足や月足だと1999年11月1日から過去のデータが存在するためです。
そして、1999年10月24日のJulianは36455となります。

あとは、今日の日付のJulianを求めて、36455を引いて7で割るだけです。
今日の日付のJulianの求め方は、ソースコードのWhile文のところです。
Julian関数は、JulianToDate(1)=19000102という構造になっています。
たとえば、今日が2008年8月2日だとすると、JulianToDate(i)=20080802となるまで、iを1ずつ増やしていきます。
そして、JulianToDate(i)=20080802となったときの、iの値が、2008年8月2日のJulianになります。

最後に、求めたiから36455(基準の日曜日)を引いて7で割った余りを出せば、それが曜日となります。

以上が、CurrentWeekの解説になります。
ポイントは、JulianToDateですね。
この関数の使い方が多少やっかいなところさえ乗り越えれば、あとは大丈夫だと思います。

posted by トレコレ at 12:28| Comment(17) | TrackBack(0) | TRADE STADIUM | このブログの読者になる | 更新情報をチェックする

2008年07月29日

2日で2回はやりすぎか(曜日別Ver)

Puufuさんからのありがたいご意見から生まれた曜日別のトレード。
TRADE STADIUMには曜日を返してくれる関数がないということで、前回はそれの作成からスタートしました。
今回は、いよいよ実際のシステムで検証してみたいと思います。

以前ご紹介したシステム【2日で2回はやりすぎか】の曜日別Verを検証してみたいと思います。
前回の検証では、より長期のトレンドをフィルターとしたところまで検証してみました。
今回は、長期のトレンドは考慮せずに、まずは純粋に曜日別でどのような違いが出るのかということを見てみたいと思います。
【2日で2回はやりすぎか】は、後場専門ショート戦略なので、ショートに適した曜日があるのか?疑問に答えることになります。

非常に興味深い結果になりましたので、資産曲線のグラフを順に載せていきます。


【月曜日】
2日で2回はやりすぎか。月曜日

【火曜日】
2日で2回はやりすぎか。火曜日

【水曜日】
2日で2回はやりすぎか。水曜日

【木曜日】
2日で2回はやりすぎか。木曜日

【金曜日】
2日で2回はやりすぎか。金曜日

いかがでしょうか。
水曜日の結果がヤバイですね。
月曜日も使えなくはなさそうです。
こういう風に見てみると、月と水以外はダメそうな感じがしますね。
いろいろな投資本でも水曜日はキーポイントとして出てきますが、やはりおそるべし、です。
ちなみに水曜日の勝率は51%です。長期のトレンドを組み合わせても50%行かなかったのに、すごいですね。

次回は、これにさらに長期の移動平均などを組み合わせてさらなる改善を目指します。
現段階でのソースコードはこちら⇒【戦略】2日で2回はやりすぎか。(TDW)

この研究結果が参考になった!という方は応援クリックお願いします → にほんブログ村

posted by トレコレ at 18:00| Comment(4) | TrackBack(0) | TRADE STADIUM | このブログの読者になる | 更新情報をチェックする

2008年07月28日

曜日ごとのトレードがしたいっ!【改訂版】

【お知らせ】
TRADE STADIUMで曜日を返してくれる関数『CurrentWeek』を作成しましたところ、Dukeさんから『日足チャートは1999年分からデータがある』というありがたいご指摘とともに、修正のコードまでいただきました。
ありがとうございます。
改訂版のコードをページ最下部に追加しておきましたので、前回のコードをもっていかれた方はぜひ、お持ち帰りください◎



よくコメントをくださるPuufuさんから『今あるシステムを曜日別で分けてみてはいかがですか?』というありがたいご指摘をいただきました。
実は、曜日別のトレードは、ものすごく単純でありながら、その効力は抜群です。
それについては、有名なラリーの研究結果がもっとも参考になるでしょう。

ということで、さっそくTRADE STADIUMで曜日の概念を取り入れた戦略を作ってみましょう。
と、思ったのですが、TRADE STADIUMには曜日を返してくれる変数や関数が・・・ない??
マニュアルを見ても載ってないし、自分なりに探してみましたが見つかりませんでした。

なので、自作で曜日を返してくれる関数を作成しました。
一通り動かしてみた結果、問題は無さそうですが、もし何か不具合などあればご連絡ください。

さて、それでは今回はこの自作関数の説明から始めたいと思います。
ソースはこちら→CurrentWeek
日足対応改訂版はこちら→CurrentWeek(DayVer)

まず、上のソースを開いていただいて、新規自作関数にコピペしてください。
関数名は、CurrentWeekです。
簡単に追加の流れを説明しますと、YesLanguage Editor⇒ファイルマネージャー⇒ユーザー関数⇒新規作成。
新規作成画面が出てきたら、戻り値型=数値型、名前=CurrentWeekとして確認をクリック。
説明欄は空白のままでOKです。
まっさらな画面が出てきたら、そこにダウンロードしたソースをコピペ。
最後にF4キーを押して完成です。


それでは、関数の説明に入ります。
MetaTraderの曜日を返してくれる関数に習って、戻り値が曜日になっています。
0=日曜、1=月曜、2=火曜、3=水曜、4=木曜、5=金曜、6=土曜
です。
引数は、日付になっていますので、Dateなどを放り込んであげればOKです。
ちなみに、TRADE STADIUMのデータがある2007年1月1日以降しか対応していませんのでご了承ください。
⇒1999年分から対応しました。日足対応改訂版はこちら→CurrentWeek(DayVer)

実際の使用例は以下のような感じになります。

(例)月曜日のみトレードを行う
if CurrentWeek(Date) == 1  then {
        Buy("買");
}

以上が自作関数CurrentWeekの使い方になります。
ご理解いただけたでしょうか??
これは、非常に有効な武器になると思いますので、ぜひ活用してください。

次回は、関数の中身の解説と曜日のフィルターを使った戦略を検証してみたいと思います。

記事冒頭でご紹介した日足対応改訂版はこちら→CurrentWeek(DayVer)

posted by トレコレ at 23:00| Comment(9) | TrackBack(0) | TRADE STADIUM | このブログの読者になる | 更新情報をチェックする

2008年07月10日

3点チャージを2点にしてみたらどうだろう?

今回は、3点チャージ法について検証したいと思います。

一般的に、3点チャージで用いる指標は、以下の3つになっています。
・移動平均乖離率
・RSI
・ボリュームレシオ


個人的な思いで、出来高指標はあまり好きではないので笑、ボリュームレシオはなしにしたいと思っています。
ですので、まずはボリュームレシオを除いた2点チャージでどうなるか見てみたいと思います。

移動平均の回で、移動平均乖離率だけでもある程度有効であることは実証済みです。
今回は、その移動平均乖離にRSIというフィルターを加えることになります。


【ルール】
以下の2つの条件を満たしたら買い。
・13日移動平均から、13日の値幅平均の50%離れている
・13日RSIが20%以下

RSIが50より大きくなるか、移動平均以上になったら売り。
損切りは、200ポイント。

それでは、MetaTraderによる結果を見てみましょう。

さて、MetaTraderによる検証を見る前に、RSIの値についての前知識が必要でした・・・
MetaTraderに13日RSIを表示してみると、30以下になることがほとんどなかったです。
なので、13日の期間を短くし、シグナルの基準も少し高めようと思います。
では改めてルールの確認です。

【ルール】
以下の2つの条件を満たしたら買い。
・13日移動平均から、13日の値幅平均の50%離れている
・7日RSIが30%以下

RSIが50より大きくなるか、移動平均以上になったら売り。
損切りは、200ポイント。

それでは、MetaTraderによる結果を見てみましょう。

今回は、移動平均乖離との相性がよかったドル相場から見ていくことにしましょう。

通貨ペアEURUSD (Euro vs US Dollar)
期間日足(D1) 2005.07.01 00:00 - 2008.07.09 00:00 (2005.07.01 - 2008.07.12)
モデルEvery tick (the most precise method based on all available least timeframes)
Bars in test1839Ticks modelled5600971Modelling qualityn/a
Mismatched charts errors959    
 
Initial deposit100000.00    
Total net profit15408.00Gross profit18465.00Gross loss-3057.00
Profit factor6.04Expected payoff531.31  
Absolute drawdown637.00Maximal drawdown3599.00 (3.15%)Relative drawdown3.15% (3599.00)
 
Total trades29Short positions (won %)0 (0.00%)Long positions (won %)29 (79.31%)
 Profit trades (% of total)23 (79.31%)Loss trades (% of total)6 (20.69%)
Largestprofit trade1705.00loss trade-1979.00
Averageprofit trade802.83loss trade-509.50
Maximumconsecutive wins (profit in money)7 (4738.00)consecutive losses (loss in money)2 (-339.00)
Maximalconsecutive profit (count of wins)4738.00 (7)consecutive loss (count of losses)-1979.00 (1)
Averageconsecutive wins5consecutive losses2

やっぱりいい結果が出ますね。移動平均の乖離だけのときよりも、パフォーマンスはよさそうです。
かなり実用的な感じがします。
この勢いで、ポンドルのペアも見てみましょう。

通貨ペアGBPUSD (Great Britain Pound vs US Dollar)
期間日足(D1) 2005.07.01 00:00 - 2008.07.09 00:00 (2005.07.01 - 2008.07.12)
モデルEvery tick (the most precise method based on all available least timeframes)
Bars in test1862Ticks modelled6210562Modelling qualityn/a
Mismatched charts errors110    
 
Initial deposit100000.00    
Total net profit27059.00Gross profit48622.00Gross loss-21563.00
Profit factor2.25Expected payoff563.73  
Absolute drawdown4901.00Maximal drawdown5041.00 (4.24%)Relative drawdown5.02% (5031.00)
 
Total trades48Short positions (won %)0 (0.00%)Long positions (won %)48 (77.08%)
 Profit trades (% of total)37 (77.08%)Loss trades (% of total)11 (22.92%)
Largestprofit trade3334.50loss trade-2000.00
Averageprofit trade1314.11loss trade-1960.27
Maximumconsecutive wins (profit in money)11 (9161.00)consecutive losses (loss in money)2 (-3942.50)
Maximalconsecutive profit (count of wins)11655.50 (9)consecutive loss (count of losses)-3942.50 (2)
Averageconsecutive wins5consecutive losses1

こちらもなかなかいい結果が出ています。やっぱりドルとの相性は抜群ですね。
勝率とドローダウンが少し悪くなっていますが、リスクが増えた分収益は高くなっています。

さて、それでは、ドル円相場の結果を見てみましょう。期待が高まります。

通貨ペアUSDJPY (US Dollar vs Japanese Yen)
期間日足(D1) 2005.07.01 00:00 - 2008.07.09 00:00 (2005.07.01 - 2008.07.12)
モデルEvery tick (the most precise method based on all available least timeframes)
Bars in test1862Ticks modelled6311398Modelling qualityn/a
Mismatched charts errors1635    
 
Initial deposit100000.00    
Total net profit-13509.74Gross profit27723.49Gross loss-41233.22
Profit factor0.67Expected payoff-270.19  
Absolute drawdown19500.26Maximal drawdown22412.70 (21.78%)Relative drawdown21.78% (22412.70)
 
Total trades50Short positions (won %)0 (0.00%)Long positions (won %)50 (54.00%)
 Profit trades (% of total)27 (54.00%)Loss trades (% of total)23 (46.00%)
Largestprofit trade4085.36loss trade-2073.76
Averageprofit trade1026.80loss trade-1792.75
Maximumconsecutive wins (profit in money)5 (4279.84)consecutive losses (loss in money)5 (-9875.95)
Maximalconsecutive profit (count of wins)5530.89 (3)consecutive loss (count of losses)-9875.95 (5)
Averageconsecutive wins2consecutive losses2

やっぱりダメでした・・・
ここが、このシステムを採用するかどうかの分かれ道ですね。
『どんなペアでも通用しないとダメだ!』という意見の人は絶対使わないでしょう。
『相場にはそれぞれのクセがあるのだから、すべてに通用するシステムはない』という意見の人は、使ってみようと思うのではないでしょうか。
個人的には、使ってみようかなぁ、と思っています。

【まとめ】
3点チャージを2点にしてみたらどうだろうか?の問いに対する答え。
2点にしてみてもいいと思いますよ◎
もしかしたら、3点にすればさらなるパフォーマンスの向上が見られるのかもしれません。
ドル円相場でも使えるようになるのかもしれません。
しかし、現段階で十分なパフォーマンスが出ているので、今回は、ここまでとします。

2点チャージのソースはこちら → 2PointCharge
この研究結果が参考になった!応援クリックお願いします → にほんブログ村
posted by トレコレ at 00:00| Comment(2) | TrackBack(0) | Meta Trader | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。