新説フィボナッチ変動分析インディケータ Ver1.0 | SystemTradingのブログ

SystemTradingのブログ

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

新説フィボナッチ変動分析売買戦略のベースとなる値を指標化した

ものをアップしておきます。基本的に、この指標が表示されるシンボ

ル設定が売買戦略を正常に表示するための条件となります。

出力される値の設定はソースコード内に明記してありますので、その

設定に従って表示させてください。

 

 

ちなみに表示例としては、

 

 
HSF-SystemTradingのブログ-fibonacci

 

 

こんな感じになるはずです。

各ラインの解説が未だに終わっていないので恐縮ですが、ソースコードが

あるので各自で内容を把握して頂ければ幸いです。

解説につきましては時間の余裕次第となりますが、近日中に解説を再開し

ていきますのでお待ちくださいね (;^_^A
 

 

 

 

 

【サンプルソースコード】

各入力変数の役割を載せておきますね (^O^)/

 

■ 入力変数の解説

PlotNum・・・・・・・・・入力値に従ったパラメータ出力を行います

BaseHighPrice・・・高値を取得するベース(Closeの場合はCloseベースの高値を取得)

BaseLowPrice・・・・安値を取得するベース(Closeの場合はCloseベースの安値を取得)

 

 

■ PlotNumの入力値解説

 

入力値「1」

BasePrice・・・・・・・・ベースライン(前日引値もしくはセツル)

High・LowPrice・・・・取得した前日の高値・安値

CurrentHigh・Low・・想定される当日の高値・安値ライン(想定される高値・安値ラインになると横ばいになる)

 

入力値「2」

Highcount・・前日のセツルから高値までのカウント値

Lowcount・・前日のセツルから安値までのカウント値

 


入力値「3」

Barcount・・当日のバーカウント値

Fhighcount・・高値仕様のフィボナッチ周期

Flowcount・・安値仕様のフィボナッチ周期

 

入力値「4」

FibanacciLine・・新説フィボナッチ変動分析における1×1ラインの出力(他の条件設定に従う)

 

 

■ ソースコード

 

{
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:
PlotNum(1),BaseHighPrice(Close),BaseLowPrice(close);
Vars:
Barcount(0),Lastcount(0),BasePrice(0),HighPrice(0),LowPrice(0),UpDown(0),
HighLength(0),LowLength(0),FHighLength(0),FLowLength(0),FibonacciLine(0),
count(0),Highcount(0),Lowcount(0),
Fhighcount(0),Flowcount(0),
CurrentHigh(0),CurrentLow(0),Signal(0),
PreLine(0),PrePoint(0);

//Bar Initial value
count=1;
condition1=(Date<>Date[1]);
condition2=(Date=Date[1]);
//Format
If condition1 then begin
Signal=0;
Barcount=2;
Lastcount=Barcount[1];
FibonacciLine=close[count];
BasePrice=close[count];
HighPrice=close[count];
LowPrice=close[count];
If close>close[1] then UpDown=1
else If close<close[1] then UpDown=-1;
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;
HighLength=absvalue(HighPrice-BasePrice);
end;
If LowPrice>BaseLowPrice[count] then begin
LowPrice=BaseLowPrice[count];
Lowcount=count;
LowLength=absvalue(LowPrice-BasePrice);
end;
end;
end;
//Fibonacci Number
If condition1 then begin
Fhighcount=FiboNum[Highcount];
Flowcount= FiboNum[Lowcount];
If HighLength<>0 and Fhighcount<>0 then FHighLength=HighLength/Fhighcount;
If LowLength<>0 and Flowcount<>0 then FLowLength=LowLength/Flowcount;
end;
// Fibonacci Point
If condition2 and Barcount=Fhighcount then begin
CurrentHigh=BaseHighPrice;
Signal=1;
end else
If condition2 and Barcount<Fhighcount then CurrentHigh=BaseHighPrice;
If condition2 and Barcount=Flowcount then begin
CurrentLow=BaseLowPrice;
Signal=-1;
end else
If condition2 and Barcount<Flowcount then CurrentLow=BaseLowPrice;
//Predict Line
If Highcount<Lowcount then begin
PreLine=CurrentHigh;
PrePoint=1;
FibonacciLine=FibonacciLine-FLowLength*2;
end;
If Highcount>Lowcount then begin
PreLine=CurrentLow;
PrePoint=-1;
FibonacciLine=FibonacciLine+FHighLength*2;
end;
//Plot Setting
//Chart-Area **Same as Instrument
If PlotNum=1 then begin
Plot1(BasePrice);
Plot2(HighPrice,"LastHigh-Line",Red,default,1);
Plot3(LowPrice,"LastLow-Line",Blue,default,1);
Plot4(CurrentHigh,"Bottom-Line",Blue,default,3);
Plot5(CurrentLow,"Top-Line",Red,default,3);
end;
//Indicator-Area **Screen
If PlotNum=2 then begin
Plot20(Highcount,"Highcount",Red,default,1);
Plot21(Lowcount,"Lowcount",Blue,default,1);
end;
//Indicator-Area **Screen
If PlotNum=3 then begin
Plot30(Barcount,"Barcount",Cyan,default,1);
Plot31(Fhighcount,"FHighcount",Blue,default,1);
Plot32(Flowcount,"FLowcount",Red,default,1);
end;
//Chart-Area **Same as Instrument
If PlotNum=4 then begin
Plot41(FibonacciLine,"Fibonacci-Line",Black,default,4);
end;
 

 

 

 

ペタしてね