初学者的问题 MQL4 MT4 MetaTrader 4 - 页 93

 
seny:

请帮助,这里有一个例子

它是这样工作的...

但不是像这样...

我如何通过k变量在缓冲区中写入?

double k=0。
 
Alekseu Fedotov:
double k=0。

没有帮助!不在代码体中,不在初始化中,不在开始时......

 
seny:

它是这样工作的...而不是这样...

为了理解,你必须简化。比较两个表达式:100/10/10=1和k=10/10 100/k=100,但如果k=10*10,那么它就是正确的。

 
问候。请你告诉我,当启用时间线偏移时,如何使时间线延伸到未来?
 
Andrey Sokolov:
问候。请您告诉我,当启用图表偏移时,如何为未来延长时间线?

你不能。你只能自己画垂直线--它们在底部显示时间。

 

你好。你能告诉我如何写一个条件:如果一个未平仓的订单在止盈时关闭--删除所有剩余的市场订单;如果没有(在止损时关闭)--将相同的订单(有相同的止损和止盈)作为一个挂单。

 
6737998:

你好。你能告诉我如何写一个条件:如果一个未平仓的订单以止盈价收盘--删除所有剩余的市场订单;如果不是(以止损价收盘)--把相同的订单(有相同的止损和止盈)作为挂单。


我在另一个主题中告诉过你--与历史合作,并写了你需要做的操作者。

 

或者你可以在 "文章 "部分写一篇关于一些外汇现象的文章。
并在文章的底部放置了一个来自市场的付费指标的广告,这个指标可以用来研究这个现象。?

 

大家好,遇到了一个问题...

任务是在图表上互动地改变一个EA。我不考虑有几个图表和几个EA的选项。

我知道使用ChartApplyTemplate,它可以工作,但有时它返回错误的响应,理由是它不能把命令放在队列中。

这个队列是什么,我在哪里可以读到它,或者我怎样才能清除这个队列,因为我的任务必须优先于所有其他任务?

提前感谢。

PS:手动更改模板时不会发生这种情况。也许然后通过winAPI尝试...需要挖掘,还没有用这个工作过

ChartApplyTemplate - Chart Operations - MQL4 Reference
ChartApplyTemplate - Chart Operations - MQL4 Reference
  • docs.mql4.com
ChartApplyTemplate - Chart Operations - MQL4 Reference
 
Vasili Taucci:

大家好,遇到了一个问题...

任务是在图表上互动地改变一个EA。我不考虑有几个图表和几个EA的选项。

我知道使用ChartApplyTemplate,它可以工作,但有时它返回错误的响应,理由是它不能把命令放在队列中。

这个队列是什么,我在哪里可以读到它,或者我怎样才能清除这个队列,因为我的任务必须优先于所有其他任务?

提前感谢。

PS:手动更改模板时不会发生这种情况。也许然后通过winAPI尝试...需要挖掘,还没有用过这个。

请看一下这个。这是针对MT5的,但对于MT4来说,其原理是完全相似的。当使用ChartApplyTemplate时,你需要强制同步,你可以在票据中这样做

  static bool TemplateApply( const long Chart_ID, const string &Str, const bool Sync = true )
  {
    string TmpStr = Str;

    const bool SyncFlag = (Sync && Chart_ID && (Chart_ID != ::ChartID()) && !::IsStopped());

    if (SyncFlag)
    {
      const color ColorStopLevel = (color)::ChartGetInteger(Chart_ID, CHART_COLOR_STOP_LEVEL);

      if ((bool)(ColorStopLevel >> 24))
        ::ChartSetInteger(Chart_ID, CHART_COLOR_STOP_LEVEL, ColorStopLevel & 0xFFFFFF);

      const int NewColorStopLevel = (int)EXPERT::StringBetween(TmpStr, EXPERT_STOPLEVEL, STRING_END) | (0x01 << 24);

      TmpStr = Str;
      EXPERT::StringReplace(TmpStr, EXPERT_STOPLEVEL, STRING_END, EXPERT_STOPLEVEL + (string)NewColorStopLevel + STRING_END);
    }

    short Data[];
    const bool Res = ::StringToShortArray(TmpStr, Data, 0, ::StringLen(TmpStr)) &&
                     ::FileSave(FILENAME, Data) && ::ChartApplyTemplate((ulong)Chart_ID, FILENAME);

    if (Res && SyncFlag)
    {
      long Value;

      while ((!::IsStopped() && ::ChartGetInteger(Chart_ID, CHART_COLOR_STOP_LEVEL, 0, Value) && (!(bool)((int)Value >> 24))))
        ::Sleep(0);

      ::ChartSetInteger(Chart_ID, CHART_COLOR_STOP_LEVEL, (int)Value & 0xFFFFFF);
    }

    return(Res);
  }
Expert
Expert
  • 投票: 12
  • 2017.08.28
  • fxsaber
  • www.mql5.com
Библиотека чтения/записи параметров произвольных советников.