________ ____________ _______





//+------------------------------------------------------------------+
//|                                                    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: