来自一个 "傻瓜 "的问题 - 页 49

 

你好!!我有个问题,比如我的EA在m5上工作.我通过iCustom()调用指标.时间段被强行绑定在m5上.我能否在另一个时间段再次调用同一个 指标.为此,其他缓冲区,其他输入和输出将是不同的magik.对于这个EA在多个时间段同时工作。

ma1_handle= iCustom("EURUSD",PERIOD_M5,"Examples\\MACD.exe5"   ....
ma2_handle= iCustom("EURUSD",PERIOD_M15,"Examples\\MACD.exe5"    ....
 
uncleVic:
所有的 "旧 "模块都在为新的向导重新设计中。
如果信号模块的列表与旧的向导相同就更好了,这样你就不必在创建EA 后纠正代码。我的意思是,当每个指标已经包含几个信号时,它是不方便的。但如果它们都按顺序排列,例如:移动平均线交叉的信号,CCI背离的信号,等等。那么任何初学者都肯定能够建立一个专家顾问。
 
Karlson:

你好!!我有个问题,比如我的EA在m5上工作.我通过iCustom()调用指标.时间段被强行绑定在m5上.我能否在另一个时间段再次调用同一个 指标.为此,其他缓冲区,其他输入和输出将是不同的magik.对于这个EA在多个时间段同时工作。

你可以。
 
kirill-demo:
如果信号模块的列表与旧的向导相同就更好了,这样你就不必在创建EA 后纠正代码。我的意思是,当每个指标已经包括几个信号时,这是不方便的。但如果它们都按顺序排列,例如:移动平均线交叉的信号,CCI背离的信号,等等。在这种情况下,任何初学者都肯定能够建立一个EA。
不便之处显而易见。
 

我开始研究MQL5(我已经处理了半年的第四个了)。我通过模板创建了一个空指标,并在其中添加了一行。

Comment("low[1] = ",DoubleToString(low[1]);

我把它投到欧元-美元的分钟上,看到低点[1]=1.44938

自7月以来,我还没有看到这个价值...

这有什么关系呢?


完整的代码。

//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   Comment("low[1] = ", DoubleToString(low[1]));
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
看这个低点的时间[1] 。
 
sergeev:

看到这个低点的时间[1]

我明白了,2011.07.27。


暂时纠正了这句话

ArraySetAsSeries(low, true)。

在这种情况下,我们是否必须在每次调用时明确指定该标志的值?

 
 
尝试低[rate_total-2]
 
sergeev:


谢谢你的帮助