编码帮助 - 页 450

 

嗨,King mladen先生。

在这个文件中,我需要一个修改,当前蜡烛的高/低点吞噬前一根蜡烛的开盘收盘机构。

问候

附加的文件:
audusdh15.png  28 kb
 
keansajeweki:
你好,Mladen。你能不能看看这个威胁,因为当我把它插入我的MT4并再次启动时,我没有一个ex文件。它是USC Murrey Math Oscillator V2

请附上你所使用的确切文件,以便有人能看一下。

 
hanic:
你好,Mr.King mladen。

在这个文件中,我需要一个修改,当前的蜡烛高点/低点吞噬以前的蜡烛开盘收盘的机构,一步正在进行的酒吧你已经添加了它,这表明你已经知道,你是天才,大家都知道。

问候

那根蜡烛的高点并没有吞噬之前3根蜡烛的高点(仔细看看那根蜡烛的高点,并与之前2根蜡烛的高点进行比较)。

另外,你不能比较苹果和梨:如果比较开盘/收盘(主体),那么就不能使用当前条形的高点和低点,而是使用开盘/收盘(主体)。如果你使用高/低点,那么比较的条形高/低点也会被使用。

 

枢轴点汇合文本

我发现了一个不错的MT4枢轴点汇合指标,但它没有像下图那样显示文字标签和数字。它只画线,但我也喜欢看文字和数字。

附加的文件:
 
keansajeweki:
你好,Mladen。你能不能看看这个威胁,因为当我把它插入我的MT4并再次启动时,我没有一个ex文件。它是USC Murrey Math Oscillator V2

姜思源

那是tradingView代码(不是metatrader代码)。

有人把它贴成mq4,但它与metatrader无关。

 

有哪位好心人能把这个修好,让它在6位数的经纪人身上工作?

//+------------------------------------------------------------------+

//| 70/50VolBreakout.mq4|

//| Keris2112 | |

//| |

//+------------------------------------------------------------------+

#属性版权 "Keris2112"

#property link ""

#属性 indicator_chart_window

#属性 indicator_buffers 4

#属性 indicator_color1 DodgerBlue

#属性 indicator_color2 红色

#属性指示器_color3 Sienna

#属性指示器_颜色4 青柠色

#属性指示器宽度1 5

#属性指示器宽度2 3

#属性指示器宽度3 5

#属性 indicator_width4 3

Extern int EntryPercent = 70;

Extern int StopPercent = 50;

int i=1, shift;

双倍PrevRange。

double LongEntry;

double LongStop;

double ShortEntry;

双重ShortStop。

bool result。

//---- 缓冲区

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

双倍ExtMapBuffer5[]。

bool isNewDay(int _shift)

{

//----

结果=false。

如果 ( (TimeHour(Time[_shift])==0) && (TimeMinute(Time[_shift])==0) ) 结果=true。

//----

return(result)。

}

空白GetRS1ofDay(int _shift)

