//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ extern double Lots = 0.1; // Âåëè÷èíà ëîòà extern int MinProfit = 10; // Ïðèáûëü â ïóíêòàõ extern int Step = 0; double step; int magic=3485632; //+------------------------------------------------------------------+ int start(){ int oo=0; double slp=99999,shp=0; double blp=99999,bhp=0; int bprofit=0,sprofit=0; int j=OrdersTotal()-1; for(int i=j;i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(Symbol()==OrderSymbol() && magic==OrderMagicNumber() && OrderType()==OP_BUY){ oo++; if(OrderOpenPrice()<blp) blp=OrderOpenPrice(); if(OrderOpenPrice()>bhp) bhp=OrderOpenPrice(); bprofit=bprofit+MathRound((OrderProfit()+OrderSwap())/MarketInfo(Symbol(),MODE_TICKVALUE)/MarketInfo(Symbol(),MODE_MINLOT)); } if(Symbol()==OrderSymbol() && magic==OrderMagicNumber() && OrderType()==OP_SELL){ oo++; if(OrderOpenPrice()<slp) slp=OrderOpenPrice(); if(OrderOpenPrice()>shp) shp=OrderOpenPrice(); sprofit=sprofit+MathRound((OrderProfit()+OrderSwap())/MarketInfo(Symbol(),MODE_TICKVALUE)/MarketInfo(Symbol(),MODE_MINLOT)); } } Comment("Áàé Ïðîôèò=", bprofit," blp=", blp," bhp=",bhp," blp-step=",blp-step," bhp+step=",bhp+step, "\nÑåë Ïðîôèò=", sprofit," slp=", slp," shp=",shp," slp-step=",slp-step," shp+step=",shp+step); if(oo==0){ RefreshRates(); OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"pio_pir_buy",magic,0,Blue); OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"pio_pir_sell",magic,0,Magenta); } if(bprofit>=MinProfit){ j=OrdersTotal()-1; for(i=j;i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); RefreshRates(); if(Symbol()==OrderSymbol() && magic==OrderMagicNumber() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue); } } if(sprofit>=MinProfit){ j=OrdersTotal()-1; for(i=j;i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); RefreshRates(); if(Symbol()==OrderSymbol() && magic==OrderMagicNumber() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Magenta); } } RefreshRates(); if (Step==0) {step=(Ask-Bid)*2;} else {step=Step*Point;} RefreshRates(); if(blp-step>=Bid) OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"pio_pir_buy",magic,0,Blue); // if(bhp+step<=Bid) // OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"pio_pir_buy",magic,0,Blue); // if(slp-step>=Ask) // OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"pio_pir_sell",magic,0,Magenta); if(shp+step<=Ask) OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"pio_pir_sell",magic,0,Magenta); return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
It automatically opens orders when conditions are reached
It Closes Orders by itself
Other Features: