Sell Market или как выйти по рынку прямо сейчас?
Показано с 1 по 1 из 1

Тема: Sell Market или как выйти по рынку прямо сейчас?

  1. #1
    Новичок Аватар для Mike_Kharkov
    Регистрация
    08.07.2014
    Сообщений
    103
    Promo (¢)
    1,685
    Благодарности
    Получено: 8
    Отправлено: 126

    Sell Market или как выйти по рынку прямо сейчас?

    Здравствуйте:
    Есть такой код:

    Код:
    //функция формирующая торговый запрос на открытие позиции  -------------------+
    //и проверки результата открытия
    bool SendOrder(double price, double volume)
    {
       double pos_prof = PositionGetDouble(POSITION_PROFIT);
       
       if(volume >= 99){
       Print("ОШИБКА! Обьем Ордера привысил размер 99 лотов и сейчас ровняется", volume,"-м");
       return(false);
       };
       
       counter++;
       MqlTradeRequest request = {0};
       MqlTradeResult  result  = {0};
       //---заполняем поля торгового запроса
       request.action       = TRADE_ACTION_DEAL;       // Тип выполняемого действия
       request.symbol       = _Symbol;                 // Имя торгового инструмента
       request.magic        = magic_number;
       request.volume       = volume;                  // Запрашиваемый объем сделки в лотах
       request.price        = price;                   // Цена  
       request.type         = ORDER_TYPE_BUY;          // Тип ордера
       
       if(pos_prof >= 0.10 * _Point)
          {
                request.tp           = price + 20*_Point;       // Цена, по которой сработает Take Profit ордер при движении цены в благоприятном направлении
                Print("Прибыль меньше 100$ и сейчас равна: ", pos_prof);
          }
          
       else
          {
                request.tp           = price + 40*_Point;                  // Цена, по которой сработает Take Profit ордер при движении цены в благоприятном направлении
                Print("Прибыль больше 99$ и сейчас равна: ", pos_prof);
          };
       
       request.sl           = price - 270*_Point;      // Цена, по которой сработает Stop Loss ордер при движении цены в неблагоприятном направлении
       request.deviation    = 0;                    // Максимально приемлемое отклонение от запрашиваемой цены, задаваемое в пунктах
       request.type_filling = ORDER_FILLING_IOC;       // Тип ордера по исполнению
       request.type_time    = ORDER_TIME_GTC;
    
    
       return(false);
    }//-------------------------------------------------------------------------------------------------+
    В данном коде, в случае прибыли(по ходу сделки) > 0.10 я ставлю тейк профит по цене +20 к цене аска.
    Но. Я не имею права(т.к. счет не ECN) выставлять профит по текущей цене аска.

    Вопрос:
    Каким образом(что надо прописать?) можно забрать прибыль именно маркетом(а не тейк профитом) или как угодно - но, что бы в случае прибыли больше 0.10 я сразу закрывал позицию(т.к. это можно сделать руками, кликнув по крестику справа, возле каждой позиции в окне терминала) и не ждал, пока ещё 20 пунктов цена пойдет в мою сторону?

    И ещё такой момент:
    Ставил демо ECN и там работает все так как надо при данном коде - но не на всех инструментах.
    То есть на одних прибыль забирается , а на других вообще отказывается работать тейк профит.
    Почему так получается?

    Вы не можете благодарить!
    Последний раз редактировалось Mike_Kharkov; 14.08.2014 в 21:38.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •