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

 
Juer:

А почему с тем же файлом я получаю ошибку 5004 в тестере, а при отладке на реальных данных всё нормально?

Вы не даёте полной картины. Из Вас приходится вытягивать клещами информацию.

Попытайтесь грамотно ОПИСАТЬ ситуацию. Предоставить КОД который можно ЗАПУСТИТЬ. 

 

С FILE_COMMON проходит без ошибки и на реалных данных, и в тестере.

 

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

 bool l=OrderCalcMargin(ORDER_TYPE_BUY,Symbol(),Lts,SymbolInfoDouble(Symbol(),SYMBOL_ASK),Margin);

     Alert(l);

а то у меня функция возвращает false

 
Fast528:

мне надо чтобы индикатор на графике отображал позиции входа/выхода и линию рисовал между ними,  на периоде Сегодня минус 1 день к примеру, как обычно делают в индикаторе или роботе?

Не понял какая связь меду изначальным вопросом и линиями. Сегодня минус 1 день можно назначить несколькими вариантами. или вопрос в другом?
 
Alexey Viktorov:
Не понял какая связь меду изначальным вопросом и линиями. Сегодня минус 1 день можно назначить несколькими вариантами. или вопрос в другом?

ты спросил для чего переменная time? вот смотрю как задать расчет "Дата сервера" минус 1-2 день

а так конечно  был вопрос и в чем разница тех двух вариантов заполнения Структуры, 

MqlDateTime dt;
TimeTradeServer(dt);

и

MqlDateTime tm;
TimeToStruct(TimeTradeServer(),tm);
 
Fast528:

ты спросил для чего переменная time? вот смотрю как задать расчет "Дата сервера" минус 1-2 день

а так конечно  был вопрос и в чем разница тех двух вариантов заполнения Структуры, 

Ну, если только заполнение структуры, то вряд-ли будет какая-то разница.

А зачем определять время сервера через время локального компьютера? Чем не нравится TimeCurrent() и от него плясать?

 
С TimeTradeServer на выходных удобней экспериментировать с диапазонами торговли
 

Код

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   for(int i=0;i<=21;i++)
     {
      Print("Timeframe: "+EnumToString((ENUM_TIMEFRAMES)i));
     }
  }

Даёт такой результат:

2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_CURRENT
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M1
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M2
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M3
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M4
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M5
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M6
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::7
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::8
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::9
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M10
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::11
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M12
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::13
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::14
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M15
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::16
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::17
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::18
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::19
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M20
2018.09.17 00:59:59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES::21
Что я делаю не так?
 
Juer:

Код

Даёт такой результат:

Что я делаю не так?

Вы не проходите по всем членам перечесиления. По встроенным перечислениям нельзя пройтись аки по массиву - типа от "0" и до "конца". Для обращения к встроенным перечислениям нужно обращаться непосредственно к каждому члену перечисления корректно. Например так:

//+------------------------------------------------------------------+
//|                                              ENUM_TIMEFRAMES.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("PERIOD_CURRENT ",PERIOD_M1,"\n",
         "PERIOD_M2 ",PERIOD_M2,"\n",
         "PERIOD_M3 ",PERIOD_M3,"\n",
         "PERIOD_M4 ",PERIOD_M4,"\n",
         "PERIOD_M5 ",PERIOD_M5,"\n",
         "PERIOD_M6 ",PERIOD_M6,"\n",
         "PERIOD_M10 ",PERIOD_M10,"\n",
         "PERIOD_M12 ",PERIOD_M12,"\n",
         "PERIOD_M15 ",PERIOD_M15,"\n",
         "PERIOD_M20 ",PERIOD_M20,"\n",
         "PERIOD_M30 ",PERIOD_M30,"\n",
         "PERIOD_H1 ",PERIOD_H1,"\n",
         "PERIOD_H2 ",PERIOD_H2,"\n",
         "PERIOD_H3 ",PERIOD_H3,"\n",
         "PERIOD_H4 ",PERIOD_H4,"\n",
         "PERIOD_H6 ",PERIOD_H6,"\n",
         "PERIOD_H8 ",PERIOD_H8,"\n",
         "PERIOD_H12 ",PERIOD_H12,"\n",
         "PERIOD_D1 ",PERIOD_D1,"\n",
         "PERIOD_W1 ",PERIOD_W1,"\n",
         "PERIOD_MN1 ",PERIOD_MN1,"\n");
  }
//+------------------------------------------------------------------+
Файлы:
 
Vladimir Karputov:

Вы не проходите по всем членам перечесиления. По встроенным перечислениям нельзя пройтись аки по массиву - типа от "0" и до "конца". Для обращения к встроенным перечислениям нужно обращаться непосредственно к каждому члену перечисления корректно. Например так:

Кто бы мог подумать...