[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 226 1...219220221222223224225226227228229230231232233...432 新评论 Alexander 2013.03.17 19:25 #2251 gince:请。逻辑的问题--我想不出来了。 真的,你在逻辑上有问题。你开始把挂单放在你喜欢的地方,然后你想在其中一个开盘后删除所有的挂单,然后你惊讶地发现所有的新挂单都被删除了。然后继续思考下一个挂单被触发后应该发生什么。该算法将取决于此。 gince 2013.03.17 20:12 #2252 Roger: 的确,你在逻辑上有问题。首先你允许挂单,就像你喜欢的那样,然后你想在其中一个开盘后删除所有的挂单,然后你惊讶地发现所有新的挂单都被删除。然后继续思考下一个挂单被触发后应该发生什么。该算法将取决于此。 谢谢你纠正了我的想法,我正被挂在嘴边。 在第一个挂单(比方说baillimit)之后,可能会有更多的挂单被放在同一方向,但当信号出现在相反方向(比方说selimit)时,我们如何删除所有的买入仓位和订单? Dimka-novitsek 2013.03.17 20:20 #2253 晚上好!对不起,我想回到一个未解决的问题上。if (!Pishem&&PozyProstavleny){SaveArray(FileBuy, Buy); SaveArray(FileSell, Sell); Pishem=1;}'买入'--不兼容的类型 D:\TeleTRADE\experts\cleaner.mq4 (102, 53)'Sell' - 不兼容的类型 D:\TeleTRADE\experts\clearlist.mq4 (102, 79)//записать void SaveArray(string File, double &a[]) { int h = FileOpen(File, FILE_BIN|FILE_WRITE); if(h>0) { int sz = ArraySize(a); FileWriteArray(h,a,0,sz); FileClose(h); } } //прочитать void OpenArray(string File, double &a[], int sz) { int h = FileOpen(File, FILE_BIN|FILE_READ); if(h>0) { ArrayResize(a,sz); FileReadArray(h,a,0,sz); FileClose(h); } } Dimka-novitsek 2013.03.17 20:22 #2254 因为这样一来,对话就没有真正发挥作用了...... Dimka-novitsek 2013.03.17 20:56 #2255 int Buy[];int Sell[]; string FileBuy="FileBuy.csv",FileSell="FileSell.csv"; Nikolay Grygoryev 2013.03.17 21:40 #2256 你好,请你告诉我如何写一个全局变量 bool,例如:bool=uroven_1=false;如何在全局变量中写这个,以便在终端重新启动后有一个新的值,谢谢。 Alexander 2013.03.17 23:57 #2257 laveosa: 你好,请你告诉我如何写一个全局变量bool,例如:bool=uroven_1=false;如何在全局变量中写这个,以便在终端重新启动后有一个新的值,谢谢。https://book.mql4.com/ru/variables/globals vlad-755 2013.03.18 04:00 #2258 Roger: 逻辑是正确的--订单中应该有多少个仓位号,就有多少个订单,一旦有一个被关闭,其他的都会重新计算。试试这个结构响应。你好。 不幸的是,上述的结构并没有给我们带来所需的结果。我想把程序的代码和测试者的日记条目给你。 恭敬地说。舒尔金 2013年3月18日。Код программы. //+------------------------------------------------------------------+ //| Poligon1.mq4 | //| 21 февраля 2013 года. | //|Тестирование оператора цикла for. | //+------------------------------------------------------------------+ #property copyright "21 февраля 2013 года." #property link "" //+------------------------------------------------------------------+ //|Объявленные переменные | //+------------------------------------------------------------------+ int Mn=357;//Magic number int i;//Показатель счётчика итераций double PriTP;//TP серии int Tick;//Счётчик тиков //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //----Установка серии ордеров OrderSend(Symbol(),OP_BUY,0.5,Ask,0,NormalizeDouble(Bid-35*Point,Digits), NormalizeDouble(Ask+35*Point,Digits),NULL,Mn,0,CLR_NONE);//OP_BUY OrderSend(Symbol(),OP_BUY,1,Ask,0,NormalizeDouble(Bid-25*Point,Digits), NormalizeDouble(Ask+25*Point,Digits),NULL,Mn,0,CLR_NONE);//OP_BUY OrderSend(Symbol(),OP_BUY,1.5,Ask,0,NormalizeDouble(Bid-15*Point,Digits), NormalizeDouble(Ask+15*Point,Digits),NULL,Mn,0,CLR_NONE);//OP_BUY OrderSend(Symbol(),OP_BUY,2.5,Ask,0,NormalizeDouble(Bid-15*Point,Digits), NormalizeDouble(Ask+15*Point,Digits),NULL,Mn,0,CLR_NONE);//OP_BUY OrderSend(Symbol(),OP_BUY,3.5,Ask,0,NormalizeDouble(Bid-15*Point,Digits), NormalizeDouble(Ask+15*Point,Digits),NULL,Mn,0,CLR_NONE);//OP_BUY OrderSend(Symbol(),OP_BUYLIMIT,1,NormalizeDouble(Ask-15*Point,Digits),0, NormalizeDouble(Bid-40*Point,Digits),NormalizeDouble(Ask+25*Point,Digits), NULL,Mn,0,CLR_NONE);//OP_BUYLIMIT OrderSend(Symbol(),OP_SELLSTOP,3,NormalizeDouble(Ask-30*Point,Digits),0, NormalizeDouble(Bid+15*Point,Digits),NormalizeDouble(Ask-75*Point,Digits), NULL,Mn,0,CLR_NONE);//OP_SELLSTOP //---- PriTP=Bid;//PriTP Print("Кс0:"," OrdersTotal=",OrdersTotal());//Сообщение //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- Tick++;//Tick // Print("Кс0:"," Tick=",Tick);//Сообщение //---- // for(i=0;i<OrdersTotal();i++)//Инициализация цикла // for(i=OrdersTotal()-1; i>=0; i--)// for(i=0, int k=0; i<OrdersTotal();i++,k++)// { Print("Кс1:"," Tick=",Tick," i=",i," k=",k);//Сообщение if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)//Выбор ордера i { if(OrderSymbol()==Symbol())//Символ { if(OrderMagicNumber()==Mn)//Идентификационное число { if(OrderType()==OP_BUY && OrderTakeProfit()>PriTP)//Тип операции текущего выбранного ордера { OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);//Закрытие позиции k--;//Зачем сначала прибавлять и тут же убавлять ??? }//Закрыто if(OrderType()==OP_BUY && OrderTakeProfit()>PriTP) }//Закрыто if(OrderMagicNumber()==Mn) }//Закрыто if(OrderSymbol()==Symbol() }//Закрыто if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) }//Закрыто for(i=0;i<OrdersTotal();i++) //---- return(0); } //+------------------------------------------------------------------+Записи в журнале тестера.2013.03.18 09:42:48 2013.02.11 12:16 Poligon1 EURUSD,M15: Кс1: Tick=5 i=1 k=1 2013.03.18 09:42:48 2013.02.11 12:16 Poligon1 EURUSD,M15: Кс1: Tick=5 i=0 k=0 2013.03.18 09:42:24 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=4 i=1 k=1 2013.03.18 09:42:24 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=4 i=0 k=0 2013.03.18 09:42:00 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=3 i=1 k=0 2013.03.18 09:42:00 2013.02.11 12:15 Poligon1 EURUSD,M15: close #4 buy 2.50 EURUSD at 1.3397 sl: 1.3380 tp: 1.3412 at price 1.3393 2013.03.18 09:42:00 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=3 i=0 k=0 2013.03.18 09:41:36 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=2 i=2 k=1 2013.03.18 09:41:36 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=2 i=1 k=0 2013.03.18 09:41:36 2013.02.11 12:15 Poligon1 EURUSD,M15: close #2 buy 1.00 EURUSD at 1.3397 sl: 1.3370 tp: 1.3422 at price 1.3394 2013.03.18 09:41:36 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=2 i=0 k=0 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=1 i=3 k=0 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: close #5 buy 3.50 EURUSD at 1.3397 sl: 1.3380 tp: 1.3412 at price 1.3395 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=1 i=2 k=0 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: close #3 buy 1.50 EURUSD at 1.3397 sl: 1.3380 tp: 1.3412 at price 1.3395 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=1 i=1 k=0 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: close #1 buy 0.50 EURUSD at 1.3397 sl: 1.3360 tp: 1.3432 at price 1.3395 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс1: Tick=1 i=0 k=0 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: Кс0: OrdersTotal=7 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #7 sell stop 3.00 EURUSD at 1.3367 sl: 1.3410 tp: 1.3322 ok 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #6 buy limit 1.00 EURUSD at 1.3382 sl: 1.3355 tp: 1.3422 ok 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #5 buy 3.50 EURUSD at 1.3397 sl: 1.3380 tp: 1.3412 ok 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #4 buy 2.50 EURUSD at 1.3397 sl: 1.3380 tp: 1.3412 ok 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #3 buy 1.50 EURUSD at 1.3397 sl: 1.3380 tp: 1.3412 ok 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #2 buy 1.00 EURUSD at 1.3397 sl: 1.3370 tp: 1.3422 ok 2013.03.18 09:41:12 2013.02.11 12:15 Poligon1 EURUSD,M15: open #1 buy 0.50 EURUSD at 1.3397 sl: 1.3360 tp: 1.3432 ok 2013.03.18 09:41:12 Poligon1 test started 2013.03.18 09:40:59 Poligon1: loaded successfully barok2 2013.03.18 05:18 #2259 barok2:在MT4测试器中测试WOC0.1.2专家顾问时(从Forex Club应用到MT4),图表上的订单标签在价格上方,即交易在价格上执行,但没有发生。这是一个测试者的故障吗?能否以某种方式加以纠正?http://s017.radikal.ru/i405/1303/61/959038aaf1a9.jpg还有一件事:在测试器的可视化模式下,交易被执行,但不是没有交易。 我自己想出了这个办法。这是因为周末时测试器上的传播量增加(81)。 Alexander 2013.03.18 06:03 #2260 Shurkin: 那是因为你把我的例子复制错了。仔细看看哪里是i,哪里是k。 1...219220221222223224225226227228229230231232233...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请。
逻辑的问题--我想不出来了。
的确,你在逻辑上有问题。首先你允许挂单,就像你喜欢的那样,然后你想在其中一个开盘后删除所有的挂单,然后你惊讶地发现所有新的挂单都被删除。然后继续思考下一个挂单被触发后应该发生什么。该算法将取决于此。
谢谢你纠正了我的想法,我正被挂在嘴边。
在第一个挂单(比方说baillimit)之后,可能会有更多的挂单被放在同一方向,但当信号出现在相反方向(比方说selimit)时,我们如何删除所有的买入仓位和订单?
晚上好!对不起,我想回到一个未解决的问题上。
'买入'--不兼容的类型 D:\TeleTRADE\experts\cleaner.mq4 (102, 53)
'Sell' - 不兼容的类型 D:\TeleTRADE\experts\clearlist.mq4 (102, 79)
你好,请你告诉我如何写一个全局变量bool,例如:bool=uroven_1=false;如何在全局变量中写这个,以便在终端重新启动后有一个新的值,谢谢。
https://book.mql4.com/ru/variables/globals
逻辑是正确的--订单中应该有多少个仓位号,就有多少个订单,一旦有一个被关闭,其他的都会重新计算。试试这个结构
响应。
你好。
不幸的是,上述的结构并没有给我们带来所需的结果。我想把程序的代码和测试者的日记条目给你。
恭敬地说。舒尔金
2013年3月18日。
在MT4测试器中测试WOC0.1.2专家顾问时(从Forex Club应用到MT4),图表上的订单标签在价格上方,即交易在价格上执行,但没有发生。这是一个测试者的故障吗?能否以某种方式加以纠正?
http://s017.radikal.ru/i405/1303/61/959038aaf1a9.jpg
还有一件事:在测试器的可视化模式下,交易被执行,但不是没有交易。
我自己想出了这个办法。这是因为周末时测试器上的传播量增加(81)。