//+------------------------------------------------------------------+ //| PauseTest.mq4 | //| Copyright © 2006, komposter | //| mailto:komposterius@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, komposter" #property link "mailto:komposterius@mail.ru" #include <PauseBeforeTrade.mq4> #include <TradeContext.mq4> int ticket = 0; int start() { // åñëè íåò ïîçèöèè, îòêðûòîé ýòèì ýêñïåðòîì if ( ticket <= 0 ) { // æä¸ì îñâîáîæäåíèÿ òîðãîâîãî ïîòîêà è çàíèìàåì åãî (åñëè ïðîèçîøëà îøèáêà, âûõîäèì) if ( TradeIsBusy() < 0 ) { return(-1); } // âûäåðæèâàåì ïàóçó ìåæäó òîðãîâûìè îïåðàöèÿìè if ( _PauseBeforeTrade() < 0 ) { // åñëè ïðîèçîøëà îøèáêà, îñâîáîæäàåì òîðãîâûé ïîòîê è âûõîäèì TradeIsNotBusy(); return(-1); } // îáíîâëÿåì ðûíî÷íóþ èíôîðìàöèþ RefreshRates(); // è ïûòàåìñÿ îòêðûòü ïîçèöèþ ticket = OrderSend( Symbol(), OP_BUY, 0.1, Ask, 5, 0.0, 0.0, "PauseTest", 123, 0, Lime ); if ( ticket < 0 ) { Alert( "Îøèáêà OrderSend ¹ ", GetLastError() ); } // îñâîáîæäàåì òîðãîâûé ïîòîê TradeIsNotBusy(); } // åñëè åñòü ïîçèöèÿ, îòêðûòàÿ ýòèì ýêñïåðòîì else { // æä¸ì îñâîáîæäåíèÿ òîðãîâîãî ïîòîêà è çàíèìàåì åãî (åñëè ïðîèçîøëà îøèáêà, âûõîäèì) if ( TradeIsBusy() < 0 ) { return(-1); } // âûäåðæèâàåì ïàóçó ìåæäó òîðãîâûìè îïåðàöèÿìè if ( _PauseBeforeTrade() < 0 ) { // åñëè ïðîèçîøëà îøèáêà, îñâîáîæäàåì òîðãîâûé ïîòîê è âûõîäèì TradeIsNotBusy(); return(-1); } // îáíîâëÿåì ðûíî÷íóþ èíôîðìàöèþ RefreshRates(); // è ïûòàåìñÿ çàêðûòü ïîçèöèþ if ( !OrderClose( ticket, 0.1, Bid, 5, Lime ) ) { Alert( "Îøèáêà OrderClose ¹ ", GetLastError() ); } else { ticket = 0; } // îñâîáîæäàåì òîðãîâûé ïîòîê TradeIsNotBusy(); } return(0); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
It automatically opens orders when conditions are reached
It Closes Orders by itself
Other Features:
It issuies visual alerts to the screen