//+------------------------------------------------------------------+ //| TestStops.mq4 | //| Copyright © 2006, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #include "..\libraries\stdlib.mq4" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { int ticket; // íîìåð òèêåòà int digits =MarketInfo(Symbol(),MODE_DIGITS); // ñîõðàíèì êîëè÷åñòâî çíàêîâ double volume =MarketInfo(Symbol(),MODE_MINLOT); // ñîõðàíèì ìèíèìàëüíûé ëîò double stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL); // ñîõðàíèì ìèíèìàëüíûé îòñòóï //---- ïîêàæåì íàñòðîéêè Print("Ìèíèìàëüíûé ëîò: ",volume," ìèíèìàëüíûé îòñòóï: ",stoplevel); //---- ïîïðîáóåì îòêðûòü ïîçèöèþ ïî ðûíêó ñ ìàêñèìàëüíî áëèçêî //---- óñòàíîâëåííûìè StopLoss è TakeProfit, ïîêóïàåì ïî àñêó //---- ïîêàçûâàåì, ÷òî îòêðûâàòüñÿ ìîæíî ñ îòñòóïîì â stoplevel ïóíêòîâ ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,2, NormalizeDouble(Bid-stoplevel*Point,digits), // SL NormalizeDouble(Bid+stoplevel*Point,digits)); // TP if(ticket<1) { Print("Øàã 1: îøèáêà ",ErrorDescription(GetLastError())); return(-1); } //---- âûäåëèì òîëüêî ÷òî îòêðûòûé îðäåð è îáíîâèì ðûíî÷íîå îêðóæåíèå if(OrderSelect(ticket,SELECT_BY_TICKET)==false) { Print("Øàã 2: îøèáêà ",ErrorDescription(GetLastError())); return(-2); } RefreshRates(); // îáíîâèì ðûíî÷íîå îêðóæåíèå //---- ïîïðîáóåì ìîäèôèöèðîâàòü StopLoss, íå òðîãàÿ TakeProfit //---- îòîäâèíåì ñòîï-ëîññ íà 2 ïèïñà (ìîæåò è íå ïîëó÷èòüñÿ, åñëè ðûíîê äåðíåòñÿ) //---- ïîêàçûâàåì, ÷òî TakeProfit íå ïðîâåðÿåòñÿ, åñëè îí íå èçìåíèëñÿ if(OrderModify(ticket,OrderOpenPrice(),OrderStopLoss()-2*Point,OrderTakeProfit(),0)==false) { Print("Øàã 3: îøèáêà ",ErrorDescription(GetLastError())); return(-3); } //---- óäàëèì ñòîïû, íè÷åãî íå ïîêàçûâàåì, ïðîñòî ïîäãîòîâêà ê ñëåäóþùåìó øàãó if(OrderModify(ticket,OrderOpenPrice(),0,0,0)==false) { Print("Øàã 4: îøèáêà ",ErrorDescription(GetLastError())); return(-4); } RefreshRates(); // îáíîâèì ðûíî÷íîå îêðóæåíèå //---- ïîïðîáóåì ñíîâà âûñòàâèòü ñòîïû âïëîòíóþ ê ðûíêó //---- ïîêàçûâàåì, ÷òî StopLoss è TakeProfit íîðìàëüíî ñòàâÿòñÿ if(OrderModify(ticket,OrderOpenPrice(), NormalizeDouble(Bid-stoplevel*Point,digits), // SL NormalizeDouble(Bid+stoplevel*Point,digits), // TP 0)==false) { Print("Øàã 5: îøèáêà ",ErrorDescription(GetLastError())); return(-3); } //---- òåñò çàêîí÷åí Print("Òåñò óñïåøíî çàâåðøåí!"); return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
It can change open orders parameters, due to possible stepping strategy
Other Features: