• 新添加量子混沌系统板块,欢迎大家访问!---“量子混沌系统”
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我们吧

斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!

指标下载 qchaos.009 4个月前 (10-31) 6313 复制链接

指标名称:斐波那契时间序列

版本:MT4 ver. 2.01

斐波那契时间序列是一种技术分析工具,通过将斐波那契数列(如1, 2, 3, 5, 8, 13等)应用于时间轴上,用于预测市场价格的时间周期拐点。斐波那契时间序列在股票、外汇和其他市场分析中常用,帮助预测趋势反转或调整发生的时间节点。

斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!

斐波那契数列是一个递增的数字序列,每一个数是前两个数之和。这个数列在自然界和金融市场中经常出现,因此被用于技术分析。斐波那契时间序列假设市场价格波动的时间点会与斐波那契数值(或比例)相吻合,即市场的调整或反转可能发生在斐波那契数列中的某个时间间隔上。

斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!

应用步骤

  • 选择起始点:在趋势(上涨或下跌)中选择一个明显的起点,通常是价格触底或峰值的地方。
  • 应用斐波那契数列:将1, 2, 3, 5, 8, 13, 21等斐波那契数应用在时间周期上,以预测趋势可能的拐点。例如,从起始点开始,向后数2天、3天、5天等,找到这些天数作为潜在的趋势变化点。
  • 观察市场变化:在这些时间点附近,观察价格走势是否有反转、调整或加速变化。如果市场在这些时间点附近确实发生变化,可以结合其他指标进一步确认。
  • 结合其他技术指标:斐波那契时间序列通常和其他技术指标(如斐波那契回调线、RSI、MACD等)结合使用,以提高预测的准确性。

    斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!

参数:

斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!

完整代码展示: ​​

//+——————————————————————+
//画斐波那契时间序列

property version "2.01"

property description "———————————————"

property description "EA、指标公式分享"

property description "EA、指标编写业务承接"

property description "———————————————"

property description "———————————————"

property indicator_chart_window

extern color color_RAY = Gold;
extern int STYLE = 4;//0-4
extern int WIDTH = 1;//0-6
extern string time_start = "2024.10.28 10:12";
extern string time_finish = "2024.10.28 10:25";
extern int DELTA_K = 4;

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
GetDellName();
//—- indicators
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-
GetDellName();
ObjectsDeleteAll();
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
//—-
GetStartLine(time_start,time_finish,"fibo1","luch1",color_RAY,STYLE,WIDTH);
GetYTG();
GetAvtor();
//—-
return(0);
}
//+——————————————————————+

void GetTXT(string name_label,datetime t1, double p1,color c = Red, string txt = "zero",double angle = 90)
{
datetime dlt = DELTA_K * 60;
if(ObjectFind(name_label)<0)
ObjectCreate(name_label,OBJ_TEXT,0,t1-dlt,p1,0,0);
ObjectSet(name_label,OBJPROP_ANGLE,angle);
ObjectSetText(name_label, txt, 10, "Times New Roman", c);
}

void GetVLINE(string name_label,datetime t1,color c = Red,int style = 0, int widh = 0)
{
if(ObjectFind(name_label)<0) // ObjectDelete(name_label);
ObjectCreate(name_label,OBJ_VLINE,0,t1,0,0,0);
ObjectSet(name_label,OBJPROP_COLOR,c);
ObjectSet(name_label,OBJPROP_STYLE,style);
ObjectSet(name_label,OBJPROP_WIDTH,widh);
}

