Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 118

 
Top2n:

я обнулил через ZeroMemory(mrequest);

про режимы исполнения ордеров не очень понял,  брокер альпари, думаю все по стандарту. Блин ерунда какая та, не хочет и все. Вывел через comment sl и  tp? показывает нынешнюю цену + sl. все так понимаю норма!

Даже вот в таком виде на сервере MQ ошибок в тестере не возникает:

input int    StopLoss   =499;   // Stop Loss
input int    TakeProfit =999;   // Take Profit
input int    EA_Magic   =12345; // Magic Number советника
input double Lot        =0.1;   // Количество лотов для торговли
//---
MqlTick         latest_price;        // Будет использоваться для текущих котировок
MqlTradeRequest mrequest;            // Будет использоваться для отсылки торговых запросов
MqlTradeResult  mresult;             // Будет использоваться для получения результатов выполнения торговых запросов
//---
int STP = StopLoss;
int TKP = TakeProfit;
//+------------------------------------------------------------------+
//| ИНИЦИАЛИЗАЦИЯ                                                    |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Для работы с брокерами, использующими 5-ти значные котировки,
//    умножаем на 10 значения SL и TP
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
//+------------------------------------------------------------------+
//| ДЕИНИЦИАЛИЗАЦИЯ                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+------------------------------------------------------------------+
//| СОБЫТИЕ ТИК ТЕКУЩЕГО СИМВОЛА                                     |
//+------------------------------------------------------------------+
void OnTick()
  {
   SymbolInfoTick(Symbol(),latest_price); // Получаем текущие цены
//---
   mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
   mrequest.price = NormalizeDouble(latest_price.ask,_Digits);           // последняя цена ask
   mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
   mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
   mrequest.symbol = _Symbol;                                            // символ
   mrequest.volume = Lot;                                                // количество лотов для торговли
   mrequest.magic = EA_Magic;                                            // Magic Number
   mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
   mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
   mrequest.deviation=100;                                               // проскальзывание от текущей цены
//--- отсылаем ордер
   OrderSend(mrequest,mresult);
  }

//---

Если же выяснится, что дело в режимах исполнения, то примерно так нужно делать:

// В режиме Instant Execution позицию можно открыть
// сразу с установленными уровнями Stop Loss и Take Profit
   if(smb.trade_exec==SYMBOL_TRADE_EXECUTION_INSTANT)
     {
      // Если позиция не открылась, вывести сообщение об этом
      if(!trd.PositionOpen(_Symbol,type_ord,lot,oprice,sl,tp,comment))
        { Print("Ошибка при открытии позиции: ",GetLastError()," - ",ErrorDesc(GetLastError())); }
     }
//---
// В режиме Market Execution сначала нужно открыть позицию и
// только после этого можно установить уровни Stop Loss и Take Profit
   if(smb.trade_exec==SYMBOL_TRADE_EXECUTION_MARKET)
     {
      // Если позиции нет, то сначала откроем позицию
      // а затем установим Stop Loss и Take Profit
      if(!pos.exist)
        {
         // Если позиция не открылась, вывести сообщение об этом
         if(!trd.PositionOpen(_Symbol,type_ord,lot,oprice,0,0,comment))
           { Print("Ошибка при открытии позиции: ",GetLastError()," - ",ErrorDesc(GetLastError())); }
         else
           {// Если позиция открылась, то сначала выберем её и...
            if((pos.exist=PositionSelect(_Symbol))) // ...если позиция есть, то...
              {
               // ...установим Stop Loss и Take Profit
               if(!trd.PositionModify(_Symbol,sl,tp))
                 { Print("Ошибка при модификации позиции: ",GetLastError()," - ",ErrorDesc(GetLastError())); }
              }
           }
        }
      else
        {// Если позиция есть, то увеличим её объём и
         // оставим Stop Loss и Take Profit на их прежнем уровне
         // Если позиция не открылась, вывести сообщение об этом
         if(!trd.PositionOpen(_Symbol,type_ord,lot,oprice,sl,tp,comment))
           { Print("Ошибка при открытии позиции: ",GetLastError()," - ",ErrorDesc(GetLastError())); }
        }
     }
 
как покороче написать 
iClose(Symbol(),1440,1)
в MQL5?
 
zfs:
как покороче написать  в MQL5?
https://www.mql5.com/ru/articles/81
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

Подскажите пожалуйста где в МТ5 экономический календарь? В ссылке по отличиям он есть. а в своем найти не получается.(есть новости, которые приходят нон-стоп раз в 1-5 минут точно, всякие разные)

Спасибо. 

http://www.profi-forex.org/journal/number17/page8.html#prettyPhoto

Основные отличия МТ5 от МТ4
Основные отличия МТ5 от МТ4
  • 2012.08.06
  • Биржевой лидер
  • www.profi-forex.org
Первое, что следует отметить и принять как должное, это отсутствие локов - встречных позиций. Пожалуй, это основное, что вызывает у части трейдеров недоумение и, возможно, разочарование, в то время как для тех, кто торгует без локов, это изменение вполне закономерно и логично. Если мы обратимся к другим профессиональным платформам, то увидим...
 
mzk_3om6u:

Подскажите пожалуйста где в МТ5 экономический календарь? В ссылке по отличиям он есть. а в своем найти не получается.(есть новости, которые приходят нон-стоп раз в 1-5 минут точно, всякие разные)

Спасибо. 

http://www.profi-forex.org/journal/number17/page8.html#prettyPhoto

Новости, которые приходят - это вкладка почта

Календарь там же

Можно увидеть только при подключению к реальному мт5 счету 

 

mzk_3om6u: 

Подскажите пожалуйста где в МТ5 экономический календарь? В ссылке по отличиям он есть. а в своем найти не получается.(есть новости, которые приходят нон-стоп раз в 1-5 минут точно, всякие разные)

Спасибо. 

Из Справки терминала (F1):

Данная вкладка может отсутствовать, если на торговом сервере отключен показ экономического календаря.

 

>>> Календарь

 
mzk_3om6u:

Подскажите пожалуйста где в МТ5 экономический календарь?...


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

 

День добрый.

Где можно задать вопрос по отношению изменения графика.

Пример такой.Уже неоднократно проверяю график на ручное управление со стороны компании,и зачастую это подтверждается.

Напишите ссылочку по данному вопросу!Благодарю. 

 
Serega_444:

День добрый.

Где можно задать вопрос по отношению изменения графика.

Пример такой.Уже неоднократно проверяю график на ручное управление со стороны компании,и зачастую это подтверждается.

Напишите ссылочку по данному вопросу!Благодарю. 

Расшифруйте. Вы о чем? История, сделки, графические построения...?

Для начала, в любом случае - в тех поддержку компании. С доказательствами (скрины, логи).

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 

Приветствую.

Подскажите, пожалуйста, возможно ли в принципе написание скрипта для переноса данных свечного графика в экселевский файл?

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