类似于iBarShift - 页 10 1...34567891011121314151617 新评论 Nikolai Semko 2018.04.04 23:20 #91 Aleksey Vyazmikin:你的意思是它在周一展示?这就是我所需要的...:)是的,对于一个标准函数来说,这其实是很奇怪的行为。毕竟,我们在这里处理的是将数值与它的 "参照物 "进行拟合。 MQL4的标准函数iBarShift 返回左栏的数字(即本例中的星期六),而iBarShift3在要求的时间到达洞口时返回右栏的数字(即星期一),这更符合逻辑。 Aleksey Vyazmikin 2018.04.04 23:31 #92 Nikolai Semko:是的,对于一个标准函数来说,这其实是很奇怪的行为。毕竟,我们所处理的正是与它的 "基准 "相适应的数值。 MQL4的标准函数iBarShift,当所请求的时间打到洞里时,返回左边的小节编号(即本例中的星期六),而iBarShift3返回洞里的右边小节编号(即星期一),这更有意义。而如果我们现在在洞里(实时),期待收到信息的时候吧,会有什么指数提供给我们呢?我想在MQL4中它将是 "1",而对于第三种算法,它将是 "0",或者不是? 我认为MQL4功能有一个 "不要向前看 "的信息,这在一定程度上是正确的 - 这完全取决于任务。 Alain Verleyen 2018.04.04 23:33 #93 Nikolai Semko : ... 我对你的方案只有一个抱怨:它非常复杂和缓慢。当我发布它时(4年前),主要目标是准确性(再次),因为我发现的所有其他版本都是错误的(与mql4版本相比)。 我知道 它可以更快。 试图证明这一点。找到一个单一的参数组合,当你的函数和我的函数将显示不同的值。 在大多数情况下,该函数返回错误的结果。 但我还没有实现其中最后一个参数的精确性,因为我不明白为什么根本不需要它。我个人从不需要它。 要求是只拥有mql4版本。 关于交易、自动交易系统和测试交易策略的论坛 类似于iBarShift Alain Verleyen, 2018.04.05 00:18 事实上,它只显示了相反的情况,我的版本是唯一正确的。(而这段代码 中原来的iBarShift1是正确的)。 我的版本被设想为一个独立的功能,就像mql4 iBarShift 。 PS: 是否有必要发布英文版本或俄文翻译是正确的? Aleksey Vyazmikin 2018.04.04 23:33 #94 vladevgeniy: 你为什么不试试我的功能呢?那里有一个解决方案,可以及时调整酒吧的开始和结束。它似乎能正确计算一切。而且在时间上比你最快的第三版还要快。还是分支更重要?)还是那里也有错误?)我已经用了很久了....它在哪里,你的功能,尝试一下? Nikolai Semko 2018.04.04 23:33 #95 Aleksey Vyazmikin:而如果我们现在是在一个洞里(实时),期望得到一个酒吧的信息,会有什么指数提供给我们呢?我想在MQL4中它将是 "1",而对于第三种算法,它将是 "0",或者不是? 我认为MQL4功能有 "不要向前看 "的信息,这在一定程度上是正确的 - 这完全取决于问题。不,第一个是零。在实时情况下,它的工作方式也是如此。 Evgeniy Kvasov 2018.04.04 23:40 #96 Aleksey Vyazmikin:那么它在哪里呢,你的功能是什么呢,可以试一试吗?它在第7页的末尾)。 int iBarShift(string symbol, ENUM_TIMEFRAMES timeframe, datetime time){ datetime t1 = TimeCurrent()+10000000; int ps = PeriodSeconds(timeframe); double div = time/(double)ps; double mant = div - MathFloor(div); int ret = Bars(symbol, timeframe, (datetime)(time-(ps*mant)), t1)-1; return(ret); }这可能更方便。 Nikolai Semko 2018.04.04 23:40 #97 vladevgeniy: 你为什么不试试我的功能呢?我有一个解决方案,可以在时间上补偿酒吧的开始和结束。它似乎能正确计算一切。而且在时间上比你最快的第三版还要快。还是分支更重要?)还是那里也有错误?)我已经用了很久了....这很有趣 )))) 这是你的功能。 int iBarShift4(string symbol,ENUM_TIMEFRAMES timeframe,datetime time) { datetime t1=TimeCurrent()+10000000; int ps=PeriodSeconds(timeframe); double div=time/(double)ps; double mant=div-MathFloor(div); int ret=Bars(symbol,timeframe,(datetime)(time-(ps*mant)),t1)-1; return(ret); } 由于你不知道一些数学运算符,如%--除法的余数 让我们对你的函数做一些简化。 它起作用了。 int iBarShift4(string symbol,ENUM_TIMEFRAMES timeframe,datetime time) { time-=time%PeriodSeconds(timeframe); return(Bars(symbol,timeframe,time,UINT_MAX)-1); } 而这里是我的职能。 int iBarShift1(const string Symb,const ENUM_TIMEFRAMES TimeFrame,datetime time) { return(Bars(Symb,TimeFrame,time+1,UINT_MAX)); } 非常相似。真的吗? 只是你的人做什么都很错,而且速度较慢。 你可以在MQL4中用这个脚本试试。 附加的文件: TestBarShift2.mq4 5 kb Aleksey Vyazmikin 2018.04.04 23:41 #98 Nikolai Semko:不,第一个是零。它在实时中的作用是一样的。好的--只是一些算法显示我在未来数据上的"-1",今天....。 Evgeniy Kvasov 2018.04.05 00:09 #99 Nikolai Semko:这很有趣 )))) 是的,好吧,它确实发出了不一致的声音)。我把它挖出来好了。 Nikolai Semko 2018.04.05 00:12 #100 vladevgeniy:嗯,是的,它确实发出了不一致的声音)。我把它挖出来好了。 我自己也一直在兜圈子。只是现在我已经想出了最短的解决办法。 1...34567891011121314151617 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你的意思是它在周一展示?这就是我所需要的...:)
是的,对于一个标准函数来说,这其实是很奇怪的行为。毕竟,我们在这里处理的是将数值与它的 "参照物 "进行拟合。
MQL4的标准函数iBarShift 返回左栏的数字(即本例中的星期六),而iBarShift3在要求的时间到达洞口时返回右栏的数字(即星期一),这更符合逻辑。
是的,对于一个标准函数来说,这其实是很奇怪的行为。毕竟,我们所处理的正是与它的 "基准 "相适应的数值。
MQL4的标准函数iBarShift,当所请求的时间打到洞里时,返回左边的小节编号(即本例中的星期六),而iBarShift3返回洞里的右边小节编号(即星期一),这更有意义。
而如果我们现在在洞里(实时),期待收到信息的时候吧,会有什么指数提供给我们呢?我想在MQL4中它将是 "1",而对于第三种算法,它将是 "0",或者不是?
我认为MQL4功能有一个 "不要向前看 "的信息,这在一定程度上是正确的 - 这完全取决于任务。
Nikolai Semko :
...
我对你的方案只有一个抱怨:它非常复杂和缓慢。
当我发布它时(4年前),主要目标是准确性(再次),因为我发现的所有其他版本都是错误的(与mql4版本相比)。
我知道 它可以更快。
试图证明这一点。找到一个单一的参数组合,当你的函数和我的函数将显示不同的值。
但我还没有实现其中最后一个参数的精确性,因为我不明白为什么根本不需要它。我个人从不需要它。
要求是只拥有mql4版本。
关于交易、自动交易系统和测试交易策略的论坛
类似于iBarShift
Alain Verleyen, 2018.04.05 00:18
事实上,它只显示了相反的情况,我的版本是唯一正确的。(而这段代码 中原来的iBarShift1是正确的)。
我的版本被设想为一个独立的功能,就像mql4 iBarShift 。
PS: 是否有必要发布英文版本或俄文翻译是正确的?
你为什么不试试我的功能呢?那里有一个解决方案,可以及时调整酒吧的开始和结束。它似乎能正确计算一切。而且在时间上比你最快的第三版还要快。还是分支更重要?)还是那里也有错误?)我已经用了很久了....
它在哪里,你的功能,尝试一下?
而如果我们现在是在一个洞里(实时),期望得到一个酒吧的信息,会有什么指数提供给我们呢?我想在MQL4中它将是 "1",而对于第三种算法,它将是 "0",或者不是?
我认为MQL4功能有 "不要向前看 "的信息,这在一定程度上是正确的 - 这完全取决于问题。
不,第一个是零。在实时情况下,它的工作方式也是如此。
那么它在哪里呢,你的功能是什么呢,可以试一试吗?
它在第7页的末尾)。
这可能更方便。
你为什么不试试我的功能呢?我有一个解决方案,可以在时间上补偿酒吧的开始和结束。它似乎能正确计算一切。而且在时间上比你最快的第三版还要快。还是分支更重要?)还是那里也有错误?)我已经用了很久了....
这很有趣 ))))
这是你的功能。
由于你不知道一些数学运算符,如%--除法的余数
让我们对你的函数做一些简化。
它起作用了。
而这里是我的职能。
非常相似。真的吗?
只是你的人做什么都很错,而且速度较慢。
你可以在MQL4中用这个脚本试试。
不,第一个是零。它在实时中的作用是一样的。
好的--只是一些算法显示我在未来数据上的"-1",今天....。
这很有趣 ))))
是的,好吧,它确实发出了不一致的声音)。我把它挖出来好了。
嗯,是的,它确实发出了不一致的声音)。我把它挖出来好了。