自定义符号。误差、错误、问题、建议。 - 页 23 1...161718192021222324252627282930...34 新评论 jaffer wilson 2019.10.16 15:01 #221 Slava : 目前,不可能用今天以外的日子(昨天、前天、去年等)的刻度线形成自定义工具条。 但是。我们已经做了更正。 当使用CustomTicksReplace时(不是CustomTicksAdd!不要使用CustomTicksAdd来批量添加刻度线),如果之前没有今天的刻度线,那么最后一天添加的刻度线会变成 "当前"。 等到下一个版本。然后我们将继续进行实验和讨论 我在使用Build 2177。我想这是最近的一次。 但我不能用CUSTOMSYMBOL工作。你能告诉我,我什么时候可以期待一个能帮助我的构建? 我在哪里可以看到构建中的变化? Slava 2019.10.16 15:46 #222 所附的指标在当前的2177版本中工作 这是你的指标。它是经过编辑的,但算法是一样的。我已经把Symbol.mqh文件放在MQL5/Include/Includes中。 改变线路 #include <Includes\Symbol.mqh> 以便使用你的Symbol.mqh。 棒材已经形成。不仅在MarketWatch中,刻度线被正确地应用到历史中。 附加的文件: CustomTicksJaffer.mq5 5 kb jaffer wilson 2019.10.16 16:07 #223 Slava : 所附的指标在当前的2177版本中工作 这是你的指标。它是经过编辑的,但算法是一样的。我已经把Symbol.mqh文件放在MQL5/Include/Includes中。 改变线路 以便使用你的Symbol.mqh。 棒材已经形成。不仅在MarketWatch中,刻度线被正确地应用于历史上 我将检查。也许我的代码中存在一些问题。但代码看起来不错。 fxsaber 2019.12.11 08:21 #224 Bug 25. 当把刻度线写入自定义符号 时,它们会被不同程度地规范化! sinput datetime inDateFrom = D'2019.12.01'; // Проверка нормализации числа. bool IsNorm( const double Price ) { return(NormalizeDouble(Price, _Digits) == Price); } #define TOSTRING(A) #A + " = " + DoubleToString(A, 16) + " " #define PRINT(A) Print(TOSTRING(A) + TOSTRING(NormalizeDouble(A, _Digits))) #define ISNORM(A) if (!IsNorm(A)) { PRINT(A); Count++; }; // Распечатка ненормализованных цен тиков. void CheckNorm( const MqlTick &Ticks[], const int MaxAmount = 10 ) { const int Size = ArraySize(Ticks); for (int i = 0, Count = 0; (i < Size) && (Count < MaxAmount); i++) { ISNORM(Ticks[i].bid) ISNORM(Ticks[i].ask) ISNORM(Ticks[i].last) } } // Нормализация цен тика. void Normalize( MqlTick &Tick, const int digits ) { Tick.bid = ::NormalizeDouble(Tick.bid, digits); Tick.ask = ::NormalizeDouble(Tick.ask, digits); Tick.last = ::NormalizeDouble(Tick.last, digits); } // Нормализация цен тиков. void Normalize( MqlTick &Ticks[], const int digits ) { for (int i = ArraySize(Ticks) - 1; i >= 0; i--) Normalize(Ticks[i], digits); } void OnStart() { const string Name = "TEMP12345"; // Имя кастомного символа const string SymbOrig = "EURUSD"; // Имя оригинального символа MqlTick Ticks[]; const int Size = CopyTicksRange(SymbOrig, Ticks, COPY_TICKS_ALL, (long)inDateFrom * 1000); // Считали EURUSD-тики. if ((Size > 0) && CustomSymbolCreate(Name, NULL, SymbOrig) && SymbolSelect(Name, true)) // Создали символ на основе EURUSD. { const int digits = (int)SymbolInfoInteger(Name, SYMBOL_DIGITS); Normalize(Ticks, digits); // Нормализовали цены тиков. Print("Check1"); CheckNorm(Ticks); // Проверили, что цены тиков нормализованы. CustomTicksReplace(Name, 0, LONG_MAX, Ticks); // Поместили в него историю EURUSD. MqlTick NewTicks[]; CopyTicksRange(Name, NewTicks, COPY_TICKS_ALL, (long)inDateFrom * 1000); // Считали тики из кастомного символа Print("Check2"); CheckNorm(NewTicks); // Проверили, что цены тиков нормализованы. } } 结果 Check1 Check2 Ticks[i].bid = 1.1024100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1024099999999999 Ticks[i].bid = 1.1024100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1024099999999999 Ticks[i].bid = 1.1024100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1024099999999999 Ticks[i].bid = 1.1024100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1024099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble(Ticks[i].bid,_Digits) = 1.1023099999999999 终端里面似乎有某种NormalizeDouble,与标准的不同。这个错误可能会无形中影响许多算法。 请修复它。写作归一化价格的自然需求无法实现。 Roman 2019.12.11 08:47 #225 fxsaber: Bug 25. 当把蜱虫写到自定义符号时,它们是混合的! 结果 终端似乎有自己的NormalizeDouble,与标准的不同。这个错误可能会无形中影响许多算法。 请修复它。写作归一化价格的自然需求无法实现。 你有一个重载的Normalize函数 试着改变函数的名称。 也许这将导致规范化的失败。 Slava 2019.12.11 08:54 #226 fxsaber: Bug 25. 当把蜱虫写到自定义符号时,它们是混合的! 结果 终端似乎有自己的NormalizeDouble,与标准的不同。这个错误可能会不知不觉地影响许多算法。 请修复它。写作归一化价格的自然需求无法实现。 这两种情况都是小数点 规范化的结果。 你还在为绝对平等而比较实数吗? 哪个服务器是原始蜱虫的来源? fxsaber 2019.12.11 11:31 #227 Roman:你有一个重载的Normalize函数,试着改变函数名称。 也许这就是归一化不正确的原因。 在代码中,有一个正确规范化的测试。在将刻度线写入自定义符号 之前,这个测试是成功的。我检查了代码。 fxsaber 2019.12.11 11:36 #228 Slava: 这两种情况都是按小数点后 的数字进行归一化的结果。 你还在为绝对平等而比较实数吗? 哪个服务器是原始蜱虫的来源? MQ-Beta服务器。但服务器与这种情况完全没有关系。我做什么。 我将刻度线阵列规范化,并检查是否如此。 我把它写在自定义符号中。 从自定义符号中读取写入的刻度线。 检查它们是否正常化 - 它们没有被正常化。 就是说,我派人写了一个虱子,但它们是由别人写的。 fxsaber 2019.12.11 13:21 #229 可能是由于终端的 紧急关闭,尾巴被留在了bases/Custom 文件夹中。 fxsaber 2019.12.14 09:07 #230 fxsaber: Bug 25. 2280 - 已修复,谢谢。 1...161718192021222324252627282930...34 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
目前,不可能用今天以外的日子(昨天、前天、去年等)的刻度线形成自定义工具条。
但是。我们已经做了更正。
当使用CustomTicksReplace时(不是CustomTicksAdd!不要使用CustomTicksAdd来批量添加刻度线),如果之前没有今天的刻度线,那么最后一天添加的刻度线会变成 "当前"。
等到下一个版本。然后我们将继续进行实验和讨论
我在使用Build 2177。我想这是最近的一次。
但我不能用CUSTOMSYMBOL工作。你能告诉我,我什么时候可以期待一个能帮助我的构建?
我在哪里可以看到构建中的变化?
所附的指标在当前的2177版本中工作
这是你的指标。它是经过编辑的,但算法是一样的。我已经把Symbol.mqh文件放在MQL5/Include/Includes中。
改变线路
以便使用你的Symbol.mqh。
棒材已经形成。不仅在MarketWatch中,刻度线被正确地应用到历史中。
所附的指标在当前的2177版本中工作
这是你的指标。它是经过编辑的,但算法是一样的。我已经把Symbol.mqh文件放在MQL5/Include/Includes中。
改变线路
以便使用你的Symbol.mqh。
棒材已经形成。不仅在MarketWatch中,刻度线被正确地应用于历史上
我将检查。也许我的代码中存在一些问题。但代码看起来不错。
Bug 25.
当把刻度线写入自定义符号 时,它们会被不同程度地规范化!
结果
终端里面似乎有某种NormalizeDouble,与标准的不同。这个错误可能会无形中影响许多算法。
请修复它。写作归一化价格的自然需求无法实现。
Bug 25.
当把蜱虫写到自定义符号时,它们是混合的!
结果
终端似乎有自己的NormalizeDouble,与标准的不同。这个错误可能会无形中影响许多算法。
请修复它。写作归一化价格的自然需求无法实现。
你有一个重载的Normalize函数
试着改变函数的名称。
也许这将导致规范化的失败。
Bug 25.
当把蜱虫写到自定义符号时,它们是混合的!
结果
终端似乎有自己的NormalizeDouble,与标准的不同。这个错误可能会不知不觉地影响许多算法。
请修复它。写作归一化价格的自然需求无法实现。
这两种情况都是小数点 规范化的结果。
你还在为绝对平等而比较实数吗?
哪个服务器是原始蜱虫的来源?
你有一个重载的Normalize函数
,试着改变函数名称。
也许这就是归一化不正确的原因。
在代码中,有一个正确规范化的测试。在将刻度线写入自定义符号 之前,这个测试是成功的。我检查了代码。
这两种情况都是按小数点后 的数字进行归一化的结果。
你还在为绝对平等而比较实数吗?
哪个服务器是原始蜱虫的来源?
MQ-Beta服务器。但服务器与这种情况完全没有关系。我做什么。
Bug 25.
2280 - 已修复,谢谢。