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

 

我有一个关于通过iCustom调用指标 的问题。

1.有可能从传递给iCustom的参数列表中排除一些指标参数。例如,我不想传递一些字符串参数或任何其他参数。当从专家顾问中调用一个带有sinput修改器的指标外部参数时,也应在iCustom中指定?

2.如果指标有很多参数(大约数百个),什么是最好的解决方案?是否有现成的解决方案,如何调用这个指标?

谢谢你。

 

我想让EA在价格越过MA时关闭未结头寸

请告知如何实现这一点。

谢谢你

 
RichLux:

我想让EA在价格越过MA时关闭未结头寸

请告知如何实现这一点。

谢谢你

void CheckForClose_MA()
  {
   double MA=iMA(NULL,0,ma_period,ma_shift,MODE_SMMA,PRICE_MEDIAN,0);

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)        break;
        //---- check order type 
      if(OrderType()==OP_BUY)
        {
         if(Low[1]>=MA) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
         break;
        }
     }
//----


doubleiMA(
stringsymbol,// 符号名称
inttimeframe,// 时间框架
intma_period,//周期
intma_shift,//转移平均数
intma_method,// averaging method
intapplied_price,//价格类型
intshift// shift
)。

 

如何知道哪些参数已经通过iCustom发送至专家顾问。我从iCustom中指定的缓冲区收到一个不正确的值,我想在调用iCustom 后检查数据是否已经 "到达 "指标。

我怎么能调试呢?

 
Александр:

有一个功能。


每个函数调用 将改变变量ХХ,我需要ХХ是外部的(我需要的逻辑),但每个函数调用开始时,ХХ是0,相应的return(ХХ)将返回其值。我不明白如何使XX变量成为外部变量,并且该函数可以被 "自主 "地调用,孤立地调用。正是通过MQ4的方式。谢谢你!


我读了好几遍,但还是不明白你在寻找什么。

也许是这个。

double XX = 0;


double x()
{
   double rez = XX;
   XX++;
   return rez;
}
 
如何判断图表上是否加载了所有条形图?
只有在所有东西都满载的情况下,才有必要调用指标重新计算。

状况
if(time[0] > TimeCurrent() - 60 * ChartPeriod())
并不有助于解决问题。
 

记忆并检查总条数,如果数值在几秒钟内没有 "上升",那么 "我们来了"。

然后再重新计算,如果

rates_total-prev_calculated > 1
 
Koldun Zloy:

我读了好几遍,但还是不明白你在寻找什么。

也许是这样。

有一个函数(它是我的EA中的一个指标,我需要它,它没有争议,这个 一个指标,它从一个新的峰值开始工作(向下计数)。).该指标有几个参数,一直在变化。由于我想避免循环,我使这些参数成为外部参数(对于函数的外部),以便不丢失它们的值。而在任何新的函数调用 中,我只看到指标值的变化。但我想从一个新的峰值上获得一个新的指标"实例",而旧的 "实例 " 继续工作并改变数值。我想用MQ4的标准方法来实现这个目标,因为我对类、结构和其他继承知之甚少。谢谢你!
 
Александр:
我有一个函数(它是我的专家顾问中的一个指标,我需要它,但它没有受到挑战,这 火鸡和它开始工作(倒数)从一个新的高峰).我有一个指标,有几个参数一直在变化。由于我想避免循环,我使这些参数成为外部参数(对于函数外部),以便不丢失它们的值。而在任何新的函数调用 中,我只看到指标值的变化。但我想从一个新的峰值上获得一个新的指标"实例",而旧的 "实例 " 继续工作并改变数值。我想用MQ4的标准方法来实现这个目标,因为我对类、结构和其他继承知之甚少。谢谢你!

没有帮助。

你也许应该学习这门语言,这样你至少不会对这些术语感到困惑。

不要以为每个人都明白你所说的外部变量是什么,"自主地调用一个函数 "是什么意思。

循环又有什么关系呢?你不想使用它,这又是只有你才明白的原因。

好吧,我不希望能理解你。


 
//+------------------------------------------------------------------+
//|           Проверка нажатия клавиш на клавиатуре                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   if(id==CHARTEVENT_KEYDOWN)
     {
     Alert(lparam);
     }
   }

你能告诉我如何检查组合,例如,Shift+A !