mql4语言的特点、微妙之处以及技巧 - 页 19 1...121314151617181920212223242526...36 新评论 fxsaber 2019.06.04 16:41 #181 关于交易、自动交易系统和测试交易策略的论坛 图书馆:专家 fxsaber, 2019.06.04 16:40 // MT4-советник показывает, в каком режиме Long/Short был запущен. #include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003 int GetLongShortFlag( const int Chart_ID = 0 ) { MqlParam Params[]; string Names[]; const int Res = EXPERT::Parameters(Chart_ID, Params, Names); return(((Res & 3) << 1) + (Res & 1)); } string LongShortToString( const int Chart_ID = 0 ) { const int Flag = GetLongShortFlag(Chart_ID); string Str = NULL; if ((bool)(Flag & SYMBOL_TRADE_MODE_LONGONLY) && (bool)(Flag & SYMBOL_TRADE_MODE_SHORTONLY)) Str = "Long & Short"; else if ((bool)(Flag & SYMBOL_TRADE_MODE_LONGONLY)) Str = "Only Long"; else if ((bool)(Flag & SYMBOL_TRADE_MODE_SHORTONLY)) Str = "Only Short"; return(Str); } int OnInit() { Alert(LongShortToString()); return(INIT_FAILED); } 替代方案 关于交易、自动交易系统和交易策略测试的论坛 关于MQL4和MQL5的任何新手问题,关于算法和代码的帮助和讨论 fxsaber, 2019.06.04 19:40 string LongShortToString2() { string Str = "Long & Short"; if (OrderSend(_Symbol, OP_BUY, 1, 0, 0, 0, 0) && (GetLastError() == ERR_LONGS_NOT_ALLOWED)) Str = "Only Short"; else if (OrderSend(_Symbol, OP_SELL, 1, 0, 0, 0, 0) && (GetLastError() == ERR_SHORTS_NOT_ALLOWED)) Str = "Only Long"; return(Str); } 这并不总是奏效,但更多时候这就足够了。 Artyom Trishkin 2019.07.26 19:36 #182 与此主题无关的评论已被移至"新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论"。 fxsaber 2019.08.07 18:42 #183 任务是以最小的努力从市场观察中保存所有刻度(没有损失)。 我写了一个加载器脚本,它为每个符号打开一个图表并在上面运行指标收集器。 整个诀窍是通过加载这样一个tpl-文件来运行指标(全文给出)。 <chart> <window> <indicator> name=Custom Indicator <expert> name=HistoryTicks_OnlySave </expert> </indicator> </window> </chart> 这很好,因为没有酒吧。因此,没有在他们身上花费资源。 在一天结束时,有60张图表。同样数量的指标。每分钟写出~500Kb的ticks。 内存~450Mb,CPU~3-8%(8个超线程)。 如果你想做这样的事情,我强烈建议运行专家顾问,它可以跟踪市场观察中数据变化的频率。我的EA刷新时间不超过三秒,然后就被迫重新登录。问题是,MT4(也包括MT5)在网络问题的情况下,它可以在10-15秒后自行重新登录,有时甚至达到一分钟。只有这样,才会自己重新登录。为了不在这10-15秒甚至1分钟内丢失点数,我建议采取重新连接的任务。这同样适用于具有战斗力的TC的终端。 Andrey Khatimlianskii 2019.08.07 22:51 #184 fxsaber: 挑战是以尽可能少的努力保存市场观察中的所有点数(没有损失)。 它是无损的吗?这个神话已经被破除。 fxsaber 2019.08.07 23:37 #185 Andrey Khatimlianskii: 没有损失,那么?我想这个神话已经被打破了。 我不记得我到底是如何说服自己的。我知道,我把MT4中收集的历史记录与经纪人的记录进行了比较。我得到了100%的匹配。 我使用QB的HistoryTicks解决方案。当我比较虚拟测试者在收集的点子上的结果和MT5测试者在下载的点子上的结果时--100%匹配。 问题只可能是由于连接问题。当然,专家顾问也会错过。指标则不然。 Andrey Khatimlianskii 2019.08.08 00:18 #186 fxsaber: 我不记得我到底是如何说服自己的。我知道,我把MT4中收集的历史记录与经纪人的记录进行了比较。有一个100%的匹配。 我使用QB的HistoryTicks解决方案。当我比较虚拟测试器在收集的ticks上的结果和MT5测试器在下载的ticks上的结果 - 100%匹配。 问题只可能是由于连接问题。当然,专家顾问也会错过。指标则不然。 咳咳......我只是在说你的曝光。 关于交易、自动交易系统和交易策略测试的论坛 错误、漏洞、问题 fxsaber, 2018.02.26 09:05 如果一包三个ticks来了,Calculate事件将被调用三次,但SymbolInfoTick将在这三次调用中的每一次返回最新的tick。也就是说,所谓的不通过指标的收集是值得怀疑的,说得不好听一点就是。 有什么变化吗? fxsaber 2019.08.08 00:29 #187 Andrey Khatimlianskii: 咳咳......我只是在说你的曝光。 有什么变化吗? 当对CopyTicks进行摆弄时,有一个蜱收集和CopyTicks结果的比较。 我不太记得了,但我认为有一场比赛。 我们必须使用CustomTicksAdd来添加一批蜱虫,并查看它。但这是MT5。 对于MT4,可以这样检查。两个相邻的记录蜱虫应该总是不同的。而服务器上的条形图的数量 应该与收集到的条形图相吻合。 在2018年,我一定知道一些聪明的东西。现在不记得了。 zenz 2019.08.08 11:00 #188 fxsaber: 我不记得我到底是如何说服自己的。 我知道,我把MT4中收集的历史记录与经纪人的记录进行了比较。有一个100%的匹配。 我使用QB的HistoryTicks解决方案。当我比较虚拟测试器在收集的ticks上的结果和MT5测试器在下载的ticks上的结果 - 100%匹配。 问题只可能是由于连接问题。当然,专家顾问也会错过。指标则不然。 关于交易、自动交易系统和策略测试的论坛 给一个顾问收集蜱虫历史 zenz, 2018.03.07 11:10 我早在9月份就做了比较。阿尔帕里档案馆有1周的出版延迟,所以如果我做目前的比较,在下周之前我不会得到它(我认为没有什么意义--我已经为自己想出了办法)。 所以这里有两张2017年9月22日的截图。终端在一台空的电脑上运行,只有写日志的指标。 操作系统XP SP3,终端版本MT4 build 1090。Alpari Pro-ECN真实账户。 左边是Alpari档案中的图片,右边是指标所记录的刻度线。 在这里,你可能会注意到,17秒之前和之后(16秒和18秒)的时间点完全重合,也就是说,在这种情况下,并没有出现时间不同步的情况。我再说一遍,不仅仅是在一秒钟内跳动的刻度--也就是说,不仅仅是快速的刻度--而且 "慢速 "的刻度也被吞噬。我还没有发现这里面有什么系统性。 解释:在Alpari的档案中,秒之后的右边不是英里或微秒,而是刻度数--这样做是有一定原因的。 以下是该主题的链接:https://www.mql5.com/ru/forum/229889/page4#comment_6741502 我不认为MT4有什么变化,虽然我没有再检查过,但我认为MT4的指标和EA都会错过刻度。 Дайте советник для сбора тиковой истории 2018.03.07www.mql5.com Дайте готовый советник для записи тиков в csv файл... fxsaber 2019.08.08 11:14 #189 zenz: 以下是该主题的链接:https://www.mql5.com/ru/forum/229889/page4#comment_6741502。 我不认为MT4从那时起有什么变化,虽然我没有再检查,但我认为MT4的指标和EA都会错过点子。 不能肯定的是,在交易服务器方面,这些 "漏掉的 "标记被发送。 zenz 2019.08.08 12:17 #190 fxsaber: 不能肯定的是,在交易服务器方面,这些 "遗漏 "的标记被发送。 我也在思考这个问题,我同意。我当时只是在做研究,发现这些差异不是孤立的,而是反复出现的--所以我就把它放下了。 1...121314151617181920212223242526...36 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
关于交易、自动交易系统和测试交易策略的论坛
图书馆:专家
fxsaber, 2019.06.04 16:40
替代方案
关于交易、自动交易系统和交易策略测试的论坛
关于MQL4和MQL5的任何新手问题,关于算法和代码的帮助和讨论
fxsaber, 2019.06.04 19:40
这并不总是奏效,但更多时候这就足够了。
任务是以最小的努力从市场观察中保存所有刻度(没有损失)。
我写了一个加载器脚本,它为每个符号打开一个图表并在上面运行指标收集器。
整个诀窍是通过加载这样一个tpl-文件来运行指标(全文给出)。
这很好,因为没有酒吧。因此,没有在他们身上花费资源。
在一天结束时,有60张图表。同样数量的指标。每分钟写出~500Kb的ticks。
内存~450Mb,CPU~3-8%(8个超线程)。
如果你想做这样的事情,我强烈建议运行专家顾问,它可以跟踪市场观察中数据变化的频率。我的EA刷新时间不超过三秒,然后就被迫重新登录。问题是,MT4(也包括MT5)在网络问题的情况下,它可以在10-15秒后自行重新登录,有时甚至达到一分钟。只有这样,才会自己重新登录。为了不在这10-15秒甚至1分钟内丢失点数,我建议采取重新连接的任务。这同样适用于具有战斗力的TC的终端。
挑战是以尽可能少的努力保存市场观察中的所有点数(没有损失)。
它是无损的吗?这个神话已经被破除。
没有损失,那么?我想这个神话已经被打破了。
我不记得我到底是如何说服自己的。我知道,我把MT4中收集的历史记录与经纪人的记录进行了比较。我得到了100%的匹配。
我使用QB的HistoryTicks解决方案。当我比较虚拟测试者在收集的点子上的结果和MT5测试者在下载的点子上的结果时--100%匹配。
问题只可能是由于连接问题。当然,专家顾问也会错过。指标则不然。
我不记得我到底是如何说服自己的。我知道,我把MT4中收集的历史记录与经纪人的记录进行了比较。有一个100%的匹配。
我使用QB的HistoryTicks解决方案。当我比较虚拟测试器在收集的ticks上的结果和MT5测试器在下载的ticks上的结果 - 100%匹配。
问题只可能是由于连接问题。当然,专家顾问也会错过。指标则不然。
咳咳......我只是在说你的曝光。
关于交易、自动交易系统和交易策略测试的论坛
错误、漏洞、问题
fxsaber, 2018.02.26 09:05
如果一包三个ticks来了,Calculate事件将被调用三次,但SymbolInfoTick将在这三次调用中的每一次返回最新的tick。也就是说,所谓的不通过指标的收集是值得怀疑的,说得不好听一点就是。
有什么变化吗?
咳咳......我只是在说你的曝光。
有什么变化吗?
当对CopyTicks进行摆弄时,有一个蜱收集和CopyTicks结果的比较。
我不太记得了,但我认为有一场比赛。
我们必须使用CustomTicksAdd来添加一批蜱虫,并查看它。但这是MT5。
对于MT4,可以这样检查。两个相邻的记录蜱虫应该总是不同的。而服务器上的条形图的数量 应该与收集到的条形图相吻合。
在2018年,我一定知道一些聪明的东西。现在不记得了。
我不记得我到底是如何说服自己的。 我知道,我把MT4中收集的历史记录与经纪人的记录进行了比较。有一个100%的匹配。
我使用QB的HistoryTicks解决方案。当我比较虚拟测试器在收集的ticks上的结果和MT5测试器在下载的ticks上的结果 - 100%匹配。
问题只可能是由于连接问题。当然,专家顾问也会错过。指标则不然。
关于交易、自动交易系统和策略测试的论坛
给一个顾问收集蜱虫历史
zenz, 2018.03.07 11:10
我早在9月份就做了比较。阿尔帕里档案馆有1周的出版延迟,所以如果我做目前的比较,在下周之前我不会得到它(我认为没有什么意义--我已经为自己想出了办法)。
所以这里有两张2017年9月22日的截图。终端在一台空的电脑上运行,只有写日志的指标。 操作系统XP SP3,终端版本MT4 build 1090。Alpari Pro-ECN真实账户。
左边是Alpari档案中的图片,右边是指标所记录的刻度线。
在这里,你可能会注意到,17秒之前和之后(16秒和18秒)的时间点完全重合,也就是说,在这种情况下,并没有出现时间不同步的情况。我再说一遍,不仅仅是在一秒钟内跳动的刻度--也就是说,不仅仅是快速的刻度--而且 "慢速 "的刻度也被吞噬。我还没有发现这里面有什么系统性。
解释:在Alpari的档案中,秒之后的右边不是英里或微秒,而是刻度数--这样做是有一定原因的。
以下是该主题的链接:https://www.mql5.com/ru/forum/229889/page4#comment_6741502 我不认为MT4有什么变化,虽然我没有再检查过,但我认为MT4的指标和EA都会错过刻度。
以下是该主题的链接:https://www.mql5.com/ru/forum/229889/page4#comment_6741502。 我不认为MT4从那时起有什么变化,虽然我没有再检查,但我认为MT4的指标和EA都会错过点子。
不能肯定的是,在交易服务器方面,这些 "漏掉的 "标记被发送。
不能肯定的是,在交易服务器方面,这些 "遗漏 "的标记被发送。
我也在思考这个问题,我同意。我当时只是在做研究,发现这些差异不是孤立的,而是反复出现的--所以我就把它放下了。