新説フィボナッチ売買戦略 Ver2.0 | SystemTradingのブログ

SystemTradingのブログ

システムトレードに関するブログです

この記事は非常に重要なので以前との違いをしっかりと比較してください!

というのも、

 

 

 

新説フィボナッチ売買戦略の予測ポイントと理論の

予測ポイントが違う理由が判明 m(_ _ )m

 

 

 

しました。この予測ポイントの違いについては下記記事を参照してくださ

いね (^-^)/

 

 

参考 : 新説フィボナッチ売買戦略 Ver1.5について

 

 

そして今回のソースコードが新説フィボナッチ変動分析に純粋に従った

ものになりデフォルトとしての正式版となります。デフォルト状態なので

実践で使えるように条件を追加していく必要があります。

それではVer1.5以前とVer2.0の違いを解説してからソースコードを公開し

ますね ('-^*)/

 

 

 

 

 

【Ver1.5以前とVer2.0での高値・安値定義】

Ver1.5以前の内容は間違ったものではありません。Ver1.5以前のソース

コードはVer1.5以前としてのモデルとなります。このモデルは新説フィボナ

ッチ変動分析として紹介してきたモデルとは異なるモデルと理解してくださ

い。

理論として導いた分析プロセスと売買戦略との間に整合性がとれるモデル

がVer2.0モデルとなります。ちなみに今までのモデルは、

 

 

 
HSF-SystemTradingのブログ-fb15

 

 

 

となります。Closeとは大引け値段もしくはセツルメントですが、そのポイントを

TOPもしくはBottomと判断してしまったことが理論とモデルとの間に整合性がと

れなくなった原因です。そして、Ver1.5以前モデルでの予測ポイントは、

 

 

・ TOP ⇒ Bottom ⇒ Bottom(TOP)

・ Bottom ⇒ TOP ⇒ TOP(Bottom)

 

 

となります。紹介してきた理論での予測ポイントは( )内になるのは理論の紹介

で扱いました。

 

 

参考 : 波動形態と予測ポイント

 

 

そして理論とモデルとの間に整合性がとれるモデルは、

 

 
HSF-SystemTradingのブログ-fb20

 

 

となるのです。つなり大引け値段(もしくはセツル)はTOP・Bottomn扱い

ではなく、単なる次のTOP・Bottomへ変動する途中のポイントでしかない

ことになります。つまり、IもしくはN波動をベースとするモデルとなるわけ

です。このモデルも多くの市場・銘柄でプラスの性能を有します。

デフォルト状態でのパフォーマンスは後日公開しますが、Ver2.0モデル

の方が安定性がある感じです。

上記の解説において不明な点があればコメントまで宜しくお願いします!

 

 

 

 

【新説フィボナッチ売買戦略 Ver2.0 ソースコード】

入力変数は以前のバージョンと変わりありません。あくまでもモデル部分

だけが変更されています。 

 

 

{
User Specifies***500
}
Arrays:
//Basic Array
FiboNum[2000](0);
//Fibonacci Period
FiboNum[2]=3;FiboNum[3]=8;FiboNum[4]=6;FiboNum[5]=20;FiboNum[6]=24;FiboNum[7]=16;
FiboNum[8]=12;FiboNum[9]=24;FiboNum[10]=60;FiboNum[11]=10;FiboNum[12]=24;
FiboNum[13]=28;FiboNum[14]=48;FiboNum[15]=40;FiboNum[16]=24;FiboNum[17]=36;
FiboNum[18]=24;FiboNum[19]=18;FiboNum[20]=60;FiboNum[21]=16;FiboNum[22]=30;
FiboNum[23]=48;FiboNum[24]=24;FiboNum[25]=100;FiboNum[26]=84;FiboNum[27]=72;
FiboNum[28]=48;FiboNum[29]=14;FiboNum[30]=120;FiboNum[31]=30;FiboNum[32]=48;
FiboNum[33]=40;FiboNum[34]=36;FiboNum[35]=80;FiboNum[36]=24;FiboNum[37]=76;
FiboNum[38]=18;FiboNum[39]=56;FiboNum[40]=60;FiboNum[41]=40;FiboNum[42]=48;
FiboNum[43]=88;FiboNum[44]=30;FiboNum[45]=120;FiboNum[46]=48;FiboNum[47]=32;
FiboNum[48]=24;FiboNum[49]=112;FiboNum[50]=300;
FiboNum[51]=72;FiboNum[52]=84;FiboNum[53]=108;FiboNum[54]=72;FiboNum[55]=20;
FiboNum[56]=48;FiboNum[57]=72;FiboNum[58]=42;FiboNum[59]=58;FiboNum[60]=120;
FiboNum[61]=60;FiboNum[62]=30;FiboNum[63]=48;FiboNum[64]=96;FiboNum[65]=140;
FiboNum[66]=120;FiboNum[67]=136;FiboNum[68]=36;FiboNum[69]=48;FiboNum[70]=240;
FiboNum[71]=70;FiboNum[72]=24;FiboNum[73]=148;FiboNum[74]=228;FiboNum[75]=200;
FiboNum[76]=18;FiboNum[77]=80;FiboNum[78]=168;FiboNum[79]=78;FiboNum[80]=120;
FiboNum[81]=216;FiboNum[82]=120;FiboNum[83]=168;FiboNum[84]=48;FiboNum[85]=180;
FiboNum[86]=264;FiboNum[87]=56;FiboNum[88]=60;FiboNum[89]=44;FiboNum[90]=120;
FiboNum[91]=112;FiboNum[92]=48;FiboNum[93]=120;FiboNum[94]=96;FiboNum[95]=180;
FiboNum[96]=48;FiboNum[97]=196;FiboNum[98]=336;FiboNum[99]=120;FiboNum[100]=300;
FiboNum[101]=50;FiboNum[102]=72;FiboNum[103]=208;FiboNum[104]=84;FiboNum[105]=80;
FiboNum[106]=108;FiboNum[107]=72;FiboNum[108]=72;FiboNum[109]=108;FiboNum[110]=60;
FiboNum[111]=152;FiboNum[112]=48;FiboNum[113]=76;FiboNum[114]=72;FiboNum[115]=240;
FiboNum[116]=42;FiboNum[117]=168;FiboNum[118]=174;FiboNum[119]=144;FiboNum[120]=120;
FiboNum[121]=110;FiboNum[122]=60;FiboNum[123]=40;FiboNum[124]=30;FiboNum[125]=500;
FiboNum[126]=48;FiboNum[127]=256;FiboNum[128]=192;FiboNum[129]=88;FiboNum[130]=420;
FiboNum[131]=130;FiboNum[132]=120;FiboNum[133]=144;FiboNum[134]=408;FiboNum[135]=360;
FiboNum[136]=36;FiboNum[137]=276;FiboNum[138]=48;FiboNum[139]=46;FiboNum[140]=240;
FiboNum[141]=32;FiboNum[142]=210;FiboNum[143]=140;FiboNum[144]=24;FiboNum[145]=140;
FiboNum[146]=444;FiboNum[147]=112;FiboNum[148]=228;FiboNum[149]=148;FiboNum[150]=600;
FiboNum[151]=50;FiboNum[152]=36;FiboNum[153]=72;FiboNum[154]=240;FiboNum[155]=60;
FiboNum[156]=168;FiboNum[157]=316;FiboNum[158]=78;FiboNum[159]=216;FiboNum[160]=240;
FiboNum[161]=48;FiboNum[162]=216;FiboNum[163]=328;FiboNum[164]=120;FiboNum[165]=40;
FiboNum[166]=168;FiboNum[167]=336;FiboNum[168]=48;FiboNum[169]=364;FiboNum[170]=180;
FiboNum[171]=72;FiboNum[172]=264;FiboNum[173]=348;FiboNum[174]=168;FiboNum[175]=400;
FiboNum[176]=120;FiboNum[177]=232;FiboNum[178]=132;FiboNum[179]=178;FiboNum[180]=120;
FiboNum[181]=90;FiboNum[182]=336;FiboNum[183]=120;FiboNum[184]=48;FiboNum[185]=380;
FiboNum[186]=120;FiboNum[187]=180;FiboNum[188]=96;FiboNum[189]=144;FiboNum[190]=180;
FiboNum[191]=190;FiboNum[192]=96;FiboNum[193]=388;FiboNum[194]=588;FiboNum[195]=280;
FiboNum[196]=336;FiboNum[197]=396;FiboNum[198]=120;FiboNum[199]=22;FiboNum[200]=300;

Inputs:
Type(1),EndTrade(1530),MinPricePoints(1),BaseHighPrice(Close),BaseLowPrice(close);
Vars:
count(0),Barcount(0),config(0),
BasePrice(0),HighPrice(0),LowPrice(0),
Highcount(0),Lowcount(0),WideGap(0),CountGap(0),
FWideGap(0),FcountGap(0),Validcount(0);

//Bar Initial value
count=1;
condition1=(Date<>Date[1]);
condition2=(Date=Date[1]);
//Format
If condition1 then begin
config=1;
Barcount=2;
BasePrice=close[count];
HighPrice=close[count];
LowPrice=close[count];
end else Barcount=Barcount[1]+1;
//Parameter Getting
If condition1 then begin
While Date[count]=Date[count+1] begin
count=count+1;
If HighPrice<BaseHighPrice[count] then begin
HighPrice=BaseHighPrice[count];
Highcount=count;
end;
If LowPrice>BaseLowPrice[count] then begin
LowPrice=BaseLowPrice[count];
Lowcount=count;
end;
end;
end;
//Gap
If HighPrice<>0 and LowPrice<>0 then begin
WideGap=Absvalue(HighPrice-LowPrice)/minpricepoints;
CountGap=Absvalue(Highcount-Lowcount)+1;
end;
//Fibonacci Number
If condition1 then begin
FWideGap =FiboNum[WideGap];
FcountGap=FiboNum[CountGap];
end;
//Valid count
If Highcount<Lowcount then Validcount=Highcount+(Barcount-1);
If Highcount>Lowcount then Validcount=Lowcount+(Barcount-1);

//Fibonacci Short Signal condition
condition10=(Highcount<Lowcount);
If condition10 then begin
condition3=(Date[1]=Date[2]);
If condition1 and condition3 then sellshort next bar at market;
config=1;
end;
//Fibonacci Long Signal condition
condition20=(Highcount>Lowcount);
If condition20 then begin
condition3=(Date[1]=Date[2]);
If condition1 and condition3 then buy next bar at market;
config=-1;
end;
//Fibonacci period position Exit Setting
If marketposition=1 and Validcount=FcountGap then sell next bar at market;
If marketposition=-1 and Validcount=FcountGap then buytocover next bar at market;

{Moc Setting*************************************************************************}
If Type=1 then begin
//TOCOM Floor time from 9:00 to 17:30
condition20=(endtime=0 and time>=1725);
condition21=(endtime=1 and time>=1525);

If condition20 and marketposition=1 then sell ("LMoc-1725") next bar at market;
If condition20 and marketposition=-1 then buytocover ("SMoc-1725") next bar at market;
//TOCOM Floor time from 9:00 to 17:30
If condition21 and marketposition=1 then sell ("LMoc-1525") next bar at market;
If condition21 and marketposition=-1 then buytocover ("SMoc-1525") next bar at market;
end;

If Type=2 then begin
//Other Floor time
If Time=EndTrade and marketposition=1 then sell ("LMoc") this bar on close;
If Time=EndTrade and marketposition=-1 then buytocover ("SMoc") this bar on close;
end;
 

 

 

 

ペタしてね