- //+------------------------------------------------------------------+
- //| 实验室001.mq4 |
- //+------------------------------------------------------------------+
- #property show_inputs
- #include <Stdlib.mqh>
- extern double Lots = 0.1;
- extern int AllCount = 50;
- int Slippage = 0;
- extern double StopLoss = 50;
- extern double TakeProfit = 50;
- string Comments = "BatchOpen Auto Generated";
- extern int Delay = 0;
- datetime Expiration = 0;
- #define BATCH_OPEN_MAGIC 06021610
- //+------------------------------------------------------------------+
- //| script program start function |
- //+------------------------------------------------------------------+
- int init()
- { return(0); }
- int deinit()
- { return(0); }
- int start()
- {
- int NowTotal = OrdersTotal();
- double _RangeStart ;
- double _StopLoss=StopLoss*Point ;
- double _TakeProfit=TakeProfit*Point;
- if (NowTotal >= AllCount)
- {return (-1); }
- else
- OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS,MODE_HISTORY);
- if(OrderOpenPrice()>0 && OrderSymbol()==Symbol()) _RangeStart=OrderOpenPrice();
- double sl ;
- double tp ;
- int cmd;
- //inputs checking
- if (_RangeStart<Bid)
- { sl = _RangeStart - _StopLoss;
- tp = _RangeStart + _TakeProfit;
- cmd = OP_BUYLIMIT;
- OrderSend(Symbol() , cmd , Lots , _RangeStart , Slippage , sl , tp,Comments, BATCH_OPEN_MAGIC, Expiration, CLR_NONE); }
- if (_RangeStart>Bid)
- { sl = _RangeStart - _StopLoss;
- tp = _RangeStart + _TakeProfit;
- cmd = OP_BUYSTOP;
- OrderSend(Symbol() , cmd , Lots , _RangeStart , Slippage , sl , tp,Comments, BATCH_OPEN_MAGIC, Expiration, CLR_NONE); }
- //----
- //Print(cnt + " orders placed, " + AllCount + " requested, " + failed + " failed");
- return(0);
- }
- //+------------------------------------------------------------------+
复制代码 |