重写浮动指标到.mq4?
你好,新数码。
有没有人把浮动指标改写成MT4的.mq4脚本? 我看到这里有一个.mql版本。 在SB论坛上有关于这个指标的讨论,另外还写了一个专家,但是这个指标(由Barry Stander写的)表现得很糟糕,而且没有人能够找到源代码。 我发现以下由'Bigblock'在Gordago网站上发布的脚本。我不确定这是什么脚本,但也许对于一些想让它作为.mq4文件工作的雄心勃勃的人来说,其逻辑是清楚的? 它可能与barry S.的'Float'相同,尽管这个脚本比较长(我不是编码员)
在上面发布的Float指标中,我比较喜欢的是创造蓝色直方图线的斜坡的那个。 我还附上了SB论坛上的那个有问题的Float文件。
-MJ
-----------------------------
/*[[
名称 := FLOAT
作者 := Bigblockfw
独立窗口 := 是
第一颜色 :=蓝色
第一绘图类型:=直方图
第一符号 := 217
使用第二个数据 := 是
第二颜色 := 红色
第二绘图类型 := 线条
第二符号 := 218
将Float的值改为100,可以在15分钟的图表上正常显示。
200 = 30分钟 20 = 5分钟
]]*/
输入 : float(100),use_fibos(1),Backtesting(0);
变量:
shift(0),f(0),c1(0),high_bar(0),low_bar(0),bar_high(0),bar_low(0)。
变量:
cumulativeV(0),FLOATV(0),cumulativeV2(0),loopbegin2(0),swing(0),swing_time(0)。
变量 : swingv(0),loopbegin1(0),cnt(0)。
变量 : first(True),first1(True),prevbars(0)。
变量 : cvstart(0),cvend(0),bar(0),newcv(0),CV(0),CV2(0)。
变量 : fib23(0),fib38(0),fib50(0),fib62(0),fib76(0)。
变量 : dinap0(0),dinap1(0),dinap2(0),dinap3(0),dinap4(0),dinap5(0)。
变量 : CVL(0),CVL1(0),CVL2(0),CVL3(0),CVL4(0)。
cumulativeV=0。
cumulativeV2=0。
SetLoopCount(0);
如果Bars 1,那么
first = True。
first1 = True。
prevbars = Bars;
FLOATV=0。
如果第一条,则开始
loopbegin1 = Bars-float-1;
loopbegin2 = Bars-float-1;
first = False。
loopbegin1 = loopbegin1+1;
对于shift = loopbegin1下降到0开始
//找到高点和低点
high_bar = H;
Low_bar = L[Lowest(MODE_LOW,float,float)] 。
//找到条形计数
bars_high = highest(MODE_HIGH,float,float);
bars_low = lowest(MODE_LOW,float,float);
//寻找波动价格差
波段 = H-
L[Lowest(MODE_LOW,float,float)]。
//找到浮动时间的barcount
swing_time = abs(bar_low-bars_high);
//找出浮动期的累积成交量
IF bars_high < bars_low then
{
cvstart=bars_low。
cvend=bars_high;
}
否则
{
cvstart=bars_high;
cvend=bars_low;
}
如果first1和FLOATV=0 那么开始
for shift = cvstart downto cvend Begin {
FLOATV=FLOATV+V[shift]。
first1 = False;}
结束。
//找出自上次成交以来的累计成交量
for shift = cvstart downto 0 Begin
cumulativeV=cumulativeV+V[shift];
如果 cumulativeV>=FLOATV 则{
cumulativeV=0。
}
SetIndexValue(shift,cumulativeV*0.001);//蓝色
SetIndexValue2(shift,FLOATV*0.001);//红色
评论(
"n", "高点是",bar_high," bars ago"。
"/n", "Low was ",bar_low," bars ago","/n"。
"/n", "Float time was = ", swing_time," bars",
"/n", "Float Vol. left = ",FLOATV-cumulativeV,
"/n", "Float Volume = ",FLOATV
);
MoveObject("swingtop",OBJ_TRENDLINE,Time[cvstart],high_bar,Time[1],high_bar,Blue,1,STYLE_SOLID) 。
MoveObject("swingbottom",OBJ_TRENDLINE,Time[cvstart], Low_bar,Time[1], Low_bar,Blue,1,STYLE_SOLID);
//fibos
如果use_fibos=1,那么{
fib23=((high_bar-Low_bar)*0.236)+Low_bar;
fib38=((high_bar-Low_bar)*0.382)+Low_bar;
fib50=((high_bar-low_bar)/2)+Low_bar。
fib62=((high_bar-Low_bar)*0.618)+Low_bar;
fib76=((high_bar-Low_bar)*0.764)+Low_bar;
dinap0=(Low_bar+fib23)/2。
dinap1=(fib23+fib38)/2;
dinap2=(fib38+fib50)/2;
dinap3=(fib50+fib62)/2;
dinap4=(fib62+fib76)/2;
dinap5=(high_bar+fib76)/2。
MoveObject("fib23",OBJ_TRENDLINE,Time[cvstart],fib23,Time[1],fib23,Green,1,STYLE_DASH) 。
SetObjectText("23", "23.6", "Arial",8,绿色)。
MoveObject("23",OBJ_TEXT,time[0],fib23,time[0],fib23,Green)。
MoveObject("fib38",OBJ_TRENDLINE,Time[cvstart],fib38,Time[1],fib38,Green,1,STYLE_DASH);
SetObjectText("38", "38.2", "Arial",8,绿色)。
MoveObject("38",OBJ_TEXT,time[0],fib38,time[0],fib38,Green);
MoveObject("fib50",OBJ_TRENDLINE,Time[cvstart],fib50,Time[1],fib50,Red,2,STYLE_SOLID);
SetObjectText("50", "50", "Arial",8,green);
MoveObject("50",OBJ_TEXT,time[0],fib50,time[0],fib50,Green);
MoveObject("fib62",OBJ_TRENDLINE,Time[cvstart],fib62,Time[1],fib62,Green,1,STYLE_DASH);
SetObjectText("62", "61.8", "Arial",8,绿色)。
MoveObject("62",OBJ_TEXT,time[0],fib62,time[0],fib62,Green);
MoveObject("fib76",OBJ_TRENDLINE,Time[cvstart],fib76,Time[1],fib76,Green,1,STYLE_DASH);
SetObjectText("76", "76.4", "Arial",8,绿色)。
MoveObject("76",OBJ_TEXT,time[0],fib76,time[0],fib76,Green);
MoveObject("dinap0",OBJ_TRENDLINE,Time[cvstart],dinap0,Time[1],dinap0,Red,1,STYLE_DOT);
MoveObject("dinap1",OBJ_TRENDLINE,Time[cvstart],dinap1,Time[1],dinap1,Red,1,STYLE_DOT);
MoveObject("dinap2",OBJ_TRENDLINE,Time[cvstart],dinap2,Time[1],dinap2,Red,1,STYLE_DOT)。
MoveObject("dinap3",OBJ_TRENDLINE,Time[cvstart],dinap3,Time[1],dinap3,Red,1,STYLE_DOT);
MoveObject("dinap4",OBJ_TRENDLINE,Time[cvstart],dinap4,Time[1],dinap4,Red,1,STYLE_DOT)。
MoveObject("dinap5",OBJ_TRENDLINE,Time[cvstart],dinap5,Time[1],dinap5,Red,1,STYLE_DOT) 。
}
//转换。浮动线。这些画的是计算浮动的线。
//如果你把 "趋势线 "改为 "V线",它也会通过震荡器来绘制,可能很有趣
MoveObject("CVSTART",OBJ_TRENDLINE,Time[cvstart],high_bar,Time[cvstart],Low_bar*point,Blue,1,STYLE_SOLID) 。
MoveObject("CVEND",OBJ_TRENDLINE,Time[cvend],high_bar,Time[cvend],Low_bar*point,Blue,1,STYLE_SOLID);
//反转浮点预测。这些只是基于时间的。
//看到蓝色柱状图的真实浮点值。
//如果你把 "趋势线 "改为 "V线",它也会通过震荡器进行绘制,可能会很有趣。
if cvend-swing_time>0 then {
MoveObject("swingend",OBJ_TRENDLINE,Time[(cvend-swing_time)+5],high_bar,Time[cvend-swing_time+5],Low_bar,Red,1,STYLE_DOT) 。
}
else DelObject("swingend",0,0,0);
如果cvend-(swing_time*2)>0 那么 {
MoveObject("swingend2",OBJ_TRENDLINE,Time[(cvend-(swing_time*2))+5],high_bar,Time[cvend-(swing_time*2)+5],Low_bar,Red,1,STYLE_DOT) 。
}
else DelObject("swingend2",0,0,0);
如果cvend-(swing_time*3)>0 那么 {
MoveObject("swingend3",OBJ_TRENDLINE,Time[(cvend-(swing_time*3))+5],high_bar,Time[cvend-(swing_time*3)+5], Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend3",0,0,0)。
如果cvend-(swing_time*4)>0 那么 {
MoveObject("swingend4",OBJ_TRENDLINE,Time[(cvend-(swing_time*4))+5],high_bar,Time[cvend-(swing_time*4)+5], Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend4",0,0,0);
如果cvend-(swing_time*5)>0 那么 {
MoveObject("swingend5",OBJ_TRENDLINE,Time[(cvend-(swing_time*5))+5],high_bar,Time[cvend-(swing_time*5)+5], Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend5",0,0,0);
如果cvend-(swing_time*6)>0 那么 {
MoveObject("swingend6",OBJ_TRENDLINE,Time[cvend-(swing_time*6)+5],high_bar,Time[cvend-(swing_time*6)+5], Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend6",0,0,0);
如果cvend-(swing_time*7)>0 那么 {
MoveObject("swingend7",OBJ_TRENDLINE,Time[cvend-(swing_time*7)+5],high_bar,Time[cvend-(swing_time*7)+5], Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend7",0,0,0);
如果cvend-(swing_time*8)>0 那么 {
MoveObject("swingend8",OBJ_TRENDLINE,Time[cvend-(swing_time*8)+5],high_bar,Time[cvend-(swing_time*8)+5], Low_bar,Red,1,STYLE_DOT)。
}
else DelObject("swingend8",0,0,0);
如果cvend-(swing_time*9)>0 那么 {
MoveObject("swingend9",OBJ_TRENDLINE,Time[cvend-(swing_time*9)+5],high_bar,Time[cvend-(swing_time*9)+5], Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend9",0,0,0);
//注释掉你不使用的东西,这将有助于提高速度。
如果Backtesting = 1 那么 {
SetGlobalVariable("fib23",fib23)。
SetGlobalVariable("fib38",fib38);
SetGlobalVariable("fib50",fib50);
SetGlobalVariable("fib62",fib62);
SetGlobalVariable("fib76",fib76);
SetGlobalVariable("dinap0",dinap0);
SetGlobalVariable("dinap1",dinap1);
SetGlobalVariable("dinap2",dinap2);
SetGlobalVariable("dinap3",dinap3);
SetGlobalVariable("dinap4",dinap4);
SetGlobalVariable("dinap5",dinap5);
SetGlobalVariable("swingtop",high_bar);
SetGlobalVariable("swingbottom",Low_bar);
SetGlobalVariable("CVSTART",CVSTART);
SetGlobalVariable("CVEND",CVEND);
SetGlobalVariable("FLOATV",FLOATV);
SetGlobalVariable("cumulativeV",cumulativeV);
SetGlobalVariable("swing_time",swing_time);
SetGlobalVariable("bar_high",bar_high);
SetGlobalVariable("barls_low",barls_low)。
如果cvend-swing_time>0,那么
SetGlobalVariable("swingend", (cvend-swing_time)+5);
如果cvend-(swing_time*2)>0,那么
SetGlobalVariable("swingend2",cvend-(swing_time*2)+5)。
如果cvend-(swing_time*3)>0,那么
SetGlobalVariable("swingend3",cvend-(swing_time*3)+5);
如果cvend-(swing_time*4)>0,那么
SetGlobalVariable("swingend4",cvend-(swing_time*4)+5);
如果cvend-(swing_time*5)>0,那么
SetGlobalVariable("swingend5",cvend-(swing_time*5)+5);
如果cvend-(swing_time*6)>0,那么
SetGlobalVariable("swingend6",cvend-(swing_time*6)+5);
如果cvend-(swing_time*7)>0,那么
SetGlobalVariable("swingend7",cvend-(swing_time*7)+5);
如果cvend-(swing_time*8)>0,那么
SetGlobalVariable("swingend8",cvend-(swing_time*8)+5);
如果cvend-(swing_time*9)>0,那么
SetGlobalVariable("swingend9",cvend-(swing_time*9)+5)。
}
结束。
结束。
结束。
结束。
如何使用EX4文件? 浮动指标
你好,MFX。
谢谢你的帮助。但是,我不知道如何将EX4文件变成可用的.mq4文件?你知道吗?当我在MetaEditor内打开它时,我只得到一个信息 "请下载最新的文件"。 从哪里来的,它没有说。 如果我把你所附的文件变成一个.txt文件,并试图打开它,它只是胡言乱语。 有什么建议吗?
谢谢。
MJ
伙计们,不要浪费你们的时间。最后一个浮动指标,如Barrys的浮动指标,在历史上是重新改变的,所以他们所显示的是不真实的。
在过去的一年里,我没有在任何论坛上看到任何工作版本的浮动指标(不是带MA`s的那个,而是带Fibs和Histograms的那个)。
谢谢你的源文件,巴里。
我试过mq4上的浮动指标,它确实有时会自己重绘。 浮动似乎相当可靠,但也有那么一小部分。 几个月前,我曾在一个演示中试过,似乎你确实可以用它来交易,但不是100%。 这里发布的浮动指标与我所使用的不同。
我试过mq4上的浮动指标,它确实有时会自己重绘。 浮动似乎相当可靠,但也有那么一小部分。 几个月前,我曾在一个演示版上试过,似乎你确实可以用它来交易,但不是100%。 这里发布的浮动指标与我所使用的不同。
你用的是哪种指标,请你公布一下好吗?
非常有趣的指标。见所附图片。
红色是平盘。看来我们没有在平盘期间进行交易。