[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 634 1...627628629630631632633634635636637638639640641...1145 新评论 [删除] 2010.06.20 21:28 #6331 artmedia70:还有一件事...测试时,我从图表窗口中删除了所有从模板(模板以一个EA命名,测试时自动加载)中自动加载的放纵行为。在测试者的日记中,不断写到成功加载一个自定义的放纵,并紧接着写到删除的记录。就这样,在整个测试过程中一直在进行......它是正常的还是坏事?我怎样才能解决这个问题呢? 我可能回答得晚了,但我自己也遇到过这个问题。这不是好事 :) 我在杂志上有这样的记录,当通过iCustom()调用一个自定义指标 时,我错误地忘记了传递其中一个参数。编译器没有跟踪这些错误,甚至在测试过程中也是如此,因为指标名称是正确的,MT写道一切都加载成功了,但是没有检查参数的数量,由于参数的指定不正确,指标发生了错误,立即被卸载。我注意到,测试运行缓慢,日志也是如此。 01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15:加载成功 01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15: 已删除 01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15:加载成功 01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15: 已删除 我开始研究,发现这样的问题是由于我的不注意,我试图 "在飞行中 "将指标放/移出,这次我在日志中没有看到任何 "动画",问题出在iCustom()上,所以检查一下,以防万一:) --- 2010.06.20 21:56 #6332 ToLik_SRGV: 所有的问题都出在iCustom()上,所以要检查一下,以防万一 :) 这是正确的。这是因为论据的数量不对。 Sergey Kolesnik 2010.06.20 22:10 #6333 就如何设置挂单的 到期日给出建议。 不知何故,它似乎不想为我工作,而且手册中也没有多少关于它的信息。 如果你能给我一个例子。 预先感谢你。 Artyom Trishkin 2010.06.20 22:11 #6334 ToLik_SRGV: 可能回复晚了,但我自己也遇到了这个问题。这是不好的 :) 我在日志中有这样的记录,当通过iCustom()调用一个自定义指标时,我错误地忘记了传递其中一个参数。编译器没有跟踪这些错误,甚至在测试过程中也是如此,因为指标名称是正确的,MT写道一切都加载成功了,但是没有检查参数的数量,由于参数的指定不正确,指标发生了错误,立即被卸载。我注意到,测试运行缓慢,日志也是如此。 01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15:加载成功 01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15: 已删除 01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15:加载成功 01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15: 已删除 我开始研究,发现这样的问题是由于我的不注意,我试图 "在飞行中 "将指标放/移出,这次我在日志中没有看到任何 "动画",问题出在iCustom()上,所以检查一下,以防万一:) 不,还不算太晚...恰到好处,谢谢你。 Artyom Trishkin 2010.06.20 22:18 #6335 kwadrad: 就如何设置挂单的到期日给出建议。 不知何故,它似乎不想为我工作,而且手册中也没有多少关于它的信息。 如果你能给我一个例子。 预先感谢你。 在这里。这就是我的工作... double tp,PriceOpn,PriceTake; string sy=Symbol(); double pa=MarketInfo(sy, MODE_ASK); double pb=MarketInfo(sy, MODE_BID); double po=MarketInfo(sy, MODE_POINT); Magic=511; Lots_New=NormalizeLot(Lots/2, False, NULL); PriceOpn = NormalizePrice(pa+DistORD*po, NULL); PriceTake = NormalizePrice(pa+(DistORD+tp)*po, NULL); //------------------------------------------------------------------ SetOrder(NULL, OP_BUYSTOP, Lots_New, PriceOpn, 0, PriceTake, Magic, TimeCurrent()+12*60); // 12 часов срок его жизни... //------------------------------------------------------------------ //============================================================================================== //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 02.08.2008 | //| Описание : Установка ордера. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента (NULL или "" - текущий символ) | //| op - операция | //| ll - лот | //| pp - цена | //| sl - уровень стоп | //| tp - уровень тейк | //| mn - Magic Number | //| co - комментарий | //| ex - Срок истечения | //+----------------------------------------------------------------------------+ void SetOrder(string sy, int op, double ll, double pp, double sl=0, double tp=0, int mn=0, string co="", datetime ex=0) { color cl=IIFc(op==OP_BUYLIMIT || op==OP_BUYSTOP, clOpenBuy, clOpenSell); datetime ot; double pa, pb, mp; int err, it, ticket, msl; if (sy=="" || sy=="0") sy=Symbol(); msl=MarketInfo(sy, MODE_STOPLEVEL); if (co=="") co=WindowExpertName()+" "+GetNameTF(Period()); if (ex>0 && ex<TimeCurrent()) ex=0; for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) { Print("SetOrder(): Остановка работы функции"); break; } while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); ot=TimeCurrent(); ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, co, mn, ex, cl); if (ticket>0) { if (UseSound) PlaySound(SoundSuccess); break; } else { err=GetLastError(); if (err==128 || err==142 || err==143) { Sleep(1000*66); if (ExistOrders(sy, op, mn, ot)) { if (UseSound) PlaySound(SoundSuccess); break; } Print("Error(",err,") set order: ",ErrorDescription(err),", try ",it); continue; } if (UseSound) PlaySound(SoundError); mp=MarketInfo(sy, MODE_POINT); pa=MarketInfo(sy, MODE_ASK); pb=MarketInfo(sy, MODE_BID); if (pa==0 && pb==0) Message("SetOrder(): Проверьте в обзоре рынка наличие символа "+sy); Print("Error(",err,") set order: ",ErrorDescription(err),", try ",it); Print("Ask=",pa," Bid=",pb," sy=",sy," ll=",ll," op=",GetNameOP(op), " pp=",pp," sl=",sl," tp=",tp," mn=",mn); // Неправильные стопы if (err==130) { // Корректировка ценовых уровней if (modeSetOrders==1) { Sleep(1000*5.3); switch (op) { case OP_BUYLIMIT: if (pp>pa-msl*mp) pp=pa-msl*mp; if (sl>pp-(msl+1)*mp) sl=pp-(msl+1)*mp; if (tp>0 && tp<pp+(msl+1)*mp) tp=pp+(msl+1)*mp; break; case OP_BUYSTOP: if (pp<pa+(msl+1)*mp) pp=pa+(msl+1)*mp; if (sl>pp-(msl+1)*mp) sl=pp-(msl+1)*mp; if (tp>0 && tp<pp+(msl+1)*mp) tp=pp+(msl+1)*mp; break; case OP_SELLLIMIT: if (pp<pb+msl*mp) pp=pb+msl*mp; if (sl>0 && sl<pp+(msl+1)*mp) sl=pp+(msl+1)*mp; if (tp>pp-(msl+1)*mp) tp=pp-(msl+1)*mp; break; case OP_SELLSTOP: if (pp>pb-msl*mp) pp=pb-msl*mp; if (sl>0 && sl<pp+(msl+1)*mp) sl=pp+(msl+1)*mp; if (tp>pp-(msl+1)*mp) tp=pp-(msl+1)*mp; break; } Print("SetOrder(): Скорректированы ценовые уровни"); continue; } // Вход по текущим ценам if (modeSetOrders==2) { Print("SetOrder(): Вход по текущим ценам"); if (op==OP_BUYLIMIT || op==OP_BUYSTOP) OpenPosition(sy, OP_BUY, ll, sl, tp, mn, co); if (op==OP_SELLLIMIT || op==OP_SELLSTOP) OpenPosition(sy, OP_SELL, ll, sl, tp, mn, co); break; } } // Блокировка работы советника if (err==2 || err==64 || err==65 || err==133) { gbDisabled=True; break; } // Длительная пауза if (err==4 || err==131 || err==132) { Sleep(1000*300); break; } // Слишком частые запросы (8) или слишком много запросов (141) if (err==8 || err==141) Sleep(1000*100); if (err==139 || err==140 || err==148) break; // Ожидание освобождения подсистемы торговли if (err==146) while (IsTradeContextBusy()) Sleep(1000*11); // Обнуление даты истечения if (err==147) { ex=0; continue; } if (err!=135 && err!=138) Sleep(1000*7.7); } } } Sergey Kolesnik 2010.06.20 22:29 #6336 artmedia70: 在这里。这就是我的工作... О.谢谢你。 你必须明白,这是从开场起以分钟为单位的时间框架? Artyom Trishkin 2010.06.20 23:59 #6337 kwadrad: О.谢谢你。 我应该理解为这是指从开盘起几分钟内的时间范围? 是的,在12小时寿命的例子中...12*60分钟 Artyom Trishkin 2010.06.21 11:05 #6338 我知道这可能看起来是OffTop,但对我来说,作为一个写作专家 的新人(和一般的编程,不考虑我二十年前为Spectrum的汇编程序的经验),我的问题,而是....来吧,这只是一个问题,将是正确的点。 在测试EA的两年历史时,我注意到有几个月出现了非常强烈的缩减。这是给老前辈的一个问题:有哪些处理缩水的方法,在你看来最有效的方法是什么,你能建议吗? 我从自己的有利位置,到目前为止,我看到两种方法。 1.当股票缩水超过一定数量的百分比时,冻结所有交易, 1.1。在其盈亏平衡点之后,连接一个追踪止损,并将止损固定在与Ask/Bid的一个小距离上,从而确保一个小的利润,然后在价格之后拉动止损,在一定数量的收益点时部分平仓(以释放资金)。 1.2.在股本上升到一定比例后,慢慢开始交易... 2.相反,在禁用主交易后,我们必须使用半手,但有大量的订单,严格遵循趋势,在盈亏平衡点后有一个小的追踪止损。 我认为第一种方式可以防止资产的进一步大幅减少,但你必须等待很长时间让市场接近订单 ,第二种方式会吃掉保证金,但在短期头寸的情况下,你可以迅速增加一些资金...... 到目前为止,我只看到两种这样相反的方式。 同志们,你们有什么建议?欢迎任何,甚至是最,乍一看 "疯狂的废话 "的想法和建议......。 提前感谢 :) Artyom Trishkin 2010.06.21 12:51 #6339 难道测试器不允许你在超过日常的情况下进行测试吗? Igor Makanu 2010.06.21 12:58 #6340 artmedia70: 测试员是否不允许你在超过日常的情况下进行测试? Ы 你在为银行间市场准备一个EA吗? 1...627628629630631632633634635636637638639640641...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
还有一件事...
测试时,我从图表窗口中删除了所有从模板(模板以一个EA命名,测试时自动加载)中自动加载的放纵行为。
在测试者的日记中,不断写到成功加载一个自定义的放纵,并紧接着写到删除的记录。就这样,在整个测试过程中一直在进行......
它是正常的还是坏事?
我怎样才能解决这个问题呢?
我可能回答得晚了,但我自己也遇到过这个问题。这不是好事 :)
我在杂志上有这样的记录,当通过iCustom()调用一个自定义指标 时,我错误地忘记了传递其中一个参数。编译器没有跟踪这些错误,甚至在测试过程中也是如此,因为指标名称是正确的,MT写道一切都加载成功了,但是没有检查参数的数量,由于参数的指定不正确,指标发生了错误,立即被卸载。我注意到,测试运行缓慢,日志也是如此。
01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15:加载成功
01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15: 已删除
01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15:加载成功
01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15: 已删除
我开始研究,发现这样的问题是由于我的不注意,我试图 "在飞行中 "将指标放/移出,这次我在日志中没有看到任何 "动画",问题出在iCustom()上,所以检查一下,以防万一:)
ToLik_SRGV:
所有的问题都出在iCustom()上,所以要检查一下,以防万一 :)
就如何设置挂单的 到期日给出建议。
不知何故,它似乎不想为我工作,而且手册中也没有多少关于它的信息。
如果你能给我一个例子。
预先感谢你。
可能回复晚了,但我自己也遇到了这个问题。这是不好的 :)
我在日志中有这样的记录,当通过iCustom()调用一个自定义指标时,我错误地忘记了传递其中一个参数。编译器没有跟踪这些错误,甚至在测试过程中也是如此,因为指标名称是正确的,MT写道一切都加载成功了,但是没有检查参数的数量,由于参数的指定不正确,指标发生了错误,立即被卸载。我注意到,测试运行缓慢,日志也是如此。
01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15:加载成功
01:11:13 2000.01.03 02:00 EMMA_Update_2 EURUSD,M15: 已删除
01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15:加载成功
01:11:13 2000.01.03 02:01 EMMA_Update_2 EURUSD,M15: 已删除
我开始研究,发现这样的问题是由于我的不注意,我试图 "在飞行中 "将指标放/移出,这次我在日志中没有看到任何 "动画",问题出在iCustom()上,所以检查一下,以防万一:)
就如何设置挂单的到期日给出建议。
不知何故,它似乎不想为我工作,而且手册中也没有多少关于它的信息。
如果你能给我一个例子。
预先感谢你。
在这里。这就是我的工作...
在这里。这就是我的工作...
О.谢谢你。
你必须明白,这是从开场起以分钟为单位的时间框架?
О.谢谢你。
我应该理解为这是指从开盘起几分钟内的时间范围?
我知道这可能看起来是OffTop,但对我来说,作为一个写作专家 的新人(和一般的编程,不考虑我二十年前为Spectrum的汇编程序的经验),我的问题,而是....来吧,这只是一个问题,将是正确的点。
在测试EA的两年历史时,我注意到有几个月出现了非常强烈的缩减。这是给老前辈的一个问题:有哪些处理缩水的方法,在你看来最有效的方法是什么,你能建议吗?
我从自己的有利位置,到目前为止,我看到两种方法。
1.当股票缩水超过一定数量的百分比时,冻结所有交易,
1.1。在其盈亏平衡点之后,连接一个追踪止损,并将止损固定在与Ask/Bid的一个小距离上,从而确保一个小的利润,然后在价格之后拉动止损,在一定数量的收益点时部分平仓(以释放资金)。
1.2.在股本上升到一定比例后,慢慢开始交易...
2.相反,在禁用主交易后,我们必须使用半手,但有大量的订单,严格遵循趋势,在盈亏平衡点后有一个小的追踪止损。
我认为第一种方式可以防止资产的进一步大幅减少,但你必须等待很长时间让市场接近订单
,第二种方式会吃掉保证金,但在短期头寸的情况下,你可以迅速增加一些资金......
到目前为止,我只看到两种这样相反的方式。
同志们,你们有什么建议?欢迎任何,甚至是最,乍一看 "疯狂的废话 "的想法和建议......。
提前感谢 :)
测试员是否不允许你在超过日常的情况下进行测试?
Ы
你在为银行间市场准备一个EA吗?