编码帮助 - 页 26

 

你好。

这里有谁能为我稍微修改一下WPR指标的代码吗?

我目前对WPR的理解是,它在每个柱形的收盘时写线。

我想让WPR在条形图长10点(高低点=>10点)时写线,然后等待新条形图再写。

我使用区间条,所以我的条总是>10。

很明显,我准备为这个修改付费。

齿形

附加的文件:
wpr.mq4  3 kb
 

WPR过滤了...

这可能是它

它的工作方式如下:如果高低范围大于或等于所需的过滤器,那么它将计算一个正常的WPR值,否则它将继承之前的值。下面是一个比较:上层是WPR,下层是过滤器设置为0的这个指标,下层是过滤器设置为10点的这个指标。

PS:由于你想以点为单位进行过滤,在更高的时间框架上,你可能需要使用更大的过滤器尺寸。

cog09:
你好。

这里有谁能为我稍微修改一下WPR指标代码吗?

目前我对WPR的理解是,它在每个柱状体的收盘时写线。

我想要的是WPR在条形图长10点(高低点=>10点)时写线,然后等待新条形图再写。

我使用范围棒,所以我的棒总是>10。

很显然,我准备为这个修改付费。

齿形
附加的文件:
 

需要帮助来修改指标。

你好。

首先,我想感谢论坛上所有的人的知识。

这是我的第一篇帖子,我是法国人,对不起,我的英语不好。

我的问题是这样的。

我有一个指标rsi_ema_mtf,我想修改它的编码。

我不想调用指标 "IMAonarray",而是调用指标 "JMA"。

有谁能帮助我吗?

我把这两个指标连接起来。

rsi_ema_mtf.mq4

jma.mq4

附加的文件:
jma.mq4  11 kb
 

EA不工作

大家好。

附件是我的EA,它没有开票/交易。

谁能看一下并告诉我它有什么问题?

谢谢

附加的文件:
test_ea.mq4  128 kb
 

...

kemal44

我已经回答了你的一个非常类似的帖子(这个帖子:https://www.mql5.com/en/forum/173219/page196)。

请阅读该帖子。另外,我建议你到这个部分去。Metatrader 4 mql 4 - 开发课程。我认为在那里可以找到很多关于编码EA和将它们与指标相结合的问题的答案。

万事如意

kemal44:
大家好。

附件是我的EA,它没有打开票据/交易。

谁能看一下并告诉我它有什么问题?

谢谢
 

(Req) 修改小代码,使其能以2位数对使用

尊敬的Guru程序员

有哪位程序员能对以下mq4内容进行一点修改,使其能在2位数的日元对上显示。该指标通常只能在4位数或5位数的工具上显示/工作,但奇怪的是不能在2位数的日元对或任何少于4位数的工具上显示/工作。请帮助。你也可以使用这个指标,值得修改/编码。请给我发邮件或在这里发帖。非常感谢。

#property indicator_chart_window

#属性 indicator_buffers 1

#属性 indicator_color1 LawnGreen

extern int ndot=5;

extern int CountBars=300;

//---- 缓冲区

double cfl[];

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

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

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

int init()

{

string short_name;

//---- 指标行

IndicatorBuffers(1);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,cfl);

//----

return(0);

}

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

//| |

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

int start()

{

如果(CountBars>=Bars) CountBars=Bars;

SetIndexDrawBegin(0,Bars-CountBars+ndot+1)。

int i,shift,cnt,ndot1,counted_bars=IndicatorCounted()。

double TYVar,ZYVar,TIndicatorVar,ZIndicatorVar,M,N,AY,AIn dicator。

//----

if(Bars<=ndot) return(0);

//----

shift=CountBars-ndot-1;

while(shift>=0)

{

TYVar=0。

ZYVar=0。

N=0;

M=0;

TIndicatorVar=0。

ZIndicatorVar=0。

ndot1=ndot。

如果(shift+1<ndot1)ndot1=shift+1。

for (cnt=ndot; cnt>=1; cnt--) // n=5 - 镱? 蜩 蝾麝囔

{

N=N+cnt*cnt; //疣忭?55

M=M+cnt; //疣忭?15

}

for (cnt=ndot1; cnt>=1; cnt--) // n=5 - 镱 蜩 蝾麝囔

{

ZYVar=ZYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2*(ndot+1-cnt)。

TYVar=TYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2。

ZIndicatorVar=ZIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1)*(ndot+1-cnt)。

TIndicatorVar=TIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1)。

}

AY=(TYVar+(N-2*ZYVar)*ndot/M)/M。

AIndicator=(TIndicatorVar+(N-2*ZIndicatorVar)*ndot/M)/M。

cfl[shift]=Close[shift]+((-1000)*MathLog(AY/AIndicator)/500)。

shift--。

}

返回(0)。

}

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

 

...

当我测试它时,它在USDJPY上看起来是这样的(所以它能工作)。

annbeea:
亲爱的Guru程序员

