表示一个新的酒吧 - 页 4 1234 新评论 Doerk Hilger 2016.05.02 13:07 #31 Donald Gibson:增强型MQL4?从未听说过这个。我也是,从昨天开始;)而正确的名称似乎是"更新的MQL4"。MQ写道。(...) 从600版开始,MQL4编程语言 已经完全修改,达到了MQL5的水平--现在你可以使用统一的MetaEditor开发环境、单一风格、库和调试工具在MQL4/5中开发交易机器人。(......)因此,我们决定在其中实现尽可能多的MQL5语言功能和特点,完全保留MQL4功能。换句话说,所有强大的MQL5功能,包括ООP 和本地代码编译器,将在MQL4中可用。为了实现这一目标,我们已经开发了一个统一的编译器,自动支持MQL4和MQL5语言。定义中的问题是 "语言 "这个词。语言是MQL,与C++是一种语言和Basic是一种语言一样。更新的MQL4/MQL5只是MQL的特定平台修改,不多不少,因此,(原生的)MQL4和更新的MQL4的比较与C和C++差不多。而MQL4.com向MQL5.com的迁移正好使这种混乱更加完美。正如这些帖子所显示的,大多数人并没有把OOP与MQL4联系起来,就像我一样。对我来说,这一直是MQL5,它支持两个平台,MT4和MT5。但无论如何,它工作得很好,与周围所有其他蹩脚的东西相比,MQLWhatever 是最好的界面。 Willbur 2016.05.02 15:58 #32 @Lorentzos Roussos Alain can correct me on this but you may find gaps in instances where on the time horizon of a bar there where no ticks , so no bar will be in place噗噗噗......。我还没有见过这样的口才。(这并不意味着什么)。我使用我的 "NewBar-indicator "在前一个柱子的高点或低点上自动拉动止损。(事实上,这有点困难,因为我认为 "Innenstaebe and Aussenstaebe" (eng. "inside and outside movements" ? ???)。 不知道正确的翻译是什么。 但我只打算在每分钟至少有20-100个点的流动性市场中使用。 我不认为我会找到一个没有任何刻度的10分钟周期。无论如何,该程序应该能够处理这个问题。谢谢!威尔伯 Lorentzos Roussos 2016.05.02 17:20 #33 Willbur:@Lorentzos Roussos 噗噗噗......。我还没有见过这样的口才。(这并不意味着什么)。我使用我的 "NewBar-indicator "在前一个柱子的高点或低点上自动拉动止损。(事实上,这有点困难,因为我认为 "Innenstaebe and Aussenstaebe" (eng. "inside and outside movements" ? ???)。 不知道正确的翻译是什么。 但我只打算在每分钟至少有20-100个点的流动性市场中使用。 我不认为我会找到一个没有任何刻度的10分钟周期。无论如何,该程序应该能够处理这个问题。谢谢!威尔伯 你使用的是iTime,如果没有新的条形图,它就不会启动,你是安全的。 Willbur 2016.05.02 22:39 #34 你使用的是iTime,如果没有新条,无论如何都不会启动。你是安全的 <br / translate="no">你说的 "你在使用iTime "是什么意思? 我认为 "iTime "只是你程序中的一个变量--如果你愿意,你可以把它命名为 "Bert "或 "Clarly"?- - - - -今天我做了一些测试。我发现了你提到的一些缺口。例如,S&P500在20:34有一个柱子,在20:35和20:36,我没有从服务器(ActiveTrades)得到刻度和柱子。下一个点位在20:37到达。 随后,图表中没有这个时期的条形图(见附件M1图表)我没有检查,但我认为在CopyRates()函数 中,这个时间段也没有条形。我认为,你应该在这一点上检查你的代码。我猜测,它将会把20:37的三个第一刻度线显示为新的条形。(TimeCurrent()从20:34跳到20:37!你需要添加三次PeriodeSeconds()来达到这个目的)。void OnTick() { //--- if(TimeCurrent()>=projection) {Print("New Bar "+TimeToString(projection,TIME_DATE|TIME_MINUTES)); projection=projection+PeriodSeconds(); }威尔伯 DoEasy 函数库中的时间序列(第四十部分):基于函数库的指标 - 实时刷新数据 emeka Mbanefo 2016.05.03 00:06 #35 大家好。如果有人还在寻找......这里是我的代码的一个剪影,以确保每条街只有一个交易被打开。 if (iBars(Symbol(),0) == BarsCurr)DisableTrading = 1; for(i=0;i<OrdersTotal();i++) { if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES) == True && OrderMagicNumber() == MagicNumber) DisableTrading = 1; } for(i=OrdersTotal();i>0;i--) { if (OrderSelect (i,SELECT_BY_POS,MODE_HISTORY) == True && OrderMagicNumber() == MagicNumber) { if ((OrderClosePrice() >= Open[0] && OrderClosePrice() <= Close[0]) && (OrderOpenPrice() >= Open[0] && OrderOpenPrice()<= Close[0])) { DisableTrading = 1; } } }ibars可以用bar代替,disabletrading = 1表示不做任何事情。酒吧部分可以用正常发布的内容来进一步理解。把BarsCurr = 0放在初始化部分,BarsCurr = Bars放在你代码的买/卖单 部分。但我确实有一个问题,我试图通过信号反转来实现平仓指令......有什么想法? Willbur 2016.05.03 11:03 #36 由于关于承认NewBars的辩论变得有点长,我将很快总结出结果。技术环境。 如果一个变化(新的交易或新的价格确定)被服务器检测到,服务器会向终端发送一个信号。终端程序触发了OnTick()例程。 通过这个信号我们可以得到以下信息。当前时间()- 服务器发送tick时的时间。关于最后一个 tick 的信息 - SymbolInfoTick()- 勾选产生的服务器时间- 问价- 出价- 最后价格(并非所有供应商都有)。- 表示改变了什么的标志。 关于当前条形的信息- CopyRates()- 酒吧的 "名称",例如 "10:20:00"。- 开-高-低-收 识别一个新的条形图(如Period = M1)。 因为服务器只在有变化的情况下才会发送信号。 名称为 "hh.mm:00 "的条形图可能比 "hh:mm:00 "晚出现。 这可能会对流动性差的符号造成特殊情况。 处理周期持续时间的解决方案不会发现这一点。 TimeCurrent() bars "name" 最后一次打勾 10:10:07 10.10:00 下一个刻度线 10:11:30 10:11:00 与此相反的是(在一个时期内零刻度)。 TimeCurrent() bars "name" 上一个刻度线 10:10:30 10:10:00 下一个时间点 10:13:40 10:13:00 10:12:00的条形图不见了! 我很少看到这样的情况(在服务器负载非常高的情况下),服务器时间已经切换到下一个时段,而条形图却没有。 TimeCurrent() bars "name" 上一个时间点 10:10:00 10:09:00 下一个时间点 10:10:00 10:10:00结论。 为了抑制不必要的CopyRates(),使用TimeCurrent()是可以的。 当TimeCurent()到达新的时间段时,我们必须检查条形图是否也被切换了。 这让我想起了阿兰很早就提出的代码。https://www.mql5.com/en/forum/22983威尔伯 Improve your time execution by removing Bars function calls www.mql5.com After a basic profiling I get the following results :. MQL5中的结构及其数据打印方法 Willbur 2016.05.03 11:07 #37 @emeka Mbanefo我的手册没有提到一个名为 "iBars "的函数。你确定这是MQL5的代码吗?威尔伯 emeka Mbanefo 2016.05.03 17:24 #38 Willbur:@emeka Mbanefo我的手册没有提到一个名为 "iBars "的函数。你确定这是MQL5的代码吗?威尔伯Ah, its not for mql5. It'sfor mql4, I think.不过,iBars是我在玩的。它的Bars是一个通用函数,正如我之前所说的。仍然在等待关于信号反转代码的帮助。谢谢。 Alain Verleyen 2016.05.03 18:32 #39 emeka Mbanefo:啊,这不是针对mql5的,是针对mql4的,我想。不过,iBars是我在玩的。它的Bars是一个一般的功能,正如我之前所说。仍然在等待关于信号反转代码的帮助。谢谢。请不要用不相关的内容劫持其他话题。这个话题是关于mql5的,正如已经说过的。这个话题是关于检测新的条形图,而不是每个条形图只交易一次。iBars在检测新条形上是不可靠的。 Indicate a new bar www.mql5.com Another idea could be the check wether the number of bars has been incremented. 1234 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
增强型MQL4?
从未听说过这个。
我也是,从昨天开始;)而正确的名称似乎是"更新的MQL4"。MQ写道。
(...) 从600版开始,MQL4编程语言 已经完全修改,达到了MQL5的水平--现在你可以使用统一的MetaEditor开发环境、单一风格、库和调试工具在MQL4/5中开发交易机器人。
(......)因此,我们决定在其中实现尽可能多的MQL5语言功能和特点,完全保留MQL4功能。换句话说,所有强大的MQL5功能,包括ООP 和本地代码编译器,将在MQL4中可用。
为了实现这一目标,我们已经开发了一个统一的编译器,自动支持MQL4和MQL5语言。
定义中的问题是 "语言 "这个词。语言是MQL,与C++是一种语言和Basic是一种语言一样。更新的MQL4/MQL5只是MQL的特定平台修改,不多不少,因此,(原生的)MQL4和更新的MQL4的比较与C和C++差不多。而MQL4.com向MQL5.com的迁移正好使这种混乱更加完美。正如这些帖子所显示的,大多数人并没有把OOP与MQL4联系起来,就像我一样。对我来说,这一直是MQL5,它支持两个平台,MT4和MT5。
但无论如何,它工作得很好,与周围所有其他蹩脚的东西相比,MQLWhatever 是最好的界面。
@Lorentzos Roussos
Alain can correct me on this but you may find gaps in instances where on the time horizon of a bar there where no ticks , so no bar will be in place
噗噗噗......。我还没有见过这样的口才。(这并不意味着什么)。
我使用我的 "NewBar-indicator "在前一个柱子的高点或低点上自动拉动止损。
(事实上,这有点困难,因为我认为 "Innenstaebe and Aussenstaebe" (eng. "inside and outside movements" ? ???)。 不知道正确的翻译是什么。
但我只打算在每分钟至少有20-100个点的流动性市场中使用。
我不认为我会找到一个没有任何刻度的10分钟周期。
无论如何,该程序应该能够处理这个问题。
谢谢!
威尔伯
@Lorentzos Roussos
噗噗噗......。我还没有见过这样的口才。(这并不意味着什么)。
我使用我的 "NewBar-indicator "在前一个柱子的高点或低点上自动拉动止损。
(事实上,这有点困难,因为我认为 "Innenstaebe and Aussenstaebe" (eng. "inside and outside movements" ? ???)。 不知道正确的翻译是什么。
但我只打算在每分钟至少有20-100个点的流动性市场中使用。
我不认为我会找到一个没有任何刻度的10分钟周期。
无论如何,该程序应该能够处理这个问题。
谢谢!
威尔伯
你说的 "你在使用iTime "是什么意思? 我认为 "iTime "只是你程序中的一个变量--如果你愿意,你可以把它命名为 "Bert "或 "Clarly"?
- - - - -
今天我做了一些测试。我发现了你提到的一些缺口。
例如,S&P500在20:34有一个柱子,在20:35和20:36,我没有从服务器(ActiveTrades)得到刻度和柱子。下一个点位在20:37到达。
随后,图表中没有这个时期的条形图(见附件M1图表)
我没有检查,但我认为在CopyRates()函数 中,这个时间段也没有条形。
我认为,你应该在这一点上检查你的代码。
我猜测,它将会把20:37的三个第一刻度线显示为新的条形。
(TimeCurrent()从20:34跳到20:37!你需要添加三次PeriodeSeconds()来达到这个目的)。
void OnTick()
{
//--- if(TimeCurrent()>=projection)
{Print("New Bar "+TimeToString(projection,TIME_DATE|TIME_MINUTES));
projection=projection+PeriodSeconds();
}
威尔伯
大家好。
如果有人还在寻找......这里是我的代码的一个剪影,以确保每条街只有一个交易被打开。
ibars可以用bar代替,disabletrading = 1表示不做任何事情。酒吧部分可以用正常发布的内容来进一步理解。把BarsCurr = 0放在初始化部分,BarsCurr = Bars放在你代码的买/卖单 部分。
但我确实有一个问题,我试图通过信号反转来实现平仓指令......有什么想法?
由于关于承认NewBars的辩论变得有点长,我将很快总结出结果。
技术环境。如果一个变化(新的交易或新的价格确定)被服务器检测到,服务器会向终端发送一个信号。终端程序触发了OnTick()例程。
通过这个信号我们可以得到以下信息。
当前时间()- 服务器发送tick时的时间。
关于最后一个 tick 的信息 - SymbolInfoTick()
- 勾选产生的服务器时间
- 问价
- 出价
- 最后价格(并非所有供应商都有)。
- 表示改变了什么的标志。
关于当前条形的信息- CopyRates()
- 酒吧的 "名称",例如 "10:20:00"。
- 开-高-低-收
识别一个新的条形图(如Period = M1)。
因为服务器只在有变化的情况下才会发送信号。
名称为 "hh.mm:00 "的条形图可能比 "hh:mm:00 "晚出现。
这可能会对流动性差的符号造成特殊情况。
处理周期持续时间的解决方案不会发现这一点。
TimeCurrent() bars "name"
最后一次打勾 10:10:07 10.10:00
下一个刻度线 10:11:30 10:11:00
与此相反的是(在一个时期内零刻度)。
TimeCurrent() bars "name"
上一个刻度线 10:10:30 10:10:00
下一个时间点 10:13:40 10:13:00 10:12:00的条形图不见了!
我很少看到这样的情况(在服务器负载非常高的情况下),服务器时间已经切换到下一个时段,而条形图却没有。
TimeCurrent() bars "name"
上一个时间点 10:10:00 10:09:00
下一个时间点 10:10:00 10:10:00
结论。
为了抑制不必要的CopyRates(),使用TimeCurrent()是可以的。
当TimeCurent()到达新的时间段时,我们必须检查条形图是否也被切换了。
这让我想起了阿兰很早就提出的代码。
https://www.mql5.com/en/forum/22983
威尔伯
@emeka Mbanefo
我的手册没有提到一个名为 "iBars "的函数。
你确定这是MQL5的代码吗?
威尔伯
@emeka Mbanefo
我的手册没有提到一个名为 "iBars "的函数。
你确定这是MQL5的代码吗?
威尔伯
Ah, its not for mql5. It'sfor mql4, I think.不过,iBars是我在玩的。它的Bars是一个通用函数,正如我之前所说的。
仍然在等待关于信号反转代码的帮助。
谢谢。
啊,这不是针对mql5的,是针对mql4的,我想。不过,iBars是我在玩的。它的Bars是一个一般的功能,正如我之前所说。
仍然在等待关于信号反转代码的帮助。
谢谢。