void GetDellName(string name_n = "")
{
string vName;
for(int i=ObjectsTotal()-1; i>=0; i–)
{
vName = ObjectName(i);
if(StringFind(vName,name_n) !=-1)
ObjectDelete(vName);
}
}
//—-+ôóíêöèÿ ñòðîèò âñå ëèíèè fibo time
void GetStartLine(string ti_s, string ti_f, string n, string l, color c, int s, int w) //,s,w
{
GetDellName(l);

GetVLINE(n+"qc_zoltan1",StrToTime(ti_s),c,s,w);
GetVLINE(n+"qc_zoltan2",StrToTime(ti_f),c,s,w);
datetime time_s =0, time_f =0, time_c = 0;
if(ObjectFind(n+"qc_zoltan1")!=-1)
time_s = ObjectGet(n+"qc_zoltan1",OBJPROP_TIME1);
if(ObjectFind(n+"qc_zoltan2")!=-1)
time_f = ObjectGet(n+"qc_zoltan2",OBJPROP_TIME1);

int bars_1 = iBarShift(Symbol(),1,time_s);
int bars_2 = iBarShift(Symbol(),1,time_f);
Comment(bars_1," ",bars_2);
int delta_bars = bars_1-bars_2;
double prise_b = iClose(Symbol(),1,bars_1);

GetTXT(l+"qc_zoltan11",time_s, prise_b,c,"0");
GetTXT(l+"qc_zoltan22",time_f, prise_b,c,"1");

int bar_shift = bars_2 – delta_bars;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)*60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan3",time_c,c,s,w);//2
GetTXT(l+"qc_zoltan33",time_c, prise_b,c,"2");

bar_shift = bar_shift – delta_bars;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)*60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan4",time_c,c,s,w);//3
GetTXT(l+"qc_zoltan44",time_c, prise_b,c,"3");

bar_shift = bar_shift – delta_bars2;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan5",time_c,c,s,w);//4
GetTXT(l+"qc_zoltan55",time_c, prise_b,c,"5");

bar_shift = bar_shift – delta_bars3;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan6",time_c,c,s,w);//8
GetTXT(l+"qc_zoltan66",time_c, prise_b,c,"8");

bar_shift = bar_shift – delta_bars5;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan7",time_c,c,s,w);//13
GetTXT(l+"qc_zoltan77",time_c, prise_b,c,"13");

if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)*60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan7",time_c,c,s,w);//13
GetTXT(l+"qc_zoltan77",time_c, prise_b,c,"13");

bar_shift = bar_shift – delta_bars8;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan8",time_c,c,s,w);//21
GetTXT(l+"qc_zoltan88",time_c, prise_b,c,"21");

bar_shift = bar_shift – delta_bars13;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan9",time_c,c,s,w);//34
GetTXT(l+"qc_zoltan99",time_c, prise_b,c,"34");

bar_shift = bar_shift – delta_bars21;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan10",time_c,c,s,w);//55
GetTXT(l+"qc_zoltan331",time_c, prise_b,c,"55");

bar_shift = bar_shift – delta_bars34;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan011",time_c,c,s,w);//89
GetTXT(l+"qc_zoltan332",time_c, prise_b,c,"89");

bar_shift = bar_shift – delta_bars55;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan12",time_c,c,s,w);//144
GetTXT(l+"qc_zoltan3322",time_c, prise_b,c,"144");

bar_shift = bar_shift – delta_bars89;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan13",time_c,c,s,w);//233
GetTXT(l+"qc_zoltan333",time_c, prise_b,c,"233");

bar_shift = bar_shift – delta_bars144;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan14",time_c,c,s,w);//377
GetTXT(l+"qc_zoltan334",time_c, prise_b,c,"377");