{

int prevDay=TimeDay(Time[_shift+1])。

//----

i=1;

while (TimeDay(Time[_shift+i])==prevDay) i++;

i--;

PrevRange=High - Low[Lowest(NULL,0,MODE_LOW,i,_shift+1)] 。

LongEntry = Open[_shift] + (PrevRange * (EntryPercent*0.01))。

LongStop = LongEntry - (PrevRange * (StopPercent*0.01))。

ShortEntry = Open[_shift]-(PrevRange * (EntryPercent*0.01))。

ShortStop = ShortEntry + (PrevRange * (StopPercent*0.01))。

ExtMapBuffer1[_shift] = LongEntry。

ExtMapBuffer2[_shift] = LongStop;

ExtMapBuffer3[_shift] = ShortEntry;

ExtMapBuffer4[_shift] = ShortStop;

评论(

"上一个范围。 ",PrevRange*1/Point," pips",

",(EntryPercent), "先前范围的%。 ",MathRound((EntryPercent*PrevRange*(0.01/Point))," pips",

"n",(StopPercent), "以前范围的%。 ",MathRound((StopPercent*PrevRange*(0.01/Point))," pips",

"/nOpen: ",Open[_shift],

"/nEnter BuyStop at: ",ExtMapBuffer1[_shift]," 与StopLoss在。 ",ExtMapBuffer2[_shift],

"(nEnter SellStop at: ",ExtMapBuffer3[_shift]," 与止损在。 ",ExtMapBuffer4[_shift])。

}

void CopyLevels1Day(int _shift)

{

ExtMapBuffer1[_shift]=ExtMapBuffer1[_shift+1];

ExtMapBuffer2[_shift]=ExtMapBuffer2[_shift+1];

ExtMapBuffer3[_shift]=ExtMapBuffer3[_shift+1];

ExtMapBuffer4[_shift]=ExtMapBuffer4[_shift+1];

ExtMapBuffer5[_shift]=ExtMapBuffer5[_shift]。

//+------------------------------------------------------------------+

//|自定义指标 初始化函数 |

//+------------------------------------------------------------------+

int init()

{

//---- 指标

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,160);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexLabel(0,0);

SetIndexStyle(1,DRAW_ARROW)。

SetIndexArrow(1,160);

SetIndexBuffer(1,ExtMapBuffer2)。

SetIndexEmptyValue(1,0.0);

SetIndexLabel(1,0);

SetIndexStyle(2,DRAW_ARROW)。

SetIndexArrow(2,160);

SetIndexBuffer(2,ExtMapBuffer3)。

SetIndexEmptyValue(2,0.0);

SetIndexLabel(2,0);

SetIndexStyle(3,DRAW_ARROW)。

SetIndexArrow(3,160);

SetIndexBuffer(3,ExtMapBuffer4)。

SetIndexEmptyValue(3,0.0);

SetIndexLabel(3,0);

SetIndexBuffer(0,ExtMapBuffer5)。

//----

返回(0)。

}

//+------------------------------------------------------------------+

//| Custor指示器的去初始化功能|

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//|自定义指标迭代函数|

//+------------------------------------------------------------------+

int start()

{

int limit,firstDay;

int counted_bars=IndicatorCounted();

如果(counted_bars<0)返回(0)。

如果(counted_bars==0)

{

limit=Bars-1。

i=1;

firstDay=TimeDay(Time[limit])。

while (TimeDay(Time[limit-i])==firstDay) i++;

limit=limit-i-PERIOD_D1/Period()。

}

如果(counted_bars>0) limit=Bars-counted_bars。

//----

if (Period()>PERIOD_D1) return;

for (shift=limit;shift>=0;shift--)

{

如果(isNewDay(shift))GetRS1ofDay(shift); else CopyLevels1Day(shift);

}

//----

return(0);

}

//+------------------------------------------------------------------+

 

你好,Mladen--一如既往地感谢你的答复--你的技能范围内是否有可能建立这样一个指标? 再次感谢。

mladen:
就我所搜索的,没有这样的指标
 
angrysky:
有哪位好心人能把这个问题修改成在6位数的经纪人身上工作?

//+------------------------------------------------------------------+

//| 70/50VolBreakout.mq4|

//| Keris2112 | |

//| |

//+------------------------------------------------------------------+

#属性版权 "Keris2112"

#property link ""

#属性 indicator_chart_window

#属性 indicator_buffers 4

#属性 indicator_color1 DodgerBlue

#属性 indicator_color2 红色

#属性指示器_color3 Sienna

#属性指示器_颜色4 青柠色

#属性指示器宽度1 5

#属性指示器宽度2 3

#属性指示器宽度3 5

#属性 indicator_width4 3

Extern int EntryPercent = 70;

Extern int StopPercent = 50;

int i=1, shift;

双倍PrevRange。

double LongEntry;

double LongStop;

double ShortEntry;

双重ShortStop。

bool result。

//---- 缓冲区

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

双倍ExtMapBuffer5[]。

bool isNewDay(int _shift)

{

//----

结果=false。

如果 ( (TimeHour(Time[_shift])==0) && (TimeMinute(Time[_shift])==0) ) 结果=true。

//----

return(result)。

}

空白GetRS1ofDay(int _shift)

{

int prevDay=TimeDay(Time[_shift+1])。

//----

i=1;

while (TimeDay(Time[_shift+i])==prevDay) i++;

i--;

PrevRange=High - Low[Lowest(NULL,0,MODE_LOW,i,_shift+1)] 。

LongEntry = Open[_shift] + (PrevRange * (EntryPercent*0.01))。

LongStop = LongEntry - (PrevRange * (StopPercent*0.01))。

ShortEntry = Open[_shift]-(PrevRange * (EntryPercent*0.01))。

ShortStop = ShortEntry + (PrevRange * (StopPercent*0.01))。

ExtMapBuffer1[_shift] = LongEntry。

ExtMapBuffer2[_shift] = LongStop;

ExtMapBuffer3[_shift] = ShortEntry;

ExtMapBuffer4[_shift] = ShortStop;

评论(

"上一个范围。 ",PrevRange*1/Point," pips",

",(EntryPercent), "先前范围的%。 ",MathRound((EntryPercent*PrevRange*(0.01/Point))," pips",

"n",(StopPercent), "以前范围的%。 ",MathRound((StopPercent*PrevRange*(0.01/Point))," pips",

"/nOpen: ",Open[_shift],

"/nEnter BuyStop at: ",ExtMapBuffer1[_shift]," 与StopLoss在。 ",ExtMapBuffer2[_shift],

"(nEnter SellStop at: ",ExtMapBuffer3[_shift]," 与止损在。 ",ExtMapBuffer4[_shift])。

}

void CopyLevels1Day(int _shift)

{

ExtMapBuffer1[_shift]=ExtMapBuffer1[_shift+1];

ExtMapBuffer2[_shift]=ExtMapBuffer2[_shift+1];

ExtMapBuffer3[_shift]=ExtMapBuffer3[_shift+1];

ExtMapBuffer4[_shift]=ExtMapBuffer4[_shift+1];

ExtMapBuffer5[_shift]=ExtMapBuffer5[_shift]。

//+------------------------------------------------------------------+

//|自定义指标初始化函数 |

//+------------------------------------------------------------------+

int init()

{

//---- 指标

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,160);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexLabel(0,0);

SetIndexStyle(1,DRAW_ARROW)。

SetIndexArrow(1,160);

SetIndexBuffer(1,ExtMapBuffer2)。

SetIndexEmptyValue(1,0.0);

SetIndexLabel(1,0);

SetIndexStyle(2,DRAW_ARROW)。

SetIndexArrow(2,160);

SetIndexBuffer(2,ExtMapBuffer3)。

SetIndexEmptyValue(2,0.0);

SetIndexLabel(2,0);

SetIndexStyle(3,DRAW_ARROW)。

SetIndexArrow(3,160);

SetIndexBuffer(3,ExtMapBuffer4)。

SetIndexEmptyValue(3,0.0);

SetIndexLabel(3,0);

SetIndexBuffer(0,ExtMapBuffer5)。

//----

返回(0)。

}

//+------------------------------------------------------------------+

//| Custor指示器的去初始化功能|

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//|自定义指标迭代函数|

//+------------------------------------------------------------------+

int start()

{

int limit,firstDay;

int counted_bars=IndicatorCounted();

如果(counted_bars<0)返回(0)。

如果(counted_bars==0)

{

limit=Bars-1。

i=1;

firstDay=TimeDay(Time[limit])。

while (TimeDay(Time[limit-i])==firstDay) i++;

limit=limit-i-PERIOD_D1/Period()。

}

如果(counted_bars>0) limit=Bars-counted_bars。

//----

if (Period()>PERIOD_D1) return;

for (shift=limit;shift>=0;shift--)

{

如果(isNewDay(shift))GetRS1ofDay(shift); else CopyLevels1Day(shift);

}

//----

return(0);

}

//+------------------------------------------------------------------+

它似乎是在工作

你遇到的问题是什么?

附加的文件:
test.gif  71 kb
 

先生,您好。

当我们比较公式时,即前一根蜡烛的低点或高点,大于或小于前一根蜡烛,metatrader不允许这样做?

在Belthold模式中,这个公式被使用,在这个c >h1。

我想在许多情况下,在许多蜡烛图 的公式中,高低点是与蜡烛体相比较的。

问候

附加的文件:
mdsir.png  16 kb
belthold.png  20 kb
 
triip:
我发现了一个不错的MT4枢轴点汇合指标,但它不像下图那样显示文字标签和数字。它只画线,但我也想看到文字和数字。

我不知道哪个版本是这样显示的,但在旧版本的metatrader中也不是这样显示的(我在build 432中也试过,显示的内容和新版本完全一样)。