初学者的问题 MQL5 MT5 MetaTrader 5 - 页 236

 
barabashkakvn:
所有的计算都是在OnCalculate中完成的(即在这里定义一个新的bar事件)。
谢谢你,我会看一看的。也许我不明白,但在Five中,似乎不可能指定缓冲区索引来获取自定义指标 的值。
 
forexman77:
谢谢,我会看看的。也许我不明白,但似乎没有可能指定缓冲区的索引来获取自定义指标 的值。
iCustom给出了自定义指标的句柄。然后是CopyBuffer,其中第二个参数是缓冲区编号。
 
你能告诉我是否有一个功能可以完全停止EA的优化,而不是单独的优化运行?
 
barabashkakvn:
iCustom给出了自定义指标的 句柄。然后是CopyBuffer,其中第二个参数是缓冲区编号。

告诉我,是否有可能在脚本中获得指标的值?

我是这样试的。

input int MA_Period=21;
input int MA_Shift=0;
input ENUM_MA_METHOD MA_Method=MODE_SMA;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
double MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE // считаем по ценам закрытия
                     );  
Alert("MA_handle=",MA_handle);
  }

我在任何指标上得到的值都是10。

我也这样试过(错误4807出来了)。

input int MA_Period=21;
input int MA_Shift=0;
input ENUM_MA_METHOD MA_Method=MODE_SMA;
int MA_handle;
double ma1Val[]; 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

//--- массив значений индикатора MA
   ArraySetAsSeries(ma1Val,true);
//--- копируем значения индикаторов из индикаторных буферов
   if(CopyBuffer(MA_handle,0,0,3,ma1Val)<0)
     {
      Alert("Ошибка копирования буферов индикатора Moving Average - номер ошибки:",GetLastError(),"!!");
      return;
     }
MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE // считаем по ценам закрытия
                     );  
Alert("ma1Val[0]=",ma1Val[0]);
  }
 
forexman77:
将采用以下程序。
iCustom给你自定义指标的 手柄。然后是CopyBuffer,其中第二个参数是缓冲区号码。

告诉我,是否有可能在脚本中获得指标的值?

我是这样试的。

我在任何指标上得到的值都是10。

尝试了另一种方法(错误4807出来了)。

1.阅读iCustom帮助。
2.要获得指标缓冲区的值:获得指标句柄,然后使用CopyBuffer复制所需的指标缓冲区。
 
barabashkakvn:
1.阅读iCustom帮助。
2.获得指标缓冲区值的顺序:获得指标句柄,然后使用CopyBuffer通过这个句柄复制所需的指标缓冲区。
我明白,我会研究的。我问的是脚本,因为它没有 "OnInit",它得到的是手柄。所以脚本在 "OnStart "之前就要求提供手柄?
 
forexman77:
我明白了,我会研究的。我问的是脚本,因为它没有 "OnInit",它得到的是手柄。这是否意味着脚本在 "OnStart "之前就请求处理?
OnInit存在于专家顾问和指标中。
 
barabashkakvn:
OnInit是在专家和指标中。
一切都成功了!!。谢谢你!!!。
 
forexman77:
这一切都成功了!谢谢你!!!。
不客气。
 
Fleder:
市场中的产品有5至20个激活(由零售商决定)。如果你还没有用完你的激活尝试,不要担心,他们不会向你收取额外的钱。
谢谢你的回答,我将按下按钮购买。没有其他的 :-)