CTLでシステムトレード(旧為替の一歩)
| フロントページ | 新着 | 一覧 |

最新7日分の記事が表示されます.古い記事閲覧は右のFX記録一覧200Xか右上のサイト内検索をご利用ください.サヤ取りはやめましたが引き続きサヤ取りエントリーサインは以下のdiary内で発信します エントリーサイン発信も停止しました.

☆FXでサヤ取りが無意味な理由☆

検証システム

2008年はマーフィのスーパーボリンジャーを目安にしてトレードしていたが,2009年10月でマーフィ手法は止めた.理由は2009年前半では利益よりも損失の方が大きかったこと,およびDealBook 360でマーフィ手法を3年間バックテストした結果,利益になったのは2008年だけであることが判明したからだ.マーフィ手法(スーパーボリンジャー)は通用しなくなってしまった.これは当たり前のことで,同じ手法が長い間通用することがないのは相場の常識だ.
2009年末からは自分のオリジナルの手法でトレードしている.これは3年半のバックテストで毎年利益を出すことができた手法だ.この手法がうまくワークするかどうかは,これからのフォワードテストで明らかになる.この手法が儲かっても儲からなくても将来公開することはない.儲かる方法なら人に教えるのは愚かなことだし,儲からない手法を人に教えるのは詐欺だからだ.
2010年3月からACDシステムのフォワードテストも開始した.私のACDシステムは自分流にパラメータを変えている.ACDシステムの基本は原典であるマーク・B・フィッシャーのロジカルトレーダーを参照のこと.ACDシステムチャートは私のCTLプログラミングによる.ACDシステムの課題は今後の検証対象とする.
2010年4月に"Evidence-Based Technical Analysis"(邦題:テクニカル分析の迷信)を読んでACDシステムが宗教の類であることに気付かされた.ACDシステムを検証可能なAKシステムに作り変え,今後はこれをテストすることにした.

★情報求む!プログラミング可能な日本株チャート★

2009/09/27

FXを始めてから

1年と239日経過

CTLの基本3モジュール

CTLはStrategy,Indicator,Functionの3つのモジュールから構成される.Strategyは売買ルールを,Indicatorはチャートに描画されるインジケーターを,Functionは値を返す関数を意味する.
StrategyはIndicatorやFunctionを呼ぶ(call)ことができる.
IndicatorはFunctionを呼ぶことができる.
以上です.

real name: diary/20090927

2009/09/26

こんどはストキャスを利用

昨日のプログラムをMACDではなく,ストキャスティックス利用に変えてみました.



 strategy Stochas_k4;
 input lots = 1 ;
 vars mas(series), mal(series), i(number);
 begin
 Bollinger_Bands_all(close, 21, 2.5, 0);
 Stochastics();
 mas := sma(close, 5);
 mal := sma(close, 25);
 if crossdown (mas, mal) then exitlong();
 if crossup(close, Bollinger_Bands_all.line_upper) then exitlong();
 if crossup (Stochastics.k, Stochastics.pk) then begin
   exitshort();
   i := back(Stochastics.k);
   if (Stochastics.k[i] < 20) then
     buy(lots);
   end;
 if crossup (mas, mal) then exitshort();
 if crossdown(close, Bollinger_Bands_all.line_lower) then exitshort();
 if crossdown(Stochastics.k, Stochastics.pk) then begin
   exitlong();
   i := back(Stochastics.k);
   if (Stochastics.k[i] > 80) then
      sell(lots);
   end;
 end.



ドル円での結果は
1時間足,12勝17敗,139pips
4時間足,16勝21敗,-212pips
日足,13勝36敗,-435pips
となり,芳しくない.複雑なロジックはすぐに通用しなくなるので,なるべく避けたいのだが,もう少し複雑に(フィルターを加える)しなくては使い物にならないようだ.

real name: diary/20090926

2009/09/25

FXを始めてから

1年と237日経過

MACDサンプルプログラム

マーフィ手法が通用しなくなったので,自分で手法を考えねばならない.まずは初心者でもすぐ思いつくMACDを使った手法をプログラムした.ドル円日足でバックテストすると,今年の1月からでは+758pipsとなる.これもたまたま偶然かもしれないので,フォワードテストを最低3ヶ月はやらないと実使用することはできない.



 strategy macd_k4;
 input lots = 1 ;
 vars mas(series), mal(series), i(number);
 begin
 Bollinger_Bands_all(close, 21, 2.5, 0);
 MACD();
 mas := sma(close, 5);
 mal := sma(close, 25);
 if crossdown (mas, mal) then exitlong();
 if crossup(close, Bollinger_Bands_all.line_upper) then exitlong();
 if crossup (MACD.line, MACD.line_signal) then begin
    exitshort();
    i := back(MACD.line);
    if (MACD.line[i] < 0) then
      buy(lots);
    end;
 if crossup (mas, mal) then exitshort();
 if crossdown(close, Bollinger_Bands_all.line_lower) then exitshort();
 if crossdown(MACD.line, MACD.line_signal) then begin
    exitlong();
    i := back(MACD.line);
    if (MACD.line[i] > 0) then
       sell(lots);
    end;
 end.

real name: diary/20090925

2009/09/24

マーフィ手法±2σでエグジット版

マーフィ手法のエグジットを±1σの内側に入ったときに加え,±2σを越えたときも利確するように変えた.

 strategy super_bollinger_k1;
 input lots = 1;
 vars psigma(series), msigma(series),
    i(number),adx1(number),adx2(number);
 begin
 Bollinger_Bands1();
 Bollinger_Bands2();
 Directional_Movement_ADX();
 psigma := Bollinger_Bands1.line_upper;
 msigma := Bollinger_Bands1.line_lower;
 i := back(Directional_Movement_ADX.line);
 if i-1 <= front(Directional_Movement_ADX.line) then return;
 adx1 := Directional_Movement_ADX.line[i];
 adx2 := Directional_Movement_ADX.line[i-1];
 if crossup(close, psigma) and (adx1 > adx2) then buy(lots);
 if crossup(close, Bollinger_Bands2.line_upper) then exitlong();
 if crossdown(close, psigma) then exitlong();
 if crossdown(close, msigma) and (adx1 - adx2 > 0 ) then sell(lots);
 if crossdown(close, Bollinger_Bands2.line_lower) then exitshort();
 if crossup(close, msigma) then exitshort(); 
 end.


変えた結果は,日足の昨年の結果が非常によくなっただけで,他の時間足や今年の結果は改善せず.マーフィ手法は今年の相場には通用しないことは変わりない.このまま通用しない手法でトレードを続けることはできない.別の手法を考えて,CTLとdealbook360で評価しなくてはならない.

real name: diary/20090924

2009/09/23

マーフィ手法にはエッジがない?

マーフィ手法のCTLが完成した.

 strategy super_bollinger_marfy;
 input lots = 1;
 vars psigma(series), msigma(series),
    i(number), center_line(series), c_line(series),
    cl1(number), cl2(number);
 begin
 Bollinger_Bands1();
 center_line := SMA(close, 21);
 Chikou_Span(21);
 c_line := Chikou_Span.line;
 psigma := Bollinger_Bands1.line_upper;
 msigma := Bollinger_Bands1.line_lower;
 i := back(c_line);
 if i-21 <= front(center_line) then return;
 cl1 := center_line[i];
 cl2 := center_line[i-1];
 if crossup(close, psigma) and (cl1 - cl2 > 0)
 and (c_line[i] > close[i-21]) then buy(lots);
 if crossdown(close, psigma) then exitlong();
 if crossdown(close, msigma) and (cl1 - cl2 < 0)
 and (c_line[i] < close[i-21]) then sell(lots);
 if crossup(close, msigma) then exitshort(); 
 end.

14行目のif文がポイントだ.これがないと実行時にエラーとなる.このCTLを日足でバックテストしてみると,一昨年がマイナス,昨年はプラスで,今年はマイナスになる.時間軸を60分足にしても30分足にしても今年はマイナスだ.どうやらマーフィ手法はエッジがなくインチキだということになる.信用していたのにショックだ.

real name: diary/20090923

2009/09/22

ちなみに以下の半完成プログラムでは

豪ドル円のバックテストで,

  • 5分足,0勝5敗,-45pips
  • 15分足,2勝18敗,-174pips
  • 30分足,8勝42敗,-421pips
  • 1時間足,12勝25敗,-92pips
  • 4時間足,9勝22敗,-56pips
  • 日足,11勝28敗,+690pips

となる.とても実用には使えない.

「ADXが上昇中なら」をプログラミングするには

CTLでプログラミングを始めたが,いまいちうまくゆかないところがある.たとえば,±1σをブレイク,かつADXが上り調子のときエントリーとしたいのだが,うまくプログラムできない.今はADXの値が20より大きいとき(下参照)としかプログラミングできない.うーむ,何が悪いのか.MT4と違って参考文献が少ないので勉強には苦労している.

 strategy super_bollinger;
 input lots = 1;
 vars psigma(series), msigma(series),
    i(number),j(number),adx(number);
 begin
 Bollinger_Bands1();
 Directional_Movement_ADX();
 psigma := Bollinger_Bands1.line_upper;
 msigma := Bollinger_Bands1.line_lower;
 i := back(Directional_Movement_ADX.line);
 if i <= front(Directional_Movement_ADX.line) then return;
 adx := Directional_Movement_ADX.line[i];
 if crossup(close, psigma) and (adx > 20) then buy(lots);
 if crossdown(close, psigma) then exitlong();
 if crossdown(close, msigma) and (adx > 20) then sell(lots);
 if crossup(close, msigma) then exitshort(); 
 end.

CTLで自動売買バックテストその2

今日は短い時間足でマーフィ手法をバックテストした.いずれも豪ドル円だ.

  • 5分足,10勝40敗,-398pips
  • 10分足,37勝40敗,+218pips
  • 15分足,38勝34敗,+294pips
  • 30分足,89勝55敗,+2316pips

うーん,昨日の結果と比べてもたまたま偶然としか言いようのない結果だ.30分足でのトレードがやたらに結果が良いが,これがたまたまなのか偶然なのかは今後のフォワードテストで明らかになるだろう.

real name: diary/20090922

2009/09/21

CTLで自動売買バックテスト

GFTに口座を開くと自動的に使えるようになる自動売買プログラミングツールCTLで現在評価中のマーフィ手法をバックテストしてみた.テストは2005年から本日まで.豪ドル円の1時間足,4時間足,日足でのテストを行った.結果は

  • 1時間足,32勝76敗,-500pips
  • 4時間足,29勝44敗,+351pips
  • 日足,27勝82敗,+455pips

となった.4時間足,日足でトレードした方が良いと分かった.CTLで作った自動売買プログラムはそのままリアル口座に使えるのだが,いきなりはさすがに怖いので,フォワードテストを2ヶ月ほどやってから使おう.

動き無し.ユーロ円建値撤退

株式市場が休みなせいか,動きがない.先週買ったユーロ円はずっと含み損の状態だったが,建値まで上げてきたので建値撤退した.しばらくポジションは持たず様子見になるだろう.

real name: diary/20090921
<< 前の7件 次の7件 >>