新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 831

 

你好。


我已经看到了许多通过机器人向Telegram发送信号的解决方案。有没有可能做相反的事情呢?从Telegram接收信号并在MT4上执行?如果有类似的东西,请把链接发给我。

 
sahsa-777:
还有一个相关的问题--是否有办法将抛物线附在新版本上,也许作为一个过滤器?

请给我看看新版本的抛物线

 
缩减可以作为一个函数吗?
   prosadka=AccountProfit()*100/AccountBalance()*-1;
   if(prosadka>0) prosadka1=prosadka;
   else prosadka1=0;
 
修改订单时,错误#1是什么?在帮助中,它说 "没有错误,但结果不知道"。我不明白我应该纠正什么
 
Alexandr Sokolov:
修改订单时,错误#1是什么?帮助说 "没有错误,但结果是未知的"。我不明白我应该纠正什么

如果在订单修改过程中,您向服务器发送了与订单相同的值,即ТР new = ТР set 和 SL new = SL set,就会发生这个错误。

请记住,如果你在平等的基础上比较非归一化的实值,你可能会得到不完全是你预期的结果;)

 
Igor Makanu:

如果在订单修改过程中,您向服务器发送了与订单相同的值,即ТР new = ТР set 和 SL new = SL set,就会发生这个错误。

HH:别忘了,如果你比较非归一化的实值进行平等,你可能不会得到你预期的结果;)

如果只是其中之一呢? 还是需要同时改变它们?

 
Alexandr Sokolov:

如果只是其中一个呢? 还是需要同时改变两个?

在修改订单时,至少需要改变一个参数,错误#1 - 如果在向服务器发送请求后,没有任何需要改变的地方

解除你向服务器发送的内容,你将立即看到

 
Igor Makanu:

在修改订单时,至少需要改变一个参数,错误#1 - 如果在向服务器发送请求后,没有任何需要改变的地方

解除打印你发送到服务器的内容,你就会马上看到它。

谢谢你

 

专家们下午好。

有一个问题,有一个指标(修改的包络)。它被插入到专家顾问中。

我不能让它显示出效果。

我已经规定了指标的数值。

//************************************************************************************************/
#property indicator_chart_window
#property  indicator_buffers 4

#property  indicator_color1  Red
#property  indicator_color2  Blue
#property  indicator_color3  Red
#property  indicator_color4  Blue

#property  indicator_width1  2
#property  indicator_width2  2
#property  indicator_width3  1
#property  indicator_width4  1

#property  indicator_style1  0
#property  indicator_style2  0
#property  indicator_style3  1
#property  indicator_style4  1

double ExtSell_Buffer[];
double ExtBuy_Buffer[];
double ExtSell_2_Buffer[];
double ExtBuy_2_Buffer[];
//************************************************************************************************/

我已经做了初始化。

//************************************************************************************************/
int OnInit()
{
  //--- drawing settings-----------
   IndicatorBuffers(4);
   IndicatorDigits(Digits);
//--- 
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtSell_Buffer);
   SetIndexShift(0,Ma_Shift);
   SetIndexLabel(0,"Line_Sell");
//--- 
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtBuy_Buffer);
   SetIndexShift(1,Ma_Shift);
   SetIndexLabel(1,"Line_Buy");
   //------------------------------
//--- 
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,ExtSell_2_Buffer);
   SetIndexShift(2,Ma_Shift);
   SetIndexLabel(2,"Line_Sell_2");
//--- 
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,ExtBuy_2_Buffer);
   SetIndexShift(3,Ma_Shift);
   SetIndexLabel(3,"Line_Buy_2");
//------------------------------
   return(INIT_SUCCEEDED);
}
//************************************************************************************************/

然后我尝试在代码中填充缓冲区。

//************************************************************************************************/
void OnTick()
{
Paint ();
}

//************************************************************************************************/
void Paint()
{
//-----------------------------------------------
int limit; 
int counted_bars=IndicatorCounted(); 
//---- последний посчитанный бар будет пересчитан 
if(counted_bars>0) counted_bars--; 
limit=Bars-counted_bars; 
//---- основной цикл 
for(int i=0; i<limit; i++) 
   { 
      ExtSell_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation, 1, i); 
      ExtBuy_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation, 2, i);

      ExtSell_2_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation_2, 1, i); 
      ExtBuy_2_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation_2, 2, i);
   }
   return;
}
//-----------------------------------------------

编译没有错误,但在启动时出现错误 "数组超出范围 "并停止(由于EA的一个关键错误,测试通道停止)。

帮助修复...

p.s. 单独的指示器工作起来没有错误。

 
Alexander Layzerevich:

专家们下午好。

有一个问题,有一个指标(修改的包络)。它被插入到专家顾问中。

我不能让它显示出绘画。

专家顾问没有指标缓冲区,也不在终端绘制。

在帮助中阅读专家顾问与脚本和指标的区别是什么