初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1134 1...112711281129113011311132113311341135113611371138113911401141...1503 新评论 Snajper007 2019.10.14 10:02 #11331 你好,请你告诉我如何做到这一点?我如何正确地拼写条件。*如果有一个新的小时*? Vladimir Karputov 2019.10.14 10:04 #11332 MrBrooklin: 你好! 在这里帮我一下。我有一个关于交易信号模块 "时间过滤器 "的问题。 问题是,我用这个模块生成了一个EA,并将其设置为每天只允许交易一个小时。它主要是以这种方式进行交易,但也有一些日子,我的专家顾问在它想要的任何时间开仓。我已经尝试了 "时间过滤器 "交易信号模块与其他交易信号模块(如随机指数、WPR等)的不同组合,但同样的事情发生。此外,如果你设置了允许连续工作2个小时,就没有任何问题,它工作得很好。 它能与什么有关?也许交易信号模块 "时间过滤器 "的代码中存在错误?因为我不是编程专家,所以请你帮我搞清楚,或者给我一个提示,也许我做错了什么。 真诚的,弗拉基米尔。 下面是图片上的一个简单例子。有一天,它在7点钟开门;另一天,它在5点钟开门;第三天,它又在7点钟开门。 你能在这个帖子中附上一个mq5专家顾问,并指定测试者的参数(两个截图:设置和参数标签)吗? Vladimir Karputov 2019.10.14 10:06 #11333 Snajper007: 你好,请你告诉我。如何正确地拼写这个条件。*如果有一个新的小时*? 你是指时间(如时钟显示为15-00),还是指H1时间框架上诞生了一个新的条形图? MrBrooklin 2019.10.14 11:09 #11334 关于交易、自动交易系统和策略测试的论坛 初学者的常见问题 MQL5 MT5 MetaTrader 5 Vladimir Karputov, 2019.10.14 12:04 你能在信息中附加一个mq5专家顾问,并指定测试者的参数(两个截图:设置和参数标签)吗? 不是没有根据的,例如,现在我在MQL5 Wizard中生成了AMA交易信号的第一个可用模块和一个时间过滤器。 //+------------------------------------------------------------------+ //| AMA.mq5 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Include | //+------------------------------------------------------------------+ #include <Expert\Expert.mqh> //--- available signals #include <Expert\Signal\SignalAMA.mqh> #include <Expert\Signal\SignalITF.mqh> //--- available trailing #include <Expert\Trailing\TrailingNone.mqh> //--- available money management #include <Expert\Money\MoneyFixedRisk.mqh> //+------------------------------------------------------------------+ //| Inputs | //+------------------------------------------------------------------+ //--- inputs for expert input string Expert_Title ="AMA"; // Document name ulong Expert_MagicNumber =8503; // bool Expert_EveryTick =false; // //--- inputs for main signal input int Signal_ThresholdOpen =10; // Signal threshold value to open [0...100] input int Signal_ThresholdClose =10; // Signal threshold value to close [0...100] input double Signal_PriceLevel =0; // Price level to execute a deal input double Signal_StopLevel =50.0; // Stop Loss level (in points) input double Signal_TakeLevel =50.0; // Take Profit level (in points) input int Signal_Expiration =4; // Expiration of pending orders (in bars) input int Signal_AMA_PeriodMA =10; // Adaptive Moving Average(1,1,...) Period of averaging input int Signal_AMA_PeriodFast =2; // Adaptive Moving Average(1,1,...) Period of fast EMA input int Signal_AMA_PeriodSlow =30; // Adaptive Moving Average(1,1,...) Period of slow EMA input int Signal_AMA_Shift =0; // Adaptive Moving Average(1,1,...) Time shift input ENUM_APPLIED_PRICE Signal_AMA_Applied =PRICE_CLOSE; // Adaptive Moving Average(1,1,...) Prices series input double Signal_AMA_Weight =1.0; // Adaptive Moving Average(1,1,...) Weight [0...1.0] input int Signal_ITF_GoodHourOfDay=-1; // IntradayTimeFilter(-1,...) Good hour input int Signal_ITF_BadHoursOfDay=16777087; // IntradayTimeFilter(-1,...) Bad hours (bit-map) input int Signal_ITF_GoodDayOfWeek=-1; // IntradayTimeFilter(-1,...) Good day of week input int Signal_ITF_BadDaysOfWeek=0; // IntradayTimeFilter(-1,...) Bad days of week (bit-map) input double Signal_ITF_Weight =1.0; // IntradayTimeFilter(-1,...) Weight [0...1.0] //--- inputs for money input double Money_FixRisk_Percent =10.0; // Risk percentage //+------------------------------------------------------------------+ //| Global expert object | //+------------------------------------------------------------------+ CExpert ExtExpert; //+------------------------------------------------------------------+ //| Initialization function of the expert | //+------------------------------------------------------------------+ int OnInit() { //--- Initializing expert if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber)) { //--- failed printf(__FUNCTION__+": error initializing expert"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- Creating signal CExpertSignal *signal=new CExpertSignal; if(signal==NULL) { //--- failed printf(__FUNCTION__+": error creating signal"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- ExtExpert.InitSignal(signal); signal.ThresholdOpen(Signal_ThresholdOpen); signal.ThresholdClose(Signal_ThresholdClose); signal.PriceLevel(Signal_PriceLevel); signal.StopLevel(Signal_StopLevel); signal.TakeLevel(Signal_TakeLevel); signal.Expiration(Signal_Expiration); //--- Creating filter CSignalAMA CSignalAMA *filter0=new CSignalAMA; if(filter0==NULL) { //--- failed printf(__FUNCTION__+": error creating filter0"); ExtExpert.Deinit(); return(INIT_FAILED); } signal.AddFilter(filter0); //--- Set filter parameters filter0.PeriodMA(Signal_AMA_PeriodMA); filter0.PeriodFast(Signal_AMA_PeriodFast); filter0.PeriodSlow(Signal_AMA_PeriodSlow); filter0.Shift(Signal_AMA_Shift); filter0.Applied(Signal_AMA_Applied); filter0.Weight(Signal_AMA_Weight); //--- Creating filter CSignalITF CSignalITF *filter1=new CSignalITF; if(filter1==NULL) { //--- failed printf(__FUNCTION__+": error creating filter1"); ExtExpert.Deinit(); return(INIT_FAILED); } signal.AddFilter(filter1); //--- Set filter parameters filter1.GoodHourOfDay(Signal_ITF_GoodHourOfDay); filter1.BadHoursOfDay(Signal_ITF_BadHoursOfDay); filter1.GoodDayOfWeek(Signal_ITF_GoodDayOfWeek); filter1.BadDaysOfWeek(Signal_ITF_BadDaysOfWeek); filter1.Weight(Signal_ITF_Weight); //--- Creation of trailing object CTrailingNone *trailing=new CTrailingNone; if(trailing==NULL) { //--- failed printf(__FUNCTION__+": error creating trailing"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- Add trailing to expert (will be deleted automatically)) if(!ExtExpert.InitTrailing(trailing)) { //--- failed printf(__FUNCTION__+": error initializing trailing"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- Set trailing parameters //--- Creation of money object CMoneyFixedRisk *money=new CMoneyFixedRisk; if(money==NULL) { //--- failed printf(__FUNCTION__+": error creating money"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- Add money to expert (will be deleted automatically)) if(!ExtExpert.InitMoney(money)) { //--- failed printf(__FUNCTION__+": error initializing money"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- Set money parameters money.Percent(Money_FixRisk_Percent); //--- Check all trading objects parameters if(!ExtExpert.ValidationSettings()) { //--- failed ExtExpert.Deinit(); return(INIT_FAILED); } //--- Tuning of all necessary indicators if(!ExtExpert.InitIndicators()) { //--- failed printf(__FUNCTION__+": error initializing indicators"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- ok return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Deinitialization function of the expert | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ExtExpert.Deinit(); } //+------------------------------------------------------------------+ //| "Tick" event handler function | //+------------------------------------------------------------------+ void OnTick() { ExtExpert.OnTick(); } //+------------------------------------------------------------------+ //| "Trade" event handler function | //+------------------------------------------------------------------+ void OnTrade() { ExtExpert.OnTrade(); } //+------------------------------------------------------------------+ //| "Timer" event handler function | //+------------------------------------------------------------------+ void OnTimer() { ExtExpert.OnTimer(); } //+------------------------------------------------------------------+ "设置 "的屏幕截图 "设置 "的截图。 时间过滤器的不正确 截图 (在不同的日子里,7点、12点和7点开仓)。 Vladimir Karputov 2019.10.14 11:28 #11335 MrBrooklin: 为了不至于毫无根据,例如,现在我在MQL5 Wizard中生成了AMA交易信号的第一个可用模块和一个时间过滤器。 "设置 "的屏幕截图 "设置 "的截图。 时间过滤器的错误操作 截图(在不同的日子里,7点、12点和7点的打开位置)。 1.带图表的图片--在截图时,用 "十字线 "工具做--不清楚是哪一年。 2.在处理挂单 时--记住,挂单可以在相对于设置时间的完全不同的时间(小时和分钟)触发。 3.当使用信号模块时,将参数重置为默认值,并检查市场上的工作 - 没有任何挂单(如果第2点不清楚)。 MrBrooklin 2019.10.14 11:40 #11336 关于交易、自动交易系统和策略测试的论坛 初学者的常见问题 MQL5 MT5 MetaTrader 5 Vladimir Karputov, 2019.10.14 13:28 1.图表图片--在进行截图时,要与 "十字线 "工具一起进行--否则就不清楚哪一年。 2.在处理挂单 时--记住,挂单可以在与下单时间完全不同的时间(小时和分钟)触发。 3.当使用信号模块时,将参数重置为默认值,并检查市场上的工作 - 没有挂单(这是在第2点不清楚的情况下)。 1.关于十字准线--可以理解。在截图中,年份是2019年,月份是10月。 2.我不太明白待定订单的情况。你怎么知道EA有一个挂单,而不是在一开始就开仓?你能说得更具体些吗? 3.专家顾问在信号模块的默认值下工作正常。是否不允许修改参数值? 真诚的,弗拉基米尔。 Vladimir Karputov 2019.10.14 11:46 #11337 *** 1.关于十字线,很清楚。在截图中,年份是2019年,月份是10月。 *** 谢谢你的澄清。 *** 2.我不太明白待定订单的情况。你是如何确定EA设置了一个挂单,而不是在一小时开始时立即开仓的?你能说得更具体些吗? *** 在视觉测试器中,只要看一下 "历史 "标签就可以了 *** 3.在信号模块的默认值下,专家顾问工作正常。是否不能改变参数的值? *** 当然可以,但前提是你要明白你在做什么,以及你要明白什么参数负责什么。 Snajper007 2019.10.14 11:47 #11338 Vladimir Karputov: 你是指时间(如时钟显示为15-00),还是指H1时间框架上诞生了一个新的条形图? 我是说时钟显示为15-00。 Vladimir Karputov 2019.10.14 11:50 #11339 Snajper007: 我的意思是,时钟显示15-00。 而你想要的结果有多大的确定性? 只是一个例子。你想看到时钟上的时间是下午3点。而你在等待它。但当时没有勾选或没有连接到服务器。然后你得到了蜱虫,但时间是15小时00分钟36秒。你会怎么做? Snajper007 2019.10.14 11:56 #11340 Vladimir Karputov: 而你想要的结果有多大的确定性? 只是一个例子。你想看到时钟上的时间是下午3点。而你在等待它。但当时没有勾选或没有连接到服务器。然后你得到了蜱虫,但时间是15小时00分钟36秒。你会怎么做? 你能不能让它不准确地检查15-00,而是检查小时的开始?换句话说,第一分钟就已经显示前一个小时已经结束,新的一个小时已经开始。 1...112711281129113011311132113311341135113611371138113911401141...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好!
在这里帮我一下。我有一个关于交易信号模块 "时间过滤器 "的问题。
问题是,我用这个模块生成了一个EA,并将其设置为每天只允许交易一个小时。它主要是以这种方式进行交易,但也有一些日子,我的专家顾问在它想要的任何时间开仓。我已经尝试了 "时间过滤器 "交易信号模块与其他交易信号模块(如随机指数、WPR等)的不同组合,但同样的事情发生。此外,如果你设置了允许连续工作2个小时,就没有任何问题,它工作得很好。
它能与什么有关?也许交易信号模块 "时间过滤器 "的代码中存在错误?因为我不是编程专家,所以请你帮我搞清楚,或者给我一个提示,也许我做错了什么。
真诚的,弗拉基米尔。
下面是图片上的一个简单例子。有一天,它在7点钟开门;另一天,它在5点钟开门;第三天,它又在7点钟开门。
你能在这个帖子中附上一个mq5专家顾问,并指定测试者的参数(两个截图:设置和参数标签)吗?
你好,请你告诉我。如何正确地拼写这个条件。*如果有一个新的小时*?
你是指时间(如时钟显示为15-00),还是指H1时间框架上诞生了一个新的条形图?
关于交易、自动交易系统和策略测试的论坛
初学者的常见问题 MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.10.14 12:04
你能在信息中附加一个mq5专家顾问,并指定测试者的参数(两个截图:设置和参数标签)吗?
不是没有根据的,例如,现在我在MQL5 Wizard中生成了AMA交易信号的第一个可用模块和一个时间过滤器。
"设置 "的屏幕截图
"设置 "的截图。
时间过滤器的不正确 截图 (在不同的日子里,7点、12点和7点开仓)。
为了不至于毫无根据,例如,现在我在MQL5 Wizard中生成了AMA交易信号的第一个可用模块和一个时间过滤器。
"设置 "的屏幕截图
"设置 "的截图。
时间过滤器的错误操作 截图(在不同的日子里,7点、12点和7点的打开位置)。
1.带图表的图片--在截图时,用 "十字线 "工具做--不清楚是哪一年。
2.在处理挂单 时--记住,挂单可以在相对于设置时间的完全不同的时间(小时和分钟)触发。
3.当使用信号模块时,将参数重置为默认值,并检查市场上的工作 - 没有任何挂单(如果第2点不清楚)。
关于交易、自动交易系统和策略测试的论坛
初学者的常见问题 MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.10.14 13:28
1.图表图片--在进行截图时,要与 "十字线 "工具一起进行--否则就不清楚哪一年。
2.在处理挂单 时--记住,挂单可以在与下单时间完全不同的时间(小时和分钟)触发。
3.当使用信号模块时,将参数重置为默认值,并检查市场上的工作 - 没有挂单(这是在第2点不清楚的情况下)。
1.关于十字准线--可以理解。在截图中,年份是2019年,月份是10月。
2.我不太明白待定订单的情况。你怎么知道EA有一个挂单,而不是在一开始就开仓?你能说得更具体些吗?
3.专家顾问在信号模块的默认值下工作正常。是否不允许修改参数值?
真诚的,弗拉基米尔。
***
1.关于十字线,很清楚。在截图中,年份是2019年,月份是10月。
***
谢谢你的澄清。
2.我不太明白待定订单的情况。你是如何确定EA设置了一个挂单,而不是在一小时开始时立即开仓的?你能说得更具体些吗?
***
在视觉测试器中,只要看一下 "历史 "标签就可以了
3.在信号模块的默认值下,专家顾问工作正常。是否不能改变参数的值?
***
当然可以,但前提是你要明白你在做什么,以及你要明白什么参数负责什么。
你是指时间(如时钟显示为15-00),还是指H1时间框架上诞生了一个新的条形图?
我的意思是,时钟显示15-00。
而你想要的结果有多大的确定性?
只是一个例子。你想看到时钟上的时间是下午3点。而你在等待它。但当时没有勾选或没有连接到服务器。然后你得到了蜱虫,但时间是15小时00分钟36秒。你会怎么做?
而你想要的结果有多大的确定性?
只是一个例子。你想看到时钟上的时间是下午3点。而你在等待它。但当时没有勾选或没有连接到服务器。然后你得到了蜱虫,但时间是15小时00分钟36秒。你会怎么做?