新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1386 1...137913801381138213831384138513861387138813891390139113921393...1953 新评论 Vitaly Muzichenko 2021.02.11 18:46 #13851 Mikhail Mishanin: 这很有趣)它不应该是)。如果战斗结束了--用正常的价差进行交易,只需在输入中取出它的 "限价",如果价差超过限价,就忽略交易。价差可以通过莳萝来拉长,而不需要翻转。 我有相当多的价差波动,从10个单位到45个单位。 我得等着放映45 分钟。 同时,该函数的平均计数为17,这是很令人满意的。 翻身后1小时内会上升到100-140,我将运行代码,看看它的表现如何。 Alexey Viktorov 2021.02.11 19:05 #13852 Vitaly Muzichenko:不过,你可以这样开处方。它应该正常工作。我不喜欢这种逻辑。函数的第一个输入。 res = 0;因此,条件是 if(dt.hour==22 && res<_sp)是不满足的。我也不想进一步讨论细节。突然出现这种状况是为了什么? if(tc>LONG_MAX-1) 我不明白这一切的逻辑。 Vitaly Muzichenko 2021.02.11 19:13 #13853 Alexey Viktorov: 我不喜欢这种逻辑。函数的第一个输入。res = 0;因此,该条件if(dt.hour==22 && res<_sp)没有得到满足。我也不想再多说什么了。突然出现这种状况是为了什么? if(tc>LONG_MAX-1)我不明白这一切的逻辑。 1.这种情况只在翻身后1小时内出现,此时时间为22小时。但这只是在第一次启动时,而终端总是与专家顾问一起工作,这意味着它只空一次。 也许在时间框架改变的情况下,它也应该被声明为静态的。 2. if(tc>LONG_MAX-1) = 如果我们超过了long的允许限度,我们将变量 tc归零。这不太可能发生,因为终端有时会超载,例如在周末。 --- 改变了代码,这必须是最终的。 void OnTick() { int sp = SymbolInfoInteger(Symbol(),SYMBOL_SPREAD); if(CheckSpr(sp)) { // Здесь код отправки } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ MqlDateTime dt; bool CheckSpr(int _sp) { static int ts=0; static ulong tc=0; static int res=0; TimeGMT(dt); if(res<_sp && (dt.hour==22||dt.hour==23)) { // Если 2 часа после Rollover спред упадёт до нормального - торгуем Comment("Rollover: Спред: ",_sp,", Средний: ",res,", Тиков: ",tc); return(false); } tc++; ts += _sp; res =ts/tc; if(tc<500) { Comment("Тиков менее 500: ",tc,", Спред: ",_sp,", Средний: ",res); return(false); } if(res>_sp) { Comment("Торгуем: Спред: ",_sp,", Средний: ",res,", Тиков: ",tc); return(true); } Comment("Не торгуем - спред завышен: Спред: ",_sp,", Средний: ",res,", Тиков: ",tc); return(false); } P.S. 将其用于测试 P.S. 修改了代码 ---- P.S.S.S. 我在翻身后增加了1个小时的时间,否则我在一些交易商身上的点差非常高。 最后的变体已经工作了20个小时,结果是惊人的。 平均每日价差为10-45个点,但大部分时间是10-17个点,平均价差计算为19 感谢大家的参与,如果你有什么要补充的--写出来吧! Any questions from newcomers 使用 OpenCL 测试烛形形态 Mikhail Mishanin 2021.02.11 19:23 #13854 Vitaly Muzichenko:也许它也应该被宣布为静态的,以备时间框架的变化。 我已经理解了它,它似乎在工作,我收回 "它不应该"),现在我真的只需要搞清楚归零/分配的时刻。 Vitaly Muzichenko 2021.02.14 11:59 #13855 我在论坛上看到过讨论,但找不到了。 需要限制在一个酒吧的一个位置,可以在任何时候打开,这是现在的选择,但在我看来,它是 "沉重的" if(Bars(Symbol(), PERIOD_CURRENT, Buy.LastOpenTime, TimeCurrent())==0) return; // Открывать не более 1 на баре 怎样才能将其替换掉,使之变得更轻? Mikhail Mishanin 2021.02.14 13:00 #13856 Vitaly Muzichenko:我在论坛上看到过讨论,但找不到了。我需要把自己限制在一个随时可以开仓的栏位上,这也是现在的一个选择,但在我看来是 "重"。怎样才能将其替换掉,使之变得更轻? "你需要把自己限制在酒吧的一个位置上,这个位置随时都可能被打开......" 太笼统的措辞,你的意思是,一旦在这个符号的条形图上,你可以发送OrderSend? Vitaly Muzichenko 2021.02.14 13:40 #13857 Mikhail Mishanin:"你必须把自己限制在酒吧的一个位置上,这个位置随时都有可能被打开......" 措辞太笼统了,你的意思是,在这个符号中,每个柱子可以发送一次OrderSend? 是的,专家顾问在H1时间框架上工作,可以在10:17开仓,它需要在11:00之前不开另一个仓位,也就是在当前的柱子上。 Mikhail Mishanin 2021.02.14 14:13 #13858 Vitaly Muzichenko:是的,EA在H1时间段工作,可以在10:17开仓,你需要确保在11:00之前,也就是在当前条形图上--它不会再开仓。 是的,同样,我认为魔鬼在细节中。 打开一个位置--设置一个 "禁止标志 "和/或保存 "时间"(哪个并不重要,只要是相同的(来源)进行比较)。 一个新的酒吧被打开 - "禁止标志 "被设置... 问题:如果职位发生了某种变化怎么办? 我如何定义一个新条形图的例子 - doTB除数为秒,对于H1来说,它是3600.0 BARii[].time - 与M1有关的小节时间,但它可以是任意的,也可以是任何除数,如果它大于或等于1,则表示不同小节的 "时间"。 if(MathFloor(BARii[0].time/doTB)-MathFloor(BARii[1].time/doTB)>=1.0)//если бар закрылся Совершение сделок - Торговые операции - Справка по MetaTrader 5 www.metatrader5.com Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением... Vitaly Muzichenko 2021.02.14 14:27 #13859 Mikhail Mishanin:是的,在我看来,又是不完整的条件,"魔鬼在细节中",简单说来,如果文字打开一个位置--设置一个 "禁止标志 "和/或保存 "时间"(哪个并不重要,只要是相同的(来源)进行比较)。一个新的酒吧被打开 - "禁止标志 "被设置...问题:如果职位发生了某种变化怎么办?我如何定义一个新条形图的例子 - doTB除数为秒,对于H1来说,它是3600.0BARii[].time - 与M1有关的小节时间,但可以是任意的,也可以是任意的除法,如果它大于或等于1,则表示不同小节的 "时间"。 当时我对使用标志的选项并不满意;我不记得为什么,但我把它替换为 if(Bars(Symbol(), PERIOD_CURRENT, Buy.LastOpenTime, TimeCurrent())==0) return; // Открывать не более 1 на баре 好的,我会考虑另一种实现方式 Mikhail Mishanin 2021.02.14 15:12 #13860 Vitaly Muzichenko:我当时对旗帜选项不满意,我不记得原因了,但我把它换成了好的,我会考虑另一种实现方式。 那么,这种实施方式又牵制了什么呢?与我的代码类似,在一个 "条 "中确定两次,或在不同的 "条 "中确定。只是在我的变体中,在不同的 "条 "中为 "真",在你的变体中,在一个条中为 "真",只是绕过与 "0 "的比较==,特别是整数,沃,我可能可以将条件改为>0.0或>0.9,需要考虑... 1...137913801381138213831384138513861387138813891390139113921393...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这很有趣)它不应该是)。
如果战斗结束了--用正常的价差进行交易,只需在输入中取出它的 "限价",如果价差超过限价,就忽略交易。
价差可以通过莳萝来拉长,而不需要翻转。
我有相当多的价差波动,从10个单位到45个单位。
我得等着放映45 分钟。
同时,该函数的平均计数为17,这是很令人满意的。
翻身后1小时内会上升到100-140,我将运行代码,看看它的表现如何。
不过,你可以这样开处方。
它应该正常工作。
我不喜欢这种逻辑。
函数的第一个输入。
res = 0;
因此,条件是
是不满足的。
我也不想进一步讨论细节。突然出现这种状况是为了什么?
我不明白这一切的逻辑。我不喜欢这种逻辑。
函数的第一个输入。
res = 0;
因此,该条件
没有得到满足。
我也不想再多说什么了。突然出现这种状况是为了什么?
我不明白这一切的逻辑。1.这种情况只在翻身后1小时内出现,此时时间为22小时。但这只是在第一次启动时,而终端总是与专家顾问一起工作,这意味着它只空一次。
也许在时间框架改变的情况下,它也应该被声明为静态的。
2. if(tc>LONG_MAX-1) = 如果我们超过了long的允许限度,我们将变量 tc归零。这不太可能发生,因为终端有时会超载,例如在周末。
---
改变了代码,这必须是最终的。
P.S. 将其用于测试
P.S. 修改了代码
----
P.S.S.S. 我在翻身后增加了1个小时的时间,否则我在一些交易商身上的点差非常高。
最后的变体已经工作了20个小时,结果是惊人的。
平均每日价差为10-45个点,但大部分时间是10-17个点,平均价差计算为19
感谢大家的参与,如果你有什么要补充的--写出来吧!
也许它也应该被宣布为静态的,以备时间框架的变化。
我已经理解了它,它似乎在工作,我收回 "它不应该"),现在我真的只需要搞清楚归零/分配的时刻。
我在论坛上看到过讨论,但找不到了。
需要限制在一个酒吧的一个位置,可以在任何时候打开,这是现在的选择,但在我看来,它是 "沉重的"
怎样才能将其替换掉,使之变得更轻?
我在论坛上看到过讨论,但找不到了。
我需要把自己限制在一个随时可以开仓的栏位上,这也是现在的一个选择,但在我看来是 "重"。
怎样才能将其替换掉,使之变得更轻?
"你需要把自己限制在酒吧的一个位置上,这个位置随时都可能被打开......"
太笼统的措辞,你的意思是,一旦在这个符号的条形图上,你可以发送OrderSend?
"你必须把自己限制在酒吧的一个位置上,这个位置随时都有可能被打开......"
措辞太笼统了,你的意思是,在这个符号中,每个柱子可以发送一次OrderSend?
是的,专家顾问在H1时间框架上工作,可以在10:17开仓,它需要在11:00之前不开另一个仓位,也就是在当前的柱子上。
是的,EA在H1时间段工作,可以在10:17开仓,你需要确保在11:00之前,也就是在当前条形图上--它不会再开仓。
是的,同样,我认为魔鬼在细节中。
打开一个位置--设置一个 "禁止标志 "和/或保存 "时间"(哪个并不重要,只要是相同的(来源)进行比较)。
一个新的酒吧被打开 - "禁止标志 "被设置...
问题:如果职位发生了某种变化怎么办?
我如何定义一个新条形图的例子 - doTB除数为秒,对于H1来说,它是3600.0
BARii[].time - 与M1有关的小节时间,但它可以是任意的,也可以是任何除数,如果它大于或等于1,则表示不同小节的 "时间"。
是的,在我看来,又是不完整的条件,"魔鬼在细节中",简单说来,如果文字
打开一个位置--设置一个 "禁止标志 "和/或保存 "时间"(哪个并不重要,只要是相同的(来源)进行比较)。
一个新的酒吧被打开 - "禁止标志 "被设置...
问题:如果职位发生了某种变化怎么办?
我如何定义一个新条形图的例子 - doTB除数为秒,对于H1来说,它是3600.0
BARii[].time - 与M1有关的小节时间,但可以是任意的,也可以是任意的除法,如果它大于或等于1,则表示不同小节的 "时间"。
当时我对使用标志的选项并不满意;我不记得为什么,但我把它替换为
好的,我会考虑另一种实现方式
我当时对旗帜选项不满意,我不记得原因了,但我把它换成了
好的,我会考虑另一种实现方式。
那么,这种实施方式又牵制了什么呢?与我的代码类似,在一个 "条 "中确定两次,或在不同的 "条 "中确定。只是在我的变体中,在不同的 "条 "中为 "真",在你的变体中,在一个条中为 "真",只是绕过与 "0 "的比较==,特别是整数,沃,我可能可以将条件改为>0.0或>0.9,需要考虑...