[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 241 1...234235236237238239240241242243244245246247248...652 新评论 neo333 2011.10.06 13:01 #2401 artmedia70: 你已经被告知原因是什么。问题不在于i++或i--,而在于我们应该从列表的哪一端开始删除订单--列表的开头(如你所做的)或从列表的结尾(如你在这个案例中必须做的)。 要了解当订单被删除时会发生什么,你需要知道并理解订单是如何存储在数组中的。 当你先删除第一个订单时(它的索引为i=0),所有订单的索引在数组中被移位--第一个订单变成空,第二个订单变成第一,第三个--第二,以此类推。这就是为什么所有的订单都没有被完全删除--事实上,当i变成6时,第六个订单被转移到订单阵列中的第五个位置,并且该订单没有被索引6选中。 当你从列表的末尾删除订单时,转变不会发生--第一个订单在列表中的位置为零,它将继续拥有这个位置。第10个订单的位置是9,它被删除了,然后第9个订单,它在列表中的位置是8,被删除了,以此类推,直到订单阵列中第一个位置是0的订单。 非常感谢artmedia70的全面答复,感谢ilunga ...也感谢Nadya的参与......祝福... Vitaliy Andreischev 2011.10.06 13:24 #2402 请指示,我已经设置了多货币工具,以便从一个窗口处理几种货币。但问题是,货币之间的切换非常快,以至于没有时间去开立订单。在3分钟内,有4个订单+4个待定订单被打开。而且有很多货币之间的转换。 Maxim Zaguzov 2011.10.06 14:11 #2403 volshebnik: 什么是更好的,什么是?) 制作独特的名字并记住它们。我不知道你的任务,也许你不需要知道。 Victor Nikolaev 2011.10.06 15:57 #2404 forexnew: 请指示,我已经设置了多货币工具,以便从一个窗口处理几种货币。但问题是,货币之间的切换非常快,以至于没有时间去开立订单。在3分钟内,4个订单+4个挂单已经打开。而且有很多货币之间的转换。 http://vinin.ucoz.ru/forum/11 Владимир 2011.10.06 16:05 #2405 有两个用户修改,分别是Mod_1和Mod_2。 这两种情况都有修改条件。 double TS; int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL); if (TS < Min_Dist) TS=Min_Dist; 如何改变它,使修改不通过止损条件,对于买入止损 小于跟踪止损。 对于卖出来说,止损要比追踪止损大。 Артур 2011.10.06 16:44 #2406 你好。 请帮助我找到一个错误。 下面的代码在测试器上不起作用,而在演示器上却没有这样的问题。记录本上没有错误。 提前感谢。 //====================== Отлавливаем прибыль по рынку =========================================== if (RinProfit) { if(SchBuyLots>0 || SchBuyLots777>0) { if((SchSellStop_b(MAGIC)>0 && (maM_fast<maM_slow || maH_fast<maH_slow || maOtk_fast<maOtk_slow)) || (SchSellStop_b(MAGIC)>0 && (speedup_H1_ff<(10000+H1_MA_factor_ff) || speedup_H1_ss<(10000+H1_MA_factor_ss) || speedup_M15_ff<(10000+M15_MA_factor_ff) || speedup_M15_ss<(10000+M15_MA_factor_ss))) || (SchSellStop_b(MAGIC)>0 && ((maHXX<=H1_point_min && speedup_H1_ss<(10000+H1_MA_factor_ss)) || maHXX>=H1_point_max)) || (SchSellStop_b(MAGIC)>0 && Fractal_fibo_buy>Fibo_prohibit) || (SchSellStop_b(MAGIC)>0 && TF1S>0 && TF2S>0 && timf1s!=0 && timf2s!=0 && TF1S<TF2S) || (SchSellStop_b(MAGIC)>0 && TF1S>0 && TF2S>0 && timf1s!=0 && timf2s!=0 && TF1S>=TF2S && Bid<price_S)) { while (SchBuyLots+SchBuyLots777>0 && SchSellLots+SchSellLots777>0) { CloseVstrechnye(MAGIC); return (0); } CloseAll_bMAGIC(Proskalz, MAGIC); CloseAll777_b(Proskalz); DeleteOtlozhMAGIC(MAGIC); DeleteOtlozh777(); Alert("Позиции Buy закрыты согласно рыночной ситуации."); RefreshRates(); if (Timeout_Trade>0 && ProfHist<=0) { Comment (SMB,": ТАЙМАУТ ТОРГОВЛИ "); Sleep (Timeout_Trade*60000); } RefreshRates(); } } if(SchSellLots>0 || SchSellLots777>0) { if((SchBuyStop_b(MAGIC)>0 && (maM_fast>maM_slow || maH_fast>maH_slow || maOtk_fast>maOtk_slow)) || (SchBuyStop_b(MAGIC)>0 && (speedup_H1_ff>(10000-H1_MA_factor_ff) || speedup_H1_ss>(10000-H1_MA_factor_ss) || speedup_M15_ff>(10000-M15_MA_factor_ff) || speedup_M15_ss>(10000-M15_MA_factor_ss))) || (SchBuyStop_b(MAGIC)>0 && ((maHXX<=H1_point_min && speedup_H1_ss>(10000-H1_MA_factor_ss)) || maHXX>=H1_point_max)) || (SchBuyStop_b(MAGIC)>0 && Fractal_fibo_sell>Fibo_prohibit) || (SchBuyStop_b(MAGIC)>0 && TF1B>0 && TF2B>0 && timf1b!=0 && timf2b!=0 && TF1B>TF2B) || (SchBuyStop_b(MAGIC)>0 && TF1B>0 && TF2B>0 && timf1b!=0 && timf2b!=0 && TF1B<=TF2B && Bid>price_B)) { while (SchBuyLots+SchBuyLots777>0 && SchSellLots+SchSellLots777>0) { CloseVstrechnye(MAGIC); return (0); } CloseAll_bMAGIC(Proskalz, MAGIC); CloseAll777_b(Proskalz); DeleteOtlozhMAGIC(MAGIC); DeleteOtlozh777(); Alert("Позиции Sell закрыты согласно рыночной ситуации."); RefreshRates(); if (Timeout_Trade>0 && ProfHist<=0) { Comment (SMB,": ТАЙМАУТ ТОРГОВЛИ "); Sleep (Timeout_Trade*60000); } RefreshRates(); } } } //=============================================================================================== Andrey Dik 2011.10.06 17:08 #2407 在MT4和MT5中从dll中调用函数有什么区别?我编译了dll,它在MT5中运行良好,但在MT4中却出现了错误。 2011.10.06 23:00:34 Solaris执行器EURUSDm,M1:无法从dll 'Solaris.dll'调用函数'InfoOfTrading'(错误127)。 这到底是什么?- 我一直在绞尽脑汁。:( --- 2011.10.06 17:09 #2408 制作一个 Win32 dll项目 Andrey Dik 2011.10.06 17:10 #2409 sergeev: 制作一个Win32 dll项目 但它在MT5中运行良好 Артур 2011.10.06 17:45 #2410 我将继续我的上述问题。 我也在另一个EA中使用了上述代码。该EA的情况与上述情况类似,不同的是,代码条件完全以另一种方式得到满足(在演示中,同样,一切都在无错误地工作)。但有一天,测试器工作正常,代码按照给它的条件正常工作。 这是一种真正的神秘主义。 另外,由于某些原因,优化工作有时对我不起作用。有时它会重新计算一些东西,但由于某种原因将所有结果重置为零。在不同的经纪商的终端上都会出现这种情况。然而,当天空中所有的星星和星座大概汇聚在一起时,一切都开始正常工作。 1...234235236237238239240241242243244245246247248...652 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你已经被告知原因是什么。问题不在于i++或i--,而在于我们应该从列表的哪一端开始删除订单--列表的开头(如你所做的)或从列表的结尾(如你在这个案例中必须做的)。
要了解当订单被删除时会发生什么,你需要知道并理解订单是如何存储在数组中的。
当你先删除第一个订单时(它的索引为i=0),所有订单的索引在数组中被移位--第一个订单变成空,第二个订单变成第一,第三个--第二,以此类推。这就是为什么所有的订单都没有被完全删除--事实上,当i变成6时,第六个订单被转移到订单阵列中的第五个位置,并且该订单没有被索引6选中。
当你从列表的末尾删除订单时,转变不会发生--第一个订单在列表中的位置为零,它将继续拥有这个位置。第10个订单的位置是9,它被删除了,然后第9个订单,它在列表中的位置是8,被删除了,以此类推,直到订单阵列中第一个位置是0的订单。
什么是更好的,什么是?)
请指示,我已经设置了多货币工具,以便从一个窗口处理几种货币。但问题是,货币之间的切换非常快,以至于没有时间去开立订单。在3分钟内,4个订单+4个挂单已经打开。而且有很多货币之间的转换。
http://vinin.ucoz.ru/forum/11
有两个用户修改,分别是Mod_1和Mod_2。
这两种情况都有修改条件。
double TS;
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (TS < Min_Dist)
TS=Min_Dist;
如何改变它,使修改不通过止损条件,对于买入止损 小于跟踪止损。
对于卖出来说,止损要比追踪止损大。
你好。
请帮助我找到一个错误。
下面的代码在测试器上不起作用,而在演示器上却没有这样的问题。记录本上没有错误。
提前感谢。
在MT4和MT5中从dll中调用函数有什么区别?我编译了dll,它在MT5中运行良好,但在MT4中却出现了错误。
2011.10.06 23:00:34 Solaris执行器EURUSDm,M1:无法从dll 'Solaris.dll'调用函数'InfoOfTrading'(错误127)。
这到底是什么?- 我一直在绞尽脑汁。:(
制作一个Win32 dll项目
我将继续我的上述问题。
我也在另一个EA中使用了上述代码。该EA的情况与上述情况类似,不同的是,代码条件完全以另一种方式得到满足(在演示中,同样,一切都在无错误地工作)。但有一天,测试器工作正常,代码按照给它的条件正常工作。
这是一种真正的神秘主义。
另外,由于某些原因,优化工作有时对我不起作用。有时它会重新计算一些东西,但由于某种原因将所有结果重置为零。在不同的经纪商的终端上都会出现这种情况。然而,当天空中所有的星星和星座大概汇聚在一起时,一切都开始正常工作。