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

 

Bug 21.


2085

在服务器重新连接后,所有创建的自定义符号都被添加到市场概览中。
当市场在周末关闭 时,这很好。
服务器偶尔会重新连接,或者在连接安装的时候终端重启之后。
标准符号的 图表可以重新启动并进行一次勾选,此刻所有创建的自定义符号都会被自行添加到市场概览中。

 

建议。

请为符号属性 添加SYMBOL_VOLUME_INITIAL 标识符,并在规范中显示其值。
并添加一个适当的标识符来调用其值。

CustomSymbolSetDouble(SName, SYMBOL_VOLUME_INITIAL, 0.00000000);           Результат: Initial volume == 0.00000000
 
Roman:

错误20。

2085
自定义字符属性的设置不正确。



回放的代码在哪里?

 
Slava:

回放的代码在哪里?

在带有错误20的信息中,列出了标识符。你没有在信息中显示它们吗?

 

Bug 22.

一个刻度线的翻转会使其价格改变10倍。

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

void OnStart()
{
  MathSrand((int)TimeLocal());  
  const string Name = "CUSTOM_" + _Symbol + (string)MathRand(); // Создали символ    
  
  PRINT(CustomSymbolCreate(Name)); // Создали символ по-умолчанию.
  
  // Если удалить любую из двух строк ниже, то результат будет нормальным.
  PRINT(CustomTicksDelete(Name, 0, LONG_MAX)); // Удалили тиковую историю (ее на самом деле нет).
  PRINT(CustomSymbolDelete(Name)); // Удалили символ
  
  PRINT(CustomSymbolCreate(Name, NULL, _Symbol)); // Создали символ на основе главного.
    
  PRINT(SymbolSelect(Name, true)); // Добавили в Обзор рынка.

  MqlTick Tick[1];
  PRINT(SymbolInfoTick(_Symbol, Tick[0])); // Взяли свежий тик для проброса.
  ArrayPrint(Tick); // Показали тик.
  
  PRINT(CustomTicksAdd(Name, Tick)); // Пробросили тик.
  
  MqlTick NewTicks[];
  PRINT(CopyTicksRange(Name, NewTicks));  
  ArrayPrint(NewTicks); // Показали, что на самом деле пробросили.
}


结果

CustomSymbolCreate(Name) = true
CustomTicksDelete(Name,0,LONG_MAX) = 0
CustomSymbolDelete(Name) = true
CustomSymbolCreate(Name,NULL,_Symbol) = true
SymbolSelect(Name,true) = true
SymbolInfoTick(_Symbol,Tick[0]) = true
                 [time]   [bid]   [ask] [last] [volume]    [time_msc] [flags] [volume_real]
[0] 2019.06.17 02:08:35 1.12152 1.12157 0.0000        0 1560737315178       2       0.00000
CustomTicksAdd(Name,Tick) = 1
CopyTicksRange(Name,NewTicks) = 1
                 [time]    [bid]    [ask] [last] [volume]    [time_msc] [flags] [volume_real]
[0] 2019.06.17 02:08:35 11.21520 11.21570 0.0000        0 1560737315178       6       0.00000
 

大家好

这是我第一次运行MT,需要它进行数据分析和制图。

创建了一个符号,从csv中加载条形图,我可以在insta目录中看到厚厚的数据文件。

符号激活,在市场观察中

不显示图表 - "正在等待更新


我错过了什么吗?

我在MT4和MT5中都试过了 - 一切都是一样的

演示图表--运行跳动

 
Roman:

在带有错误20的信息中,列出了标识符。你没有在信息中显示它们吗?

再一次。可重复的代码在哪里?

显示的是标识符。这使我想到了我的问题:ORDER_FILLING_XXX与它有什么关系?你仔细阅读过文件吗?

 
Slava:

再来一次。可重复的代码在哪里?

显示的是标识符。这使我想到了我的问题:ORDER_FILLING_XXX与它有什么关系?你仔细阅读过文件吗?

因为我们设置了SYMBOL_FILLING_MODE 的填充模式
但标识符本身在输出结果中显示了一个转变。
看看结果吧。
FOK设置为无规格
IOC设置为FOK规格
RETURN设置为IOC规格

ORDER_FILLING_FOK     Результат: Filling == None
или
ORDER_FILLING_IOC     Результат: Filling == Fill or Kill
или
ORDER_FILLING_RETURN  Результат: Filling == Immediate or Cancel

而如果你想使用其他ENUM的标识符,比如SYMBOL_FILLING_XXX

在这个ENUM中只有两个标识符
SYMBOL_FILLING_FOK
SYMBOL_FILLING_IOC

而对于交换模式,没有标识符!
没有标识符或其值,如何设置交换模式?
自己看一下文件。
没有SYMBOL_FILLING_RETURN标识符

 
Roman:

那么如何在没有标识符或其值的情况下设置交换模式?

关于交易、自动交易系统和测试交易策略的论坛

图书馆: 符号

fxsaber, 2018.04.06 09:21

Symb.SetProperty(SYMBOL_TRADE_EXEMODE, SYMBOL_TRADE_EXECUTION_EXCHANGE);
Symb.SetProperty(SYMBOL_TRADE_CALC_MODE, SYMBOL_CALC_MODE_EXCH_FUTURES);

除了开发者,你的帖子对我来说也一点都不清楚。看看你如何建设性地报告一个问题

 
什么不清楚?在我的错误报告#20中,我指出了ID设置和差异的原因。
SYMBOL_TRADE_EXEMODE
SYMBOL_TRADE_CALC_MODE
这些是完全不同的模式,与问题没有关系。

这应该更清楚。

void OnStart()
{
   string SName = "SYMBOL";
   
   if(CustomSymbolCreate(SName))
      CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, ORDER_FILLING_RETURN);
      //CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, ORDER_FILLING_FOK);  
      //CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, ORDER_FILLING_IOC);
   
}

如果你想使用ENUMSYMBOL_FILLING_XXX 的另一个标识符
,那么SYMBOL_FILLING_RETURN没有标识符了。

附加的文件: