Ошибки, баги, вопросы - страница 3644

 

Видимо чуть ошиблись. Отклонение ма в пунктах вводится вещественным числом.

 
Прошу помочь разобраться в вопросе с советником. Вот у меня был советник, который работал на Форексе. То бишь, с плечом, как обычно. Работал по усреднению. С Форексом я неблагополучно завязал и перешел на фондовый рынок, к другому местному брокеру для покупки акций и ETF. Вопрос - есть ли на фондовом рынке какие то советники или что то, что тоже может следить за курсом, производить куплю-продажу по какому то алгоритму или это только мои фантазии ? Спасибо всем кто ответит за просвещение!
 
Oleg Kiss #:
Прошу помочь разобраться в вопросе с советником. Вот у меня был советник, который работал на Форексе. То бишь, с плечом, как обычно. Работал по усреднению. С Форексом я неблагополучно завязал и перешел на фондовый рынок, к другому местному брокеру для покупки акций и ETF. Вопрос - есть ли на фондовом рынке какие то советники или что то, что тоже может следить за курсом, производить куплю-продажу по какому то алгоритму или это только мои фантазии ? Спасибо всем кто ответит за просвещение!

Регулярно такие на заказ делаю.

 
Oleg Kiss #:
есть ли на фондовом рынке какие то советники или что то, что тоже может следить за курсом, производить куплю-продажу по какому то алгоритму

Если у брокера есть поддержка терминала MT4/MT5, то можете дальше использовать советники с некоторой модификацией.

Иначе у брокера может быть иной софт, поддерживающий встроенные языки программирования, или API для доступа к торговому окружению, тогда на многих языках можно писать советники.

 

"Задним числом" образовался гэп по многим валютным парам на демо серверах MQ - пропало полтора часа истории! Есть ли возможность исправить это?


 

Что именно синхронизировано если SERIES_SYNCHRONIZED возвращает true? На скриншоте ниже история синхронизирована не смотря на то, что ее нет.

#property indicator_plots 0

int OnInit() { return(INIT_SUCCEEDED); }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   static bool flag = false;
   if(flag)
      return rates_total;
   flag = true;
   //---
   test(PERIOD_H6);
   //---
   return rates_total;
  }

#define _boolToStr(a) ((a) ? "true" : "false")
void test(ENUM_TIMEFRAMES a_tf)
  {
   const bool syncBefore = SeriesInfoInteger(Symbol(), a_tf, SERIES_SYNCHRONIZED);
   MqlRates rates[1];
   ResetLastError();
   CopyRates(Symbol(), a_tf, 0, 1, rates);
   const int copyRatesError = _LastError;
   const bool syncAfter = SeriesInfoInteger(Symbol(), a_tf, SERIES_SYNCHRONIZED);
   PrintFormat("current bar %s, syncBefore %s, copyRatesError %i, syncAfter %s", TimeToString(rates[0].time),
               _boolToStr(syncBefore), copyRatesError, _boolToStr(syncAfter));
  }
 
Подскажите способ (без namespace), позволяющий избежать следующей ошибки (долго искал).
void OnStart()
{
  INPUT Input = {5};
  
  if (Input.StartHour == 5)
    Print(StartHour); // Хотел увидеть Input.StartHour, но по невнимательности написал без Input.
}

// Где-то в дебрях.
struct INPUT { int StartHour; };

// Где-то в дебрях.
enum ENUM { StartHour };


Расчет был на то, что переменной StartHour вне INPUT нет, поэтому в случае ошибки компилятор ругнется. Переменной и не было, но оказалось, что есть ENUM (без ALT+G не нашел бы).

 
Aleksey Vyazmikin #:

"Задним числом" образовался гэп по многим валютным парам на демо серверах MQ - пропало полтора часа истории! Есть ли возможность исправить это?


Опять дырки рисуют - зачем?


 
Aleksey Vyazmikin #:

Опять дырки рисуют - зачем?

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

Зачем создавать сообщения, которые на 100% (даже не 99.99%) не дадут обратной связи?!

 
fxsaber #:
Подскажите способ (без namespace), позволяющий избежать следующей ошибки

Тоже были проблемы.

У меня так:

enum MINMAXTYPE {
     MINMAXTYPE_NONE,
     MINMAXTYPE_MIN,
     MINMAXTYPE_MAX
};
enum DIVORCE_TYPE{
   DIVORCE_NONE = 0,
   DIVORCE_BUY = 1,
   DIVORCE_SELL = 2,
   DIVORCE_BAR = 4
};

В Canvas.mqh:

enum ENUM_LINE_END
  {
   LINE_END_ROUND,
   LINE_END_BUTT,
   LINE_END_SQUARE,
  };