bar_shift = bar_shift – delta_bars233;
if(bar_shift<0)
time_c = iTime(Symbol(),1,0)+MathAbs(bar_shift)
60;
else
time_c = iTime(Symbol(),1,bar_shift);
GetVLINE(l+"qc_zoltan15",time_c,c,s,w);//610
GetTXT(l+"qc_zoltan335",time_c, prise_b,c,"610");

}
//+——————————————————————+
//| |
//+——————————————————————+
void Label(string name_label,
string text_label,
int corner = 2,
int x = 3,
int y = 15,
int font_size = 10,
string font_name = "Arial",
color text_color = LimeGreen
)
{
if(ObjectFind(name_label)!=-1)
ObjectDelete(name_label);
ObjectCreate(name_label,OBJ_LABEL,0,0,0,0,0);
ObjectSet(name_label,OBJPROP_CORNER,corner);
ObjectSet(name_label,OBJPROP_XDISTANCE,x);
ObjectSet(name_label,OBJPROP_YDISTANCE,y);
ObjectSetText(name_label,text_label,font_size,font_name,text_color);
}
//—-+
void GetYTG()
{
static int count = 0;
count++;
if(count>2)
count = 0;
color color_Y = Red;
color color_T = Lime;
color color_G = Blue;
if(count==1)
{
color_Y = Crimson;
color_T = LimeGreen;
color_G = DodgerBlue;
}
if(count==2)
{
color_Y = OrangeRed;
color_T = ForestGreen;
color_G = RoyalBlue;
}

Label("qchaos_Q","Q",3,40,20,25,"Arial Black",color_Y);
Label("qchaos_C","C",3,25,5,25,"Arial Black",color_T);
Label("qchaos_S","Q",3,40,20,25,"Arial Black",color_G);
//Label("qchaos_Q1","Q" ,3,13,32,25,"Arial Black",color_G);

}

//+——————————————————————+
//| |
//+——————————————————————+
void GetAvtor()
{
static int tick = 0;
tick++;
if(tick >= 42)
tick = 0;
string tchar[256];
int i;
string f_n = "Arial";
for(i = 0; i < 256; i++)
tchar[i] = CharToStr(i);
int x=0;
int y=0;
int z=0;
Label("label1", tchar[87], 2+x, 5, 15, 10, f_n, GetColor(41, tick));
Label("label2", tchar[101], 2+x, 18, 15, 10, f_n, GetColor(0, tick));
Label("label3", tchar[67], 2+x, 24, 15, 10, f_n, GetColor(1, tick));
Label("label4", tchar[104], 2+x, 32, 15, 10, f_n, GetColor(2, tick));
Label("label5", tchar[97], 2+x, 40, 15, 10, f_n, GetColor(3, tick));
Label("label6", tchar[116], 2+x, 48, 15, 10, f_n, GetColor(4, tick));
Label("label7", tchar[32], 2+x, 56, 15, 10, f_n, GetColor(5, tick));
Label("label8", tchar[58], 2+x, 54, 15, 10, f_n, GetColor(6, tick));
Label("label9", tchar[81], 2+x, 61, 15, 10, f_n, GetColor(7, tick));
Label("label10", tchar[67], 2+x, 70, 15, 10, f_n, GetColor(8, tick));
Label("label11", tchar[104], 2+x, 78, 15, 10, f_n, GetColor(9, tick));
Label("label12", tchar[97], 2+x, 86, 15, 10, f_n, GetColor(10, tick));
Label("label13", tchar[111], 2+x, 94, 15, 10, f_n, GetColor(11, tick));
Label("label14", tchar[115], 2+x, 102, 15, 10, f_n, GetColor(12, tick));
Label("label15", tchar[48], 2+x, 110, 15, 10, f_n, GetColor(13, tick));
Label("label16", tchar[48], 2+x, 118, 15, 10, f_n, GetColor(14, tick));
Label("label17", tchar[49], 2+x, 126, 15, 10, f_n, GetColor(15, tick));
}
//+——————————————————————+
//| |
//+——————————————————————+
color GetColor(int n, int t)
{
color colir = LimeGreen;
if(n==t || n+1==t || n+2==t)
colir = Yellow;
if(n+10==t || n+11==t || n+12==t)
colir = Aqua;
if(n+20==t || n+21==t || n+22==t)
colir = Gold;
return(colir);
}
//+——————————————————————+
bar_shift = bar_shift – delta_bars*8;
if(bar_shift<0)


量子混沌 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!