任何程序员都可以对下面的mq4内容进行一点修改,使其可以在2位数的日元对上显示。这个指标通常只能在4位数或5位数的工具上显示/工作,但奇怪的是不能在2位数的日元对或任何少于4位数的工具上显示/工作。请帮助。你也可以使用这个指标,值得修改/编码。请给我发邮件或在这里发帖。非常感谢。

#property indicator_chart_window

#属性 indicator_buffers 1

#属性 indicator_color1 LawnGreen

extern int ndot=5;

extern int CountBars=300;

//---- 缓冲区

double cfl[];

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

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

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

int init()

{

string short_name;

//---- 指标行

IndicatorBuffers(1);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,cfl);

//----

return(0);

}

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

//| |

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

int start()

{

如果(CountBars>=Bars) CountBars=Bars;

SetIndexDrawBegin(0,Bars-CountBars+ndot+1)。

int i,shift,cnt,ndot1,counted_bars=IndicatorCounted()。

double TYVar,ZYVar,TIndicatorVar,ZIndicatorVar,M,N,AY,AIn dicator。

//----

if(Bars<=ndot) return(0);

//----

shift=CountBars-ndot-1;

while(shift>=0)

{

TYVar=0。

ZYVar=0。

N=0;

M=0;

TIndicatorVar=0。

ZIndicatorVar=0。

ndot1=ndot。

如果(shift+1<ndot1)ndot1=shift+1。

for (cnt=ndot; cnt>=1; cnt--) // n=5 - 镱? 蜩 蝾麝囔

{

N=N+cnt*cnt; //疣忭?55

M=M+cnt; //疣忭?15

}

for (cnt=ndot1; cnt>=1; cnt--) // n=5 - 镱 蜩 蝾麝囔

{

ZYVar=ZYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2*(ndot+1-cnt)。

TYVar=TYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2。

ZIndicatorVar=ZIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1)*(ndot+1-cnt)。

TIndicatorVar=TIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1)。

}

AY=(TYVar+(N-2*ZYVar)*ndot/M)/M。

AIndicator=(TIndicatorVar+(N-2*ZIndicatorVar)*ndot/M)/M。

cfl[shift]=Close[shift]+((-1000)*MathLog(AY/AIndicator)/500)。

shift--。

}

返回(0)。

}

//+------------------------------------------------------------------+
附加的文件:
test.gif  28 kb
 

需要一个简单的江恩_SQ9_A2指标的MOD...Mladen请帮助...

嗨,mladen。

在我看来,你在编码方面很精通。我是一个完全的初学者,需要你的帮助。

我需要在选择模式1(或模式0,在这一点上我真的不在乎)时,让这个indi给出1和-1的输出,如果可能的话,请帮帮我吧!我需要的是1和-1。

输出(1,-1)在indi中已经存在了,但它没有输出这些值。

你可以从代码中的这个变量找到这些输出;âåðõ_âíèç。

我在尝试用这个indi做不同的事情,并取得了(几乎)成功,但当我想用iCustom函数调用 indi的EA时,它要么停滞不前,要么做一些奇怪的事情(在不同的修改阶段)。

我已经包括了 "几乎工作的原型 "indi(Gann_SQ9_A4),以及原始的(Gann_SQ9_A2)作为比较。

如果目前的 "原型 "可以在图表上显示 "1,或-1",那么我想把这个信号传送到indi的输出端并不是太难?但话说回来--我对indi的了解还不足以做到这一点!

我真的希望你能帮忙....

谢谢你

AG

附加的文件:
 
mladen:
当我测试它时,它在美元兑日元上看起来是这样的(所以它工作了)

与非日圆货币对相比,日圆货币对上的信号相当无意义,(没有买入或卖出信号),所以我说它在日圆货币对和所有小于4位数的工具上不起作用,你能不能重新编码/修改它? 非常感谢。

 

...

我需要知道你是如何使用它的信号的(从代码中我没有看到该指标的确切 "意图",特别是你有一部分代码是使用未来值进行计算的,这部分......)。
for (cnt=ndot1; cnt>=1; cnt--) // n=5 - ? ?? ???

{

ZYVar=ZYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2*(ndot+1-cnt);

TYVar=TYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2;

ZIndicatorVar=ZIndicatorVar+iMA(NULL,0,5,3,MODE_SMMA,PRICE_MEDIAN,shift-cnt+1)*(ndot+1-cnt);

TIndicatorVar=TIndicatorVar+iMA(NULL,0,5,3,MODE_SMMA,PRICE_MEDIAN,shift-cnt+1);

}

shift-cnt+1表达式几乎总是使用未来的值(除了当前的条形图),并将导致TE指标重绘。

annbeea:
与非日圆货币对相比,日圆货币对上的信号相当无意义,(没有买入或卖出信号),所以我说它在日圆货币对和所有小于4位数的工具上不起作用,你能不能重新编码/修改它? 非常感谢。