int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])
这个可怜的人需要你的帮助
好的,我已经把关闭条件部分加了回去(附后)。原文编译时出现的错误与我调整后的相同。现在回到最初的问题:我是否能够以这样的方式编写代码,以满足我在开始请求时第一次发布的条件。这就是在RSI 6 Stoch 16.3.3 EMA 5高于EMA50水平高于70时买入,并在以下情况下卖出
我为纠正文件所做的是在元编辑器中打开文件,然后在屏幕上显示一个文件和另一个文件,以瓦片的方式显示在它旁边,并逐行查看哪些行被遗漏或不同。我不会编码,但我可以尝试破译别人所做的事情,并根据常识改变一两件事情。 你是个明星,Mladen
好的,我已经把平仓条件部分加了回去(附后)。原文编译时出现的错误与我调整后的相同。现在回到最初的问题:我是否能够以这样的方式编写代码,以满足我在开始请求时第一次发布的条件。这就是在RSI 6 Stoch 16.3.3 EMA 5高于EMA50水平高于70时买入,当RSI 6 Stoch 16.3.3 EMA5低于EMA50水平低于30时卖出。我对纠正文件所做的是在元编辑器中打开文件,然后使屏幕显示一边是一个文件,另一边是另一个文件,以瓷砖的方式,在它旁边,只是逐行查看哪些行是丢失或不同。我不会编码,但我可以尝试破译别人所做的事情,并根据常识改变一两件事情。
candyman752
测试一下EA。那些是编译器警告,不是错误。无论这些警告是什么,EA都应该工作。
candyman752 测试该EA。那些是编译器警告,不是错误。无论这些警告是什么,该EA都应该工作。
我认为你对确认的沉默是在确认我已经成功地将其编码为以下内容:RSI 6 stoch 16-3-3 / 5EMA 50EMA.超买水平70 超卖水平30。当5EMA移动到50EMA之上,并且RSI和Stoch高于70时,它应该买入,当5EMA低于50EMA,并且RSI和Stoch低于30时,它应该卖出。
你好,马德伦,让我以另一种方式提出我的请求
在原来的EA中,买入或卖出的条件是
if(EMA5aEMA10&&RSI1>RSILevel&&STOS<STOM&&STOS<Overbought&&STOM<Overbought)SBUY="true"。
if(EMA5a>EMA10a&&EMA5<EMA10&&RSI1STOM&&STOS>Oversold&&STOM>Oversold)SSEL="true";
然后我把代码改成如下。
if(EMA5aEMA50&&RSI1>RSILevelb&&STOSOverbought&&STOM>Overbought)SBUY="true"。
if(EMA5a>EMA50a&&EMA5<EMA50&&RSI1STOM&&STOS<Oversold&&STOM<Oversold)SSEL="true";
RSI levelb=70 RSI levels=30 overbought=70 oversold=30。
我对代码所做的修改是否符合我之前所说的条件。当5ema高于5ema时买入,RSI高于70,随机指数 高于70,反之亦然。
我认为你对确认的沉默是在确认我已经成功地编写了以下代码:RSI 6 stoch 16-3-3 / 5EMA 50EMA.Over bought level 70 oversold level 30。当5EMA移动到50EMA之上,并且RSI和Stoch高于70时,它应该买入,当5EMA低于50EMA,并且RSI和Stoch低于30时,应该卖出。
坎迪曼752
我告诉你的是,编译器在编译后显示的列表只包含不影响EA(任何EA)执行的警告。我没有检查 逻辑,也没有测试该EA。这就是为什么我告诉你,你必须测试它。
就代码而言,它可以工作。这取决于你的工作,对它进行微调,调整它需要调整的地方。
编码愉快
编码员。
我在使用下面的代码时遇到了一些问题。
长期以来,我一直使用两个指标作为过滤器。它们在第二个窗口的柱状图中显示趋势。
我试图创建第三个指标,将两个指标合并到一个柱状图中。
不幸的是,这并不奏效,我已经用iCustom函数调用 了两个指标,并使用了正确的缓冲区。但柱状图一直是空白的。
为了找到问题所在,我用一个iMA函数替换了iCustom函数。在那一刻,代码工作了,直方图显示了正确的颜色
。 所以这与iCustom函数或if语句有关。
我希望有人能帮助我。
谢谢
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_width1 3
#property indicator_width2 3
#property indicator_minimum 0
#property indicator_maximum 1
double Groen[];
double Rood[];
double zibo1g[],zibo1r[],zibo2g[],zibo2r[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0,Groen);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexLabel(0,"Groen");
SetIndexBuffer(1,Rood);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexLabel(1,"Rood");
IndicatorShortName("Zibo Combo");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
double dResult = 1;
for(int i=0; i<limit; i++){
zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram
zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram
zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram
zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram
if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)
Groen = dResult;
else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)
Rood = dResult;
}
return(rates_total);
}m1-red.mq4
大家好。我需要帮助修复这个指标......实际上需要添加一个与现有指标功能相同的(20周期MA),并消除消除颜色框,不使用
请原谅我的英语不好
编码者。
我在使用下面的代码时遇到了一些问题。
长期以来,我一直使用两个指标作为过滤器。它们在第二个窗口的柱状图中显示趋势。
我试图创建第三个指标,将两个指标合并到一个柱状图中。
不幸的是,这并不奏效,我已经用iCustom函数调用了两个指标,并使用了正确的缓冲区。但柱状图一直是空白的。
为了找到问题所在,我用一个iMA函数替换了iCustom函数。在那一刻,代码工作了,直方图显示了正确的颜色
。 所以这与iCustom函数或if语句有关。
我希望有人能帮助我。
谢谢
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_width1 3
#property indicator_width2 3
#property indicator_minimum 0
#property indicator_maximum 1
double Groen[];
double Rood[];
double zibo1g[],zibo1r[],zibo2g[],zibo2r[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0,Groen);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexLabel(0,"Groen");
SetIndexBuffer(1,Rood);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexLabel(1,"Rood");
IndicatorShortName("Zibo Combo");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
double dResult = 1;
for(int i=0; i<limit; i++){
zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram
zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram
zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram
zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram
if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)
Groen = dResult;
else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)
Rood = dResult;
}
return(rates_total);
}你的zibo1g[],zibo1r[],zibo2g[]和zibo2r[]数组总是零大小的数组(它们从未被初始化 - 调整为条形元素)。
如果你不熟悉如何在mql中使用数组,最好将它们声明为额外的缓冲区。
m1-red.mq4
大家好。我需要帮助修复这个指标......实际上需要添加一个(20期MA),其功能与现有指标相同,并消除消除颜色框,不使用
请原谅我糟糕的英语你所附的那个指标中没有颜色框。不管怎么说,试试这个:m1-red_1.mq4
谢谢Mladen一直以来的帮助。
在上一篇文章中,我想知道是否有可能用同样的公式添加另一个20期的MA