_Open_SELL_v2





//+------------------------------------------------------------------+
//|                                                   _Open_SELL.mq4 |
//|                                           "ÑÊÐÈÏÒÛ ÄËß ËÅÍÈÂÎÃÎ" |
//|             Ñêðèïò îòêðûâàåò SELL íà çàäàâàåìóþ ÷àñòü FreeMargin |
//|                                                                  |
//|                                   Òîëüêî äëÿ ïàð USD... è ...USD |
//|                               (áëàãàäàðþ komposter çà ïîäñêàçêó) |
//|                                                                  |
//|                           Bookkeeper, 2006, yuzefovich@gmail.com |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property show_inputs // Åñëè åñòü æåëàíèå ìåíÿòü ýêñòåðíû â ïðîöåññå
//+------------------------------------------------------------------+
extern int    Interest   = 100;  // Âûäåëèòü ÷àñòü FreeMargin íà ïîçó:
                                 // = 0 îòêðûòü ìèíèìàëüíûì ëîòîì
                                 // = 100 îòêðûòü ñî âñåé äóðè
extern int    DistSL     = 35;   // Ðàññòîÿíèå äî SL
extern int    DistTP     = 35;   // Ðàññòîÿíèå äî TP
extern int    Slippage   = 5;    // Ïðîñêàëüçûâàíèå
extern bool   StopLoss   = true; // Ñòàâèòü èëè íåò
extern bool   TakeProfit = true; // Ñòàâèòü èëè íåò
//+------------------------------------------------------------------+
void start() 
{
int    ticket;
double SL=0,TP=0,Stake,StepDgts,Share,QQ=1.0;
double Step=MarketInfo(Symbol(),MODE_MINLOT);   
int    Dgts=MarketInfo(Symbol(),MODE_DIGITS);     
string FirstPart=StringSubstr(Symbol(), 0, 3 );   
string SecondPart=StringSubstr(Symbol(), 3, 3 );
   Share=0.01*Interest;
   if(SecondPart == "USD") QQ=Bid;
   else
   {
      if(FirstPart != "USD") 
         Alert("OpenSELL: Who is that - "+Symbol()+"? I do not know..."); // :)
   }
   if(AccountFreeMargin()<Step*1000*Bid)
   {
      Alert("OpenSELL: No maney...");
      return;
   }
   if(Share>1.0) Share=1.0; // ×àñòü íå áûâàåò áîëüøå öåëîãî
   if(Share<0) Share=0;    // (???)
   if(Step<0.1) StepDgts=2;
   else
   {
      if(Step<1.0) StepDgts=1;
      else StepDgts=0;
   }
   Stake=NormalizeDouble(AccountFreeMargin()*Share/1000/QQ,StepDgts);
   if(AccountFreeMargin()<Stake*1000*QQ) // Îêðóãëåíèå áûâàåò è ââåðõ
      Stake=NormalizeDouble(Stake-Step,StepDgts); // Òåïåðü ëèøêó íå áóäåò  
   //Åñëè âûäåëåííàÿ ÷àñòü äåïî áóäåò ìåíüøå ìèíèìàëüíî äîïóñòèìîãî ëîòà,
   //ïîçà áóäåò îòêðûòà íà ìèíèìàëüíûé ëîò
   if(Stake<Step) Stake=Step;
   if(StopLoss==true) SL=Ask+DistSL*Point;
   if(TakeProfit==true) TP=Bid-2*DistTP*Point;
   ticket=OrderSend(Symbol(),OP_SELL,Stake,Bid,Slippage,
                    NormalizeDouble(SL,Dgts),
                    NormalizeDouble(TP,Dgts),
                    "",0,0,CLR_NONE);
   if(ticket<=0) Alert("Error Open_SELL: ",GetLastError()); 
   return(0);
}
//+------------------------------------------------------------------+





Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features:

It issuies visual alerts to the screen