新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1939 1...193219331934193519361937193819391940194119421943194419451946...1953 新评论 DanilaMactep 2022.03.30 05:08 #19381 Valeriy Yastremskiy #: 如果iTime !=OldTime,则出现新的条形图,并且OldTime =iTime在零移/条形图上。 OldTime 中应该写什么值?O_o 箭头本身是在零条打开的那一刻画出来的。 我提出了这个条件。 if(iTime(NULL,0,0)!=iTime(NULL,0,1)) { Alert("ДИВЕРГЕНЦИЯ НА "+Symbol()); } 它不能正常工作--即使在测试器中,日志中也有很多警报。 if(iTime(NULL,0,1)!=iTime(NULL,0,0)) { Alert("ДИВЕРГЕНЦИЯ НА "+Symbol()); } 我还收到一堆警报--我不知道怎么写这个东西((() Valeriy Yastremskiy 2022.03.30 07:37 #19382 DanilaMactep #:OldTime 中应该写什么值?O_o箭头本身是在零条打开的那一刻画出来的。我提出了这个条件。它不能正常工作--即使在测试器中,日志中也有很多警报。 我还收到一堆警报--我不明白怎么写这个东西((() static datetime OldTime=0; if(iTime(NULL,0,0)!=OldTime) { Alert("ДИВЕРГЕНЦИЯ НА "+Symbol()); OldTime=iTime(NULL,0,0); } 因此,当你启动时,你也会得到一个警报。当一个新的条形图出现时,iTime(NULL,0,0)将被改变,一旦没有相等,就会出现相等,if将为假。 你也可以这样做。 static bool FlagNewBar=false; if(BarTime!=Time[0]) { BarTime=Time[0]; FlagNewBar=true; } 或者我们可以在任何时间框架上得到一个新的条形图。 bool FlagNewBarF(int prd, datetime &ArgBarTime,bool &FlagNbar) { FlagNbar=false; if(ArgBarTime!=iTime(NULL,prd,0)) { ArgBarTime=iTime(NULL,prd,0); FlagNbar=true; } return(FlagNbar); } 调用情况如下 if(FlagNewBarF(1, BarTime1,FlagNewBar1)) { Alert("FlagNbar1 ",FlagNewBar1,"BarTime1 ",TimeToStr(BarTime1,TIME_DATE|TIME_SECONDS)); } if(FlagNewBarF(5, BarTime5,FlagNewBar5)) { Alert("FlagNbar5 ",FlagNewBar5,"BarTime5 ",TimeToStr(BarTime5,TIME_DATE|TIME_SECONDS)); } DanilaMactep 2022.03.30 07:55 #19383 Valeriy Yastremskiy #:这样,在加载时也会有一个提醒。当一个新的条形图出现时,iTime(NULL,0,0)将被改变,一旦没有相等,就会出现相等,if将为假。 非常感谢你的帮助--我把它拧上了--它在编译时发出了一个警报--让我们看看接下来会发生什么:--) Fast235 2022.03.30 08:10 #19384 "新条 "是邪恶的,在这个事件中,你可以从 "最后一条 "指标即newbar-1获得数据。 如果你在一台服务器上运行3个终端,并且根据交易频率,信号在一些终端中跳过,即在发送订单 集打印(例如买入信号)之前,指标打印值将显示前一个条形的值。 当然,你可以进行一些检查... Roman Shiredchenko 2022.03.30 09:36 #19385 Valeriy Yastremskiy #: 一般的metaquotes文件夹是终端文件夹,它包含一般的终端文件夹,有终端日志、数据和测试器文件夹,它有自己的日志和文件文件夹。mcl文件夹包含EA、脚本、指标、窗口、子窗口的日志。 一切。卫星昨天我清洗了它。我今天会再次检查。清理了30GB。从大约10个终端和历史主要是在工具和日志上... Alexandr Spravchikov 2022.03.30 18:32 #19386 Artyom Trishkin:在这个主题中,我想开始帮助那些真正想了解和学习新的MQL4的编程,并想轻松切换到MQL5的人--这些语言非常相似。这个博客将是一个讨论问题的好地方,他们的解决方案的算法和任何其他有关MT编程的问题,以这种或那种方式。我希望我们论坛的其他有经验的成员能加入讨论,支部会让大家感兴趣。 你好,没有人能帮助我解决关闭订单的功能,我正在尝试以下方法。 for (int i=1; i<=OrdersTotal(); i++) { 如果(OrderSelect(i-1,SELECT_BY_POS)==true) { 如果( Ask<= OrderOpenPrice())CloseBay()。 } } 当Ask高于订单湾时,一切正常,只要Bid变成高于订单湾,订单就会被删除,当Ask低于开盘价时,应该被删除。请帮助我理解这一点,我将非常感谢你。真诚的亚历山大。 Aleksandr Kononov 2022.03.31 07:27 #19387 Alexandr Spravchikov #:你好,没有人可以帮助我解决平仓功能,我是这样尝试的。 你试过这种方式吗? void CloseBuy() { for(int i= OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==_Symbol) && (OrderMagicNumber()==Magic) && (OrderType()==OP_BUY)) { if( Ask<= OrderOpenPrice()) if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Green)) { Print("Error closing a buy order!"+ IntegerToString(_Period,0) +" Error code = " + IntegerToString(GetLastError(),0)); } } } } return; } ALEKSANDR SOKOLOV 2022.04.01 20:21 #19388 问候。你能告诉我如何对 "BTCUSDT "进行交易api查询,以显示不是以BTC而是以USDT的手数? E1Macho1 2022.04.02 06:11 #19389 大家好!请给我一个忠告。 这个想法很简单。编写一个EA,当突破一个全局通道边界时,将打开一个头寸并关闭相反的头寸。该通道是由指标建立的。 我利用互联网指南做了一个变体。这个机器人在策略测试器中开仓/平仓,但如果你看一下图表,它根本不符合我的条件。我已经尝试了缓冲区内的所有变量,并检查了错误。我没有得到任何结果。 如果有人可以,请告诉我哪里出了问题,该往哪个方向挖。:3 我附上了一个文件,里面有缓冲区的变量,指标的演示,其初始变量,我的专家顾问的变体。 附加的文件: e65fu3huml.txt 1 kb 9.png 14 kb f2.png 26 kb second.mq4 15 kb ALEKSANDR SOKOLOV 2022.04.02 08:46 #19390 E1Macho1 #:大家好!请给我一个提示,好吗?该走哪条路。:3 向使用调试器的方向挖掘 1...193219331934193519361937193819391940194119421943194419451946...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果iTime !=OldTime,则出现新的条形图,并且OldTime =iTime在零移/条形图上。
OldTime 中应该写什么值?O_o
箭头本身是在零条打开的那一刻画出来的。
我提出了这个条件。
它不能正常工作--即使在测试器中,日志中也有很多警报。
我还收到一堆警报--我不知道怎么写这个东西((()
OldTime 中应该写什么值?O_o
箭头本身是在零条打开的那一刻画出来的。
我提出了这个条件。
它不能正常工作--即使在测试器中,日志中也有很多警报。
我还收到一堆警报--我不明白怎么写这个东西((()
因此,当你启动时,你也会得到一个警报。当一个新的条形图出现时,iTime(NULL,0,0)将被改变,一旦没有相等,就会出现相等,if将为假。
你也可以这样做。
或者我们可以在任何时间框架上得到一个新的条形图。
调用情况如下
这样,在加载时也会有一个提醒。当一个新的条形图出现时,iTime(NULL,0,0)将被改变,一旦没有相等,就会出现相等,if将为假。
"新条 "是邪恶的,在这个事件中,你可以从 "最后一条 "指标即newbar-1获得数据。
如果你在一台服务器上运行3个终端,并且根据交易频率,信号在一些终端中跳过,即在发送订单 集打印(例如买入信号)之前,指标打印值将显示前一个条形的值。
当然,你可以进行一些检查...
一般的metaquotes文件夹是终端文件夹,它包含一般的终端文件夹,有终端日志、数据和测试器文件夹,它有自己的日志和文件文件夹。mcl文件夹包含EA、脚本、指标、窗口、子窗口的日志。
在这个主题中,我想开始帮助那些真正想了解和学习新的MQL4的编程,并想轻松切换到MQL5的人--这些语言非常相似。
这个博客将是一个讨论问题的好地方,他们的解决方案的算法和任何其他有关MT编程的问题,以这种或那种方式。
我希望我们论坛的其他有经验的成员能加入讨论,支部会让大家感兴趣。
你好,没有人能帮助我解决关闭订单的功能,我正在尝试以下方法。
for (int i=1; i<=OrdersTotal(); i++)
{
如果(OrderSelect(i-1,SELECT_BY_POS)==true)
{
如果( Ask<= OrderOpenPrice())CloseBay()。
}
}
当Ask高于订单湾时,一切正常,只要Bid变成高于订单湾,订单就会被删除,当Ask低于开盘价时,应该被删除。请帮助我理解这一点,我将非常感谢你。真诚的亚历山大。
你好,没有人可以帮助我解决平仓功能,我是这样尝试的。
你试过这种方式吗?
问候。你能告诉我如何对 "BTCUSDT "进行交易api查询,以显示不是以BTC而是以USDT的手数?
大家好!请给我一个忠告。
这个想法很简单。编写一个EA,当突破一个全局通道边界时,将打开一个头寸并关闭相反的头寸。该通道是由指标建立的。
我利用互联网指南做了一个变体。这个机器人在策略测试器中开仓/平仓,但如果你看一下图表,它根本不符合我的条件。我已经尝试了缓冲区内的所有变量,并检查了错误。我没有得到任何结果。
如果有人可以,请告诉我哪里出了问题,该往哪个方向挖。:3
我附上了一个文件,里面有缓冲区的变量,指标的演示,其初始变量,我的专家顾问的变体。
大家好!请给我一个提示,好吗?
该走哪条路。:3
向使用调试器的方向挖掘