任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 343

 
当然,你可以!!!。
 
Vladimirovits:
的专家 文件夹 整个visual studio项目... 编译是一个.exe文件,对吗?

不,编译后的库是ExpertSample.dll文件
 
Forexman77:

模板取自一本教科书。我现在对错误处理功能不是很擅长。

在订单打开时,有RefreshRates();(我通过市场信息替换了Bids和Asks,因为我被告知)。

和错误处理功能。

我想问的是。我可以将129号错误中的以下一行添加到其中吗?

129

错误的价格(Err_invalid_price

价格不正确


当你收到这个错误时,你应该审查专家顾问的逻辑。是专家顾问在交易订单 中发送了一个错误的价格。而你决定用一个错误的贸易订单来拖垮服务器?


自动交易将被关闭,仅此而已。

 
artmedia70:

129

错误的价格(Err_invalid_price

价格不正确


当你得到这个错误时,你需要审查EA的逻辑。是专家顾问在交易订单中发送了错误的价格。而你决定用一个错误的贸易订单来拖垮服务器?


自动交易将被禁用,仅此而已。

翻阅了所有的资料。也许当专家顾问发出请求时。

Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buy
它是否记得以什么价格购买?

而我的情况如下。

if  (iClose(Symbol(),Period(),0) <= MA_6_t) 
          {                                          
          Opn_B=true;                    
          }

如果出价小于或等于MA,那么我们就买入。我们一直在买入,所以我们在追赶要求。

我在销售方面没有问题,只有购买方面的问题。

我找到了一些关于这个主题的信息。

"如果要求的开盘价不在价格流中,或者要求的价格在小数点 没有规范化,那么将产生错误129(ERR_INVALID_PRICE)。如果要求的开盘价严重过时,无论滑点参数的值如何,都会产生一个错误138(ERR_REQUOTE)。另一方面,如果要求的价格已经过时,但仍然存在于价格流中,则以当前价格开仓,而且只有在当前价格落在价格+滑点范围内时才会开仓。"

如果毕竟不是出价和要价,那么交易应该已经通过了。我引用 "如果要求的价格已经过时,但仍然存在于价格流中,那么就以当前价格开仓,而且只有当前价格落在价格+滑点范围内。" 悬停的价格100%在交易区。收盘价远低于移动平均线。

 

向大师提问。

我无法让指标在某些地区呈现。该指标的实质是,如果运动不超过某一数值,则数值保持在MA_otshet的书面值。

当超过该值时,该值就会变成,对应于当前时刻。

以下是该指标的代码及解释。

//+------------------------------------------------------------------+
//|                                                         EMAF.mq4 |
//|                                                 Kamil Gazizullin |
//|                                             forexman77@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Kamil Gazizullin"
#property link      "forexman77@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property  indicator_color1 Aqua 
//--- input parameters
//--- buffers
bool flag=true;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,0,1);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    raznica,raznica_static,MA_1_t,MA_2_t;
    
  if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars;
   static double MA_otshet;  //здесь хранится информация по MA_otshet
  for(int i=0;i<limit;i++)
   {  
      MA_1_t=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+0);  
      MA_2_t=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+1); 
      raznica=MA_1_t-MA_2_t; //разница между сегодня и вчера по скользящей средней
      raznica_static=MA_1_t-MA_otshet; //разница между сегодня и MA_otshet
      RefreshRates();   
      if(raznica > -0.0035 && raznica < 0.0035 && flag) // если raznica не превышает заданное число 
          {
          MA_otshet=MA_2_t; // записываем значение MA_otshet
          ExtMapBuffer1[i]=MA_otshet; //рисуем значение индикатора, как и вчера
          flag=false; // устанавливаем флаг запрета дальнейших расчетов
          }
      if(raznica_static > -0.0035 && raznica_static < 0.0035) //если raznica_static не превышает заданное число
          {
          ExtMapBuffer1[i]=MA_otshet;  // то рисуем значение индикатора, как записанный MA_otshet
          }
      if((raznica > 0.0035) || (raznica <- 0.0035)) // если raznica превышает заданное число
          {
          ExtMapBuffer1[i]=MA_1_t; // то рисуем значение по текущей цене
          flag=true; // разрешаем дальнейшие вычисления для расчета в диапазоне от -0.0035 до 0.0035
          }
   }  
   return(0);
  }
//+------------------------------------------------------------------+

 
Forexman77:

在一些地区,指标没有被画出来。该指标的实质是,如果运动不超过某一数值,其数值仍然是MA_otshet的记录值。

当超过该值时,该值就会变成,对应于当前时刻。

下面是该指标的代码和解释。


DRAW_SECTION

 
Forexman77:

我已经看完了所有的东西。也许当EA发出请求时。

它是否记得以什么价格购买?

而我的情况如下。

即买入价小于或等于MA,那么我们就买入。我在销售方面没有遇到任何问题,但我在销售方面没有遇到任何问题。

我在销售方面没有问题,只有购买方面的问题。

我找到了一些关于这个主题的信息。

"如果要求的开盘价不在价格流中,或者要求的价格在小数点后没有规范化,那么将产生错误129(ERR_INVALID_PRICE)。如果要求的开盘价严重过时,无论滑点参数的值如何,都会产生一个错误138(ERR_REQUOTE)。另一方面,如果要求的价格已经过时,但仍然存在于价格流中,则将以当前价格开仓,而且只有在当前价格落在价格+滑点范围内时才会开仓。"

如果毕竟不是出价和要价,那么交易应该已经通过了。我引用 "如果要求的价格已经过时,但仍然存在于价格流中,那么将以当前价格开仓,而且只有当前价格落在价格+滑点范围内。" 悬停的价格100%在交易区。克洛兹远远低于移动平均线。

让我们假设,Ask总是被规范化的是价格:它没有被计算出来,也没有被规范化的意义。

所以价格可能是错误的,为什么?也许数据已经过期?尝试在OrderSend() 之前立即运行RefreshRates()。

 
AccountComany的含义是什么?
你可以从名字中得出某些结论,但它与MT4编程语言有什么关系呢?

帐户信用?

帐户货币?

帐户权益?

帐户自由利润率?

AccountFreeMarginCheck?

帐户杠杆?

AccountStopoutLevel?

AccountStopoutMode?

ArrayBsearch?

我非常想知道每个命令的详细说明。请帮助我。

 

ArrayCopy?

ArrayCopyRates?

ArrayCopySeries?

ArrayDimension?

ArrayGetAsSeries?

 

什么是阵列率?