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

 
这是一个我如何使用指标的例子,它们都是一样的。
double  iMAf( string symbol, ENUM_TIMEFRAMES timeframe, int period, int ma_shift, ENUM_MA_METHOD ma_method, int applied_price, int shift){
 
 
 
                   int handle=iMA(symbol,timeframe,periodd(period),ma_shift, ma_method,applied_price);Sleep(2000);
                    CopyBuffer(handle,0,0,100,MA);
                    ArraySetAsSeries(MA,true);
    return( (MA[shift])); } 
                   

在所有职能部门之外规定的

 double MA[]; 
//---- handles for indicators
int MA_handle;

我是不是大体上写错了什么,或者大体上在哪里看,有什么问题?

 

手段在OnInit()中创建。

void OnInit()
  {
   ma_h=iMA(_Symbol,_Period,MA_Period,0,MODE_SMA,PRICE_CLOSE);
  }

我们在OnTick ()中获得数据

void OnTick()
  {
   CopyBuffer(ma_h,0,1,2,ma);
  }

这是一个标准结构的例子。

 
现在,我将使用记事本具体找到这些指标
 
谢谢你!!!!
 
它只在启动时触发一次,然后呢?
 
你只需创建 一次指标,然后在工作中从这些指标中获取数值。
 
对不起,如果手柄是在它的初始状态下创建的,那么什么会使手柄在新的点或至少是条的到来时重新绘制?真的,只是想了解。
 
Dimka-novitsek:
对不起,如果手柄是在它的初始状态下创建的,那么什么会使手柄在新的点或至少是条的到来时重新绘制?真的,只是想了解。
Handle是id,对指标的引用。一旦收到,然后CopyBuffer( handle,....)
 
Dimka-novitsek:
四千三百零二不是一个字符串,到底有什么问题呢?

当编译器发出错误时,它会显示行号和游标位置号。

当终端发出一个错误时,它显示错误号码。参见《手册》中的运行时错误部分,以及哪个错误对应的值 "4302"。手柄创建的位置是一个副问题 :)

 
谢谢你!!!