внесение изменений в МТ4

 

Здравствуйте!

Дело у меня такое народ: Хочу, что бы при открытии контракта в любую сторону, у меня в МТ4 автоматически устанавливался бы стоп, по заранее заданному уровню. Не выставлять стоп руками перед открытием контракта, не устанавливать его руками после открытия контракта, а что бы именно одной кнопкой Buy или Sell - жмешь, и контракт открыт и стоп уже выставлен (к примеру 10 п). Реализуемо ли такое (может быть уже реализовано) и сколько бы мне это стоило?

 
Возможно реализовать в скрипте и привязать его к горячей клавише. Вам же не важно, как это будет делаться? Стоп будет выставляться после, но для Вас это будет не заметно.
 
Боже... Проблема. Скрипт. Хоть стопы, хоть маме СМСку.
 

Скрипт это уже лишние затраты каллорий на нажатие хоткея%)

Элементарный зацикленный советник. Вешается на любую пару.

Примерно так:

//+------------------------------------------------------------------+
//|                                                    auto_stop.mq4 |
//|                                                        lexandros |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "lexandros"
#property link      ""

extern int Stop=50;
extern int Profit=100;

static int Wait=500;
int x,Sym_digits,Sym_spread;
double Sym_point;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
while (true)
   {
   for (x=OrdersTotal()-1;x>=0;x--)
      {
      OrderSelect(x, SELECT_BY_POS, MODE_TRADES);
      Sym_point=MarketInfo(OrderSymbol(),MODE_POINT);
      Sym_digits=MarketInfo(OrderSymbol(),MODE_DIGITS);
      Sym_spread=MarketInfo(OrderSymbol(),MODE_SPREAD);
      
      if (IsTradeAllowed( )&&IsTradeContextBusy( )==false)
         {
         if (OrderType()==OP_BUY||OrderType()==OP_BUYSTOP||OrderType()==OP_BUYLIMIT)
            {
            if (NormalizeDouble(OrderStopLoss(),Sym_digits)!=NormalizeDouble(OrderOpenPrice()-(Stop+Sym_spread)*Sym_point,Sym_digits)||NormalizeDouble(OrderTakeProfit(),Sym_digits)!=NormalizeDouble(OrderOpenPrice()+(Profit+Sym_spread)*Sym_point,Sym_digits))
               {
               OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-(Stop+Sym_spread)*Sym_point,Sym_digits),NormalizeDouble(OrderOpenPrice()+(Profit+Sym_spread)*Sym_point,Sym_digits),0);
               }
            }
      
         if (OrderType()==OP_SELL||OrderType()==OP_SELLSTOP||OrderType()==OP_SELLLIMIT)
            {
            if (NormalizeDouble(OrderStopLoss(),Sym_digits)!=NormalizeDouble(OrderOpenPrice()+(Stop+Sym_spread)*Sym_point,Sym_digits)||NormalizeDouble(OrderTakeProfit(),Sym_digits)!=NormalizeDouble(OrderOpenPrice()-(Profit+Sym_spread)*Sym_point,Sym_digits))
               {
               OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+(Stop+Sym_spread)*Sym_point,Sym_digits),NormalizeDouble(OrderOpenPrice()-(Profit+Sym_spread)*Sym_point,Sym_digits),0);
               }
            }
         }
      }
   Sleep (Wait);
   }    
//----
   return(0);
  }
//+------------------------------------------------------------------+
Файлы:
auto_stop.mq4  4 kb
 

Это будет лучше - возможностей больше.

http://mykibo.com/index.php

Причина обращения: