[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 5 123456789101112...537 新评论 Boris.45 2011.01.19 18:20 #41 granit77: 问题:我如何把一个干净的终端? 毕竟,当我试图重新启动时,系统会自动识别我,允许我重新加载终端文件,并保存以前积累的信息:模拟账户、书面指标等。显然,在保存的文件中,有一个文件不允许重新加载历史数据。 :) afirius 2011.01.19 18:29 #42 你好,我的问题是,MT4 EAs是否可以在这个设备上工作? Виктор 2011.01.19 18:39 #43 boris.45: 只需从你的经纪人那里再次下载,并把它放在一个不同的目录中。如果你需要的话,请手动输入你的模拟账户用户名和密码,但最好是开一个新的账户。 就像一个新生的婴儿,你将完全无罪。 T-G 2011.01.19 18:41 #44 afirius: 你好!问题是MT4的EA是否能在这个设备上工作。 会的! afirius 2011.01.19 18:47 #45 酷)终于有了万能药。)T-G: 将会是! [删除] 2011.01.19 19:20 #46 谁愿意帮忙,把这个专家的代码中的买入改为卖出? 附加的文件: ema_wma.mq4 5 kb deboir 2011.01.19 19:51 #47 嗨,问题是这样的。 同一专家顾问在模拟账户和测试器中正常交易,但在真实账户 中却拒绝工作或工作不正常。 我应该怎么做才能解决这个问题? extern int ma1 = 7; extern int ma2 = 100; extern int ma3 = 200; extern int ma4 = 300; extern int shift = 15; extern double StartLot = 0.5; extern double LotStep = 0.25; extern int candleAmount = 25; extern bool workAlone = true; double MA1; double MA2; double MA3; double MA4; int Trend; int i; datetime shiftTime; int ticket; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- if (Digits == 3 || Digits == 5) shift = shift*10; MA1 = iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1); MA2 = iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1); MA3 = iMA(NULL,0,ma3,0,MODE_SMA,PRICE_CLOSE,1); MA4 = iMA(NULL,0,ma4,0,MODE_SMA,PRICE_CLOSE,1); if (MA1<MA2 && MA1<MA3 && MA1<MA4) {Trend = 1;} else if (MA1>MA2 && MA1>MA3 && MA1>MA4) {Trend = 4;} else {Trend = 2;} //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- MA1 = iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1); MA2 = iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1); MA3 = iMA(NULL,0,ma3,0,MODE_SMA,PRICE_CLOSE,1); MA4 = iMA(NULL,0,ma4,0,MODE_SMA,PRICE_CLOSE,1); if (Trend == 2) { if (MA1<MA2 && MA1<MA3 && MA1<MA4) { for (i = OrdersTotal(); i >= 0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_BUY) OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),shift,Blue); } shiftTime = Time[0]; if (OrdersTotal() == 0 || !workAlone) { ticket = OrderSend(Symbol(),OP_SELL,LotsOptimized(Symbol()),NormalizeDouble(Bid,Digits),shift,0,0,"",777,0,Red); if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) shiftTime = OrderOpenTime(); } Trend = 1; } else if (MA1>MA2 && MA1>MA3 && MA1>MA4) { for (i = OrdersTotal(); i >= 0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_SELL) OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),shift,Red); } shiftTime = Time[0]; if (OrdersTotal() == 0 || !workAlone) { ticket = OrderSend(Symbol(),OP_BUY,LotsOptimized(Symbol()),NormalizeDouble(Ask,Digits),shift,0,0,"",777,0,Blue); if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) shiftTime = OrderOpenTime(); } Trend = 4; } } if (Trend == 1) { if (MA1>MA2 || MA1>MA3 || MA1>MA4) { Trend = 2; if (iBarShift(NULL,0,shiftTime,false) >= candleAmount) { for (i = OrdersTotal(); i >= 0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),shift,Red);}}}}} if (Trend == 4) { if (MA1<MA2 || MA1<MA3 || MA1<MA4) { Trend = 2; if (iBarShift(NULL,0,shiftTime,false) >= candleAmount) { for (i = OrdersTotal(); i >= 0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),shift,Blue);}}}}} //---- return(0); } //+------------------------------------------------------------------+ double LotsOptimized(string symbol) { double lot = StartLot; int losses = 0; if (LotStep > 0) { for (int c = OrdersHistoryTotal() - 1; c >= 0; c--) { if (OrderSelect(c,SELECT_BY_POS,MODE_HISTORY) == false) break; if (OrderSymbol() != symbol) continue; //---- if (OrderProfit() > 0) break; if (OrderProfit() < 0) losses++; } if (losses >= 1) lot = NormalizeDouble(lot + LotStep * losses,2); } if (lot < MarketInfo(symbol,MODE_MINLOT)) lot = MarketInfo(symbol,MODE_MINLOT); return (lot); } //+------------------------------------------------------------------+ Владимир Тезис 2011.01.19 20:16 #48 deboir: 嗨,问题是这样的。 同一专家顾问在模拟账户和测试器中正常交易,但在真实账户中却拒绝工作或工作不正常。 我应该怎么做才能解决这个问题? 奇迹不会发生。你有什么经纪公司?如果你的订单包含设置止损和/或获利的指示,一些经纪公司不允许你下市场订单。例如,Broco就是这样的。在那里,你必须先开一个市场订单,然后才通过修改来下止损单。 T-G 2011.01.19 20:33 #49 我专门用参数x=1进行了测试,然后是参数x=2,然后我把x从1优化到2的步骤1。所有的复选框都关闭了,也跳过了无用的切割。遗传算法已经打开和关闭了。结果是不同的,请帮助。 ,我取消了 "跳过无用的切割",切割出现了。只是它们与简单的测试不同。例如,在参数x=1时,简单测试结果是500笔交易,x=2-700笔。我应该优化这个参数,x=1现在得到了1笔交易,x=2也得到了1笔交易。我的专家顾问使用的是虚拟图形修改,是否有可能是优化未能创建一个图形对象? ,这可能是什么,我已经在测试器中试过了,订单开仓和平仓都正常,我选择了参数,我测试了所有结果都被拒绝,我在测试中手动改变了这个参数,一切正常。 我在优化期间激活了遗传算法,禁用它,改变我的设置。 Виктор 2011.01.19 21:12 #50 Dzhini, Eddy 对重复的帖子发出警告。重复的帖子已被删除。从现在开始会有一个禁令。 123456789101112...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
问题:我如何把一个干净的终端? 毕竟,当我试图重新启动时,系统会自动识别我,允许我重新加载终端文件,并保存以前积累的信息:模拟账户、书面指标等。显然,在保存的文件中,有一个文件不允许重新加载历史数据。 :)
就像一个新生的婴儿,你将完全无罪。
你好!问题是MT4的EA是否能在这个设备上工作。
将会是!
嗨,问题是这样的。
同一专家顾问在模拟账户和测试器中正常交易,但在真实账户 中却拒绝工作或工作不正常。
我应该怎么做才能解决这个问题?
嗨,问题是这样的。
同一专家顾问在模拟账户和测试器中正常交易,但在真实账户中却拒绝工作或工作不正常。
我应该怎么做才能解决这个问题?
奇迹不会发生。你有什么经纪公司?如果你的订单包含设置止损和/或获利的指示,一些经纪公司不允许你下市场订单。例如,Broco就是这样的。在那里,你必须先开一个市场订单,然后才通过修改来下止损单。
,我取消了 "跳过无用的切割",切割出现了。只是它们与简单的测试不同。例如,在参数x=1时,简单测试结果是500笔交易,x=2-700笔。我应该优化这个参数,x=1现在得到了1笔交易,x=2也得到了1笔交易。我的专家顾问使用的是虚拟图形修改,是否有可能是优化未能创建一个图形对象?
,这可能是什么,我已经在测试器中试过了,订单开仓和平仓都正常,我选择了参数,我测试了所有结果都被拒绝,我在测试中手动改变了这个参数,一切正常。 我在优化期间激活了遗传算法,禁用它,改变我的设置。
Dzhini, Eddy
对重复的帖子发出警告。重复的帖子已被删除。从现在开始会有一个禁令。