简单日间休息专家 - 页 11 1...456789101112131415161718...31 新评论 Flytox 2007.09.20 07:14 #101 我问自己,这个 "3600 "的值加在开始时间上。这使我对时间转移的事情不清楚。也许Igorad可以提供帮助。 string TimeTrade = "00:00"; StartTime = StrToTime(TimeTrade) + TimeShift*3600; if(CurTime() >= StartTime && CurTime() <= StartTime+3600) { if ( OrderOpenDate() < StrToTime(TimeToStr( StartTime,TIME_DATE))) { if( ScanTrades()>0 && !BuyInTrade && !SellInTrade) PendOrdDel(); Today = StrToTime(TimeToStr( StartTime,TIME_DATE)); if (Today != PrevDay ) { DaysInTrade = DaysInTrade+1; //Print(" Days=",DaysInTrade,"Today=",TimeToStr(Today,TIME_DATE),"PrevDay=", TimeToStr(PrevDay,TIME_DATE)) ; } if( TradePeriod > 0 )CloseOrdbyTime(); } if(ScanTrades()<1 && Today != PrevDay ) { spread= MarketInfo(Symbol(),MODE_SPREAD)*Point; digit = MarketInfo(Symbol(),MODE_DIGITS); Lotsi = MoneyManagement ( MM, Lots, MMRisk, LossMax); //if (TrailingStop > 0) InitialStop=true; ArrayCopyRates(rates_h1, Symbol(), PERIOD_H1); open = rates_h1[0][1]; high=0; low=10000000; for (i=24;i>=1;i--) { high = MathMax( high, rates_h1[3]); low = MathMin( low , rates_h1[2]); } range =(high-low); if ( Monday == 1 ) if(DayOfWeek()==1){BuyOrdOpen(); SellOrdOpen();} if ( Tuesday == 1 ) if(DayOfWeek()==2){BuyOrdOpen(); SellOrdOpen();} if ( Wednesday== 1 ) if(DayOfWeek()==3){BuyOrdOpen(); SellOrdOpen();} if ( Thursday == 1 ) if(DayOfWeek()==4){BuyOrdOpen(); SellOrdOpen();} if ( Friday == 1 ) if(DayOfWeek()==5){BuyOrdOpen(); SellOrdOpen();} DaysInTrade = 0; } } SimpleDailyRangeBreakExpert [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. 基本问题... Flytox 2007.09.20 07:44 #102 这个3600值似乎是以秒为单位的小时转换。对我来说,这意味着我从经纪商时间(GMT+0)09:00开始,我的问题在其他地方。 Sergey Golubev 2007.09.20 07:49 #103 嗨,Flytox。 我现在要看一下这个EA(通常我每天都会发表一次声明,发布一些有趣的东西)。我将用metaEditor打开这个EA来看看。 - 可能这个EA使用了一些Tracert文件。 - 或者可能是代码中提到的某些货币对是EURUSD,而不是IBFX的EURUSDm。 总之,如果你设置时间为9点,那么EA应该在9点关闭所有盈利的订单,并打开新的挂单(也是在9点)。 我现在要看看这个问题。 Flytox 2007.09.20 08:00 #104 我关闭了同一账户上的其他EA(TPE、TS),SBS在9:00(经纪人时间)终于下了挂单。我删除的EA是不同的魔法数字。SBS123和其他EA之间是否存在任何已知的不兼容? Sergey Golubev 2007.09.20 08:26 #105 我查看了1.23版的代码,没有发现任何问题:这个EA没有使用外部的任何文件,也没有任何指标。因此,它必须与IBFX一起工作。 我正在使用这个EA/设置(默认设置(见这个帖子)。它是为GMT+3经纪商设置的。我有欧元兑美元和英镑兑美元的时移=9(利特福德服务器时间为上午09点,现在是GMT+3),美元兑日元的时移=10,美元兑瑞士法郎的时移=7。这是为GMT+3而设。 如果IBFX的时间是GMT+0,那么它可能是以下情况。 欧元兑美元和英镑兑美元的时移=6,以此类推。 附加的文件: sbs123_workplace.gif 55 kb sbs_123_normal_statement.htm 76 kb sbs_123_normal_statement.gif 6 kb Flytox 2007.09.20 08:31 #106 你好,ND。 您是否看到我之前的帖子,关于其他EA在同一MT4(同一账户)上可能出现的冲突。 Sergey Golubev 2007.09.20 08:45 #107 Flytox: 我关闭了同一账户上的其他EA(TPE、TS),SBS在9:00(经纪人时间)最后下了挂单。我删除的EA是不同的魔法数字。SBS123和其他EA之间是否存在任何已知的不兼容? 不兼容?不会。 当2个EA想修改订单,或在同一时间内准确地关闭/打开订单时,可能会出现这种情况(以毫秒计)。但这不是通常的情况。基本上,在一个Metatrader副本中不可能使用超过3个EA,因为(EA可能互相 "干扰")。在一个Metatrader副本中使用1个或2个,或者3个EA也可以,但这也与时间框架有关:例如,我们可以在M5上使用一些剥皮器,同时在D1时间框架上使用EA,等等。因为Metatrader作为一个程序不能同时做两件事:不能在几分钟/几秒钟内同时修改一个订单和删除另一个挂单。 对于这一点,SBS_V1.23,EA会尝试删除挂单 并多次打开新的挂单,直到完成。SBS_V1.21也是如此:如果Metatrader现在不能删除挂单,那么Metatrader会在1分钟后尝试这样做,如果失败--1分钟后再次尝试,直到工作完成。所以我认为没有任何不相容性。 类似的EA有SBS_v1.21和TPE EA。 风险较小的是SBS_v1.21,风险较大的是TPE,而比TPE风险更大的是SBS_v1.23(只是根据交易者的起始存款规模的风险进行排序)。 如果你对每个EA使用不同的魔法数字,就不会有任何冲突。 当然,如果你在一份Metatrader中测试5个EA,那么即使使用不同的魔法号码,也可能是一切。一个Metatrader中的5个EA是太多了。 附加的文件: sbs121.zip 18 kb tpe12.zip 17 kb Flytox 2007.09.20 08:45 #108 谢谢你的回答,ND。 Sergey Golubev 2007.09.22 16:27 #109 请找到2个版本的更新报表。 从测试期开始的报表见此帖和excel文件https://www.mql5.com/en/forum/173383/page79 附加的文件: sbs121_1.zip 18 kb sbs123.zip 50 kb Sergey Golubev 2007.09.27 14:43 #110 请查看SBS 1.23版本的更新声明。 附加的文件: sbs23.zip 35 kb 1...456789101112131415161718...31 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我问自己,这个 "3600 "的值加在开始时间上。这使我对时间转移的事情不清楚。也许Igorad可以提供帮助。
StartTime = StrToTime(TimeTrade) + TimeShift*3600;
if(CurTime() >= StartTime && CurTime() <= StartTime+3600)
{
if ( OrderOpenDate() < StrToTime(TimeToStr( StartTime,TIME_DATE)))
{
if( ScanTrades()>0 && !BuyInTrade && !SellInTrade) PendOrdDel();
Today = StrToTime(TimeToStr( StartTime,TIME_DATE));
if (Today != PrevDay )
{ DaysInTrade = DaysInTrade+1;
//Print(" Days=",DaysInTrade,"Today=",TimeToStr(Today,TIME_DATE),"PrevDay=", TimeToStr(PrevDay,TIME_DATE)) ;
}
if( TradePeriod > 0 )CloseOrdbyTime();
}
if(ScanTrades()<1 && Today != PrevDay )
{
spread= MarketInfo(Symbol(),MODE_SPREAD)*Point;
digit = MarketInfo(Symbol(),MODE_DIGITS);
Lotsi = MoneyManagement ( MM, Lots, MMRisk, LossMax);
//if (TrailingStop > 0) InitialStop=true;
ArrayCopyRates(rates_h1, Symbol(), PERIOD_H1);
open = rates_h1[0][1];
high=0; low=10000000;
for (i=24;i>=1;i--)
{
high = MathMax( high, rates_h1[3]);
low = MathMin( low , rates_h1[2]);
}
range =(high-low);
if ( Monday == 1 ) if(DayOfWeek()==1){BuyOrdOpen(); SellOrdOpen();}
if ( Tuesday == 1 ) if(DayOfWeek()==2){BuyOrdOpen(); SellOrdOpen();}
if ( Wednesday== 1 ) if(DayOfWeek()==3){BuyOrdOpen(); SellOrdOpen();}
if ( Thursday == 1 ) if(DayOfWeek()==4){BuyOrdOpen(); SellOrdOpen();}
if ( Friday == 1 ) if(DayOfWeek()==5){BuyOrdOpen(); SellOrdOpen();}
DaysInTrade = 0;
}
}这个3600值似乎是以秒为单位的小时转换。对我来说,这意味着我从经纪商时间(GMT+0)09:00开始,我的问题在其他地方。
嗨,Flytox。
我现在要看一下这个EA(通常我每天都会发表一次声明,发布一些有趣的东西)。我将用metaEditor打开这个EA来看看。
- 可能这个EA使用了一些Tracert文件。
- 或者可能是代码中提到的某些货币对是EURUSD,而不是IBFX的EURUSDm。
总之,如果你设置时间为9点,那么EA应该在9点关闭所有盈利的订单,并打开新的挂单(也是在9点)。
我现在要看看这个问题。
我关闭了同一账户上的其他EA(TPE、TS),SBS在9:00(经纪人时间)终于下了挂单。我删除的EA是不同的魔法数字。SBS123和其他EA之间是否存在任何已知的不兼容?
我查看了1.23版的代码,没有发现任何问题:这个EA没有使用外部的任何文件,也没有任何指标。因此,它必须与IBFX一起工作。
我正在使用这个EA/设置(默认设置(见这个帖子)。它是为GMT+3经纪商设置的。我有欧元兑美元和英镑兑美元的时移=9(利特福德服务器时间为上午09点,现在是GMT+3),美元兑日元的时移=10,美元兑瑞士法郎的时移=7。这是为GMT+3而设。
如果IBFX的时间是GMT+0,那么它可能是以下情况。
欧元兑美元和英镑兑美元的时移=6,以此类推。
你好,ND。
您是否看到我之前的帖子,关于其他EA在同一MT4(同一账户)上可能出现的冲突。
我关闭了同一账户上的其他EA(TPE、TS),SBS在9:00(经纪人时间)最后下了挂单。我删除的EA是不同的魔法数字。SBS123和其他EA之间是否存在任何已知的不兼容?
不兼容?不会。
当2个EA想修改订单,或在同一时间内准确地关闭/打开订单时,可能会出现这种情况(以毫秒计)。但这不是通常的情况。基本上,在一个Metatrader副本中不可能使用超过3个EA,因为(EA可能互相 "干扰")。在一个Metatrader副本中使用1个或2个,或者3个EA也可以,但这也与时间框架有关:例如,我们可以在M5上使用一些剥皮器,同时在D1时间框架上使用EA,等等。因为Metatrader作为一个程序不能同时做两件事:不能在几分钟/几秒钟内同时修改一个订单和删除另一个挂单。
对于这一点,SBS_V1.23,EA会尝试删除挂单 并多次打开新的挂单,直到完成。SBS_V1.21也是如此:如果Metatrader现在不能删除挂单,那么Metatrader会在1分钟后尝试这样做,如果失败--1分钟后再次尝试,直到工作完成。所以我认为没有任何不相容性。
类似的EA有SBS_v1.21和TPE EA。
风险较小的是SBS_v1.21,风险较大的是TPE,而比TPE风险更大的是SBS_v1.23(只是根据交易者的起始存款规模的风险进行排序)。
如果你对每个EA使用不同的魔法数字,就不会有任何冲突。
当然,如果你在一份Metatrader中测试5个EA,那么即使使用不同的魔法号码,也可能是一切。一个Metatrader中的5个EA是太多了。
谢谢你的回答,ND。
请找到2个版本的更新报表。
从测试期开始的报表见此帖和excel文件https://www.mql5.com/en/forum/173383/page79
请查看SBS 1.23版本的更新声明。