Помогите новичку

 

Всем добрый день!

знакомлюсь с системой, нужна помощь в написании кода для простейшей сделки, в качестве примера чтобы понять как тут всё работает)

 

тз следующее

необходимо купить 0.01 лота XAGUSD если его цена по сравнению с ценой открытия дня (D1 Open) упадёт на 2 пункта(то есть была 16.00, стала 14.00)

 (отложенный ордер поставленный вручную не подходит, потому что в дальнейшем предполагается написание кода для ордеров с более динамичными таймфреймами, это просто как пример)

 другими словами необходим код для постановки простейшего отложенного ордера

 

 

объясните плиз как можно подробнее))) также приветствуется если просто скинете нужный хелп или аналогичный пример

 

заранее спасибо! 

 
samfisher01:

Всем добрый день!

знакомлюсь с системой, нужна помощь в написании кода для простейшей сделки, в качестве примера чтобы понять как тут всё работает)

 

тз следующее

необходимо купить 0.01 лота XAGUSD если его цена по сравнению с ценой открытия дня (D1 Open) упадёт на 2 пункта(то есть была 16.00, стала 14.00)

 (отложенный ордер поставленный вручную не подходит, потому что в дальнейшем предполагается написание кода для ордеров с более динамичными таймфреймами, это просто как пример)

 другими словами необходим код для постановки простейшего отложенного ордера

 

 

объясните плиз как можно подробнее))) также приветствуется если просто скинете нужный хелп или аналогичный пример

 

заранее спасибо! 

Для этого есть раздел "Фриланс"
 
А также в качестве учебника - любой чужой код советника. С обязательным обращением к Документации по MQL. Смотреть, разбирать и думать думать думать
 

спасибо, разобрался с тем что мне нужен отложенный ордер по типу такого

 

 

int ticket;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(ticket=OrderGetTicket(i)>0)
        {
         if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_LIMIT)
            if(OrderGetDouble(ORDER_PRICE_OPEN)<Ask-Delta)
              {
               //--- готовим запрос
               MqlTradeRequest request;
               request.symbol=_Symbol;                      // инструмент
               request.action=TRADE_ACTION_MODIFY;         // установка отложенного ордера
               request.price =(int)(Ask-Delta);                     // цена для открытия
               request.type=ORDER_TYPE_BUY_LIMIT;
               request.type_time=ORDER_TIME_DAY;
               //--- отправим торговый приказ
               MqlTradeResult result={0};
               OrderSend(request,result);
               //--- выведем в лог ответ сервера   

               

только куда это писать в советник, индикатор или expert?

 
Andrei Fandeev:
А также в качестве учебника - любой чужой код советника. С обязательным обращением к Документации по MQL. Смотреть, разбирать и думать думать думать
хотелось бы найти рабочий код советника, только то что находил на форуме люди просят исправить))) если скинете что-нибудь готовое, желательно про отложенные ордера, то буду благодарен, главное чтобы небольшое по объёму и РАБОЧЕЕ)
 

всем привет!

помогите с роботом, не работает, раньше работал без проблем сейчас после изменений в терминале перестал жалуется на OrderModify, работает от SARa просто двигает стоп лос по сару вот код  

#property copyright "xsvp"

#property link      ""

#property show_inputs

extern double Profit  = 0.00;

extern double Step  = 0.02; 

extern double StepMax  = 0.2;

extern int KolichstvoZnakovPosliZapyatoi = 4;//количетво знаков после запятой 


int start()

  {

for(int i=OrdersTotal() - 1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

  if (OrderSymbol() ==  Symbol())

  {

    double SAR = NormalizeDouble(iSAR(NULL, 0, Step, StepMax, 0), KolichstvoZnakovPosliZapyatoi);

    if(OrderStopLoss()!= SAR && SAR > Open[0])

      OrderModify(OrderTicket(), OrderOpenPrice(), SAR, Profit, 0, Red);

      

    if(OrderStopLoss()!= SAR && SAR < Open[0])

      OrderModify(OrderTicket(), OrderOpenPrice(), SAR, Profit, 0, Blue);

  }

}

}

   return(0);

 подскажите что не так?

 
xsvp:

всем привет!

помогите с роботом, не работает, раньше работал без проблем сейчас после изменений в терминале перестал жалуется на OrderModify, работает от SARa просто двигает стоп лос по сару вот код  


 подскажите что не так?

Это скрипт, а не робот. Скобка фигурная в конце пропущена, скорее всего в процессе копипасты, но надо всё равно внимательнее быть.

Вычислять значение индикатора на каждом ордере нет смысла, на время работы скрипта оно скорее всего не будет меняться.

Функцию OrderModify() надо писать со всеми параметрами, те, что не меняете, пишете старыми значениями, например тейкпрофит - OrderTakeProfit().

И чтобы уж вовсе по фен-шую, надо бы проверку исполнения ввести, минимум с выводом номера ошибки, компилятор на это и намекает обычно:

if(!OrderModify(OrderTicket(),OrderOpenPrice(),SAR,OrderTakeProfit(),0,Blue))
Print("Упс, ошибочка вышла, номер ", GetLastError());
 

Подскажите как перенести индикатор в советник ? А именно вот это:

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_width1 1
#property indicator_color2 Lime
#property indicator_width2 1
#property indicator_color3 Red
#property indicator_width3 1
#property indicator_color4 Lime
#property indicator_width4 1

 
MIR_KAZAN:

Подскажите как перенести индикатор в советник ? А именно вот это:

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_width1 1
#property indicator_color2 Lime
#property indicator_width2 1
#property indicator_color3 Red
#property indicator_width3 1
#property indicator_color4 Lime
#property indicator_width4 1

Нужно просто вызывать индикатор из советника через iCustom.
 
Karputov Vladimir:
Нужно просто вызывать индикатор из советника через iCustom.
Можно подробнее? С какими параметрами и что получу в итоге в коде советника ?
 
MIR_KAZAN:
Можно подробнее? С какими параметрами и что получу в итоге в коде советника ?
iCustom - как получить хендл пользовательского индикатора. В справке и пример есть для индикатора "Custom Moving Average" из стандартной поставки.
Причина обращения: