自定义符号。误差、错误、问题、建议。 - 页 9

 
Andrey Khatimlianskii:

2009年和2025年浇筑成原址

谢谢。尝试了1970年以上的版本--所有的版本都有这个错误,直到你重新创建自定义的角色,保持在同一个账户内。

 
fxsaber:

2009:

2033:

 

Bug 10.

该符号不能被删除。

#define  PRINT(A) Print(#A + " = " + (string)(A))

void OnStart()
{
  MathSrand((uint)TimeLocal());
  
  const string Name = _Symbol + (string)MathRand();

  PRINT(CustomSymbolCreate(Name));

  PRINT(CustomRatesDelete(Name, 0, 0)); // Без этой строки удаление работает.
  
  PRINT(CustomSymbolDelete(Name)); // false
  PRINT(GetLastError());  
}


CustomSymbolCreate(Name) = true
CustomRatesDelete(Name,0,0) = 0
CustomSymbolDelete(Name) = false
GetLastError() = 5306
 

Bug 11.

CustomTicksAdd不形成条形。

// Проигрываем тиковую историю через таймер.
#define  PRINT(A) Print(#A + " = " + (string)(A))

void OnInit()
{
  if (EventSetMillisecondTimer(20)) // С такой частотой будем пробрасывать тики
    MathSrand((uint)TimeLocal());  
}

void OnTimer()
{
  static const string Name = _Symbol + (string)MathRand();
  
  static bool FirstRun = true;
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    PRINT(CustomSymbolCreate(Name, NULL, _Symbol)); // Создали символ.
  
    PRINT(CustomRatesDelete(Name, 0, 0)); // Без этой строки работает.    
    PRINT(SymbolSelect(Name, false));     // https://www.mql5.com/ru/forum/304554/page9#comment_11680616
    
    PRINT(CustomSymbolDelete(Name));                // Убили.
    PRINT(CustomSymbolCreate(Name, NULL, _Symbol)); // Воскресили.
    
    if (SymbolSelect(Name, true)) // Поместили в Обзор рынка
    {
      ChartOpen(Name, PERIOD_M1);            // Открыли чарт
      PRINT(CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (TimeCurrent() - 3600) * 1000)); // Взяли тики (последний час) для проброса
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
  {
    MqlTick Tick[1];
    
    // Пробрасываем по тику
    Tick[0] = Ticks[Pos++];
    CustomTicksAdd(Name, Tick);
  }
}

酒吧不会在开放的图表上形成。在 "市场观察 "中,刻度线被更新。

 

Bug 12.

当从头开始创建一个自定义符号时(例如通过CTRL+U),最大的成交量被规定,以至于测试者无法计算出其利润。

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnInit()
{
  // Именно такой макс. объем автоматом прописывается при создании кастомного символа с нуля.
  const double Lot = 1 e11; // SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
  
  OrderSend(_Symbol, OP_BUY, Lot, Ask, 0, 0, 0); // После закрытия этой позиции ее профит будет нулевым.
}
 
由于某些原因,开发人员在这个线程中不掌握可重复的bug。
 
fxsaber:
由于某些原因,开发者在这个问题上没有得到可复制的bug。
我们也许应该邀请他们进来
[删除]  

邀请斯拉瓦-斯特林戈。

我在这个字段(附件1)中输入了一个自定义工具,打开时没有引号。

附件2只是一个词。

附件3:厌倦了这个按钮,没有人需要它。做一个选项来隐藏它。

cpsb

附加的文件:
x34zq9.PNG  2 kb
1wvlwh2.PNG  10 kb
qfd9jf.PNG  2 kb
 
superman:

邀请斯拉瓦-斯特林戈。

我在这个字段(附件1)中输入了一个自定义工具,打开时没有引号。

附件2只是一个词。

他们不是这样邀请的。

所以。@Slava

 
fxsaber:

Bug 07.

测试员通过最后一次交换自定义符号形成条形,并以条形的买入价建立。

因此,终端和策略测试器中的酒吧历史完全不同。如果有人在TS中使用条形图(例如,指标),回测的结果对他/她来说是随机的。

显示自定义符号的 规格。

并给定制的虱子。

要解决一些问题,你必须先重现它