Вопросы по MQL5

  • Автор темы Автор темы chocolate
  • Дата начала Дата начала

eevviill2

Местный знаток
Не хочу рекламировать это го.но, но в МТ5 появилась возможность хеджировать.
 

eevviill2

Местный знаток
Неужели :oops:, тогда ппц, рынку с МТ4 :laugh: сколько воплей скоро буудеттт ;)
Уже с начала лета. Нету воплей.
Реально. Переписывал индкатор на МТ5. Это ужассс! Писать не торговым языком програмирования. И сама работа индикатора намного медленее.
 

ВладимирВ

Прохожий
Требуется помощь и по советнику и по индикатору

Есть такой индикатор super_trend_averages.mq5
Надо взять из него данные и использовать в работе советника



double zig0=0,zig1=0;

Пробую разные варианты - данные отсутствуют (-1 или 10 в строке комментария)
Нужна помощь по iCustom (Советник работает на H4 данные надо из D1)


Zig0=iCustom(Symbol(),Period(),"Examples\\super_trend_averages",0); // вызываем из буфера 0
Zig1=iCustom(Symbol(),Period(),"Examples\\super_trend_averages",1); // вызываем из буфера 1

Zig0=iCustom(Symbol(),Period(),"Examples\\super_trend_averages",12,"Hull","median",12,0.66,0); // вызываем из буфера 0
Zig1=iCustom(Symbol(),Period(),"Examples\\super_trend_averages",12,"Hull","median",12,0.66,1); // вызываем из буфера 1



Zig0=iCustom(Symbol(),PERIOD_D1,"Examples\\super_trend_averages",12,"Hull","median",12,0.66,0); // вызываем из буфера 0
Zig1=iCustom(Symbol(),PERIOD_D1,"Examples\\super_trend_averages",12,"Hull","median",12,0.66,1); // вызываем из буфера 1



Comment("\n Lots: ",ExtLots,

"\n Zig: ",Zig0," ",Zig1);

И еще помогите zigzagzug.mq4 перевести на mq5
 

Вложения

maverick_bg

Прохожий
Нужна помощь

Всем добрый день.
Есть советник и индикатор. Просьба к знающим людям, посмотрите индикатор, очень медленный, как исправить не могу понять. А в советнике прикрутить trailing-stop. При оптимизации дает неплохие результаты, может кому и пригодится.
 

Вложения

star603

Новичок форума
Код:
void OnTick()
  {
//---
   Comment(RegimTorgovli());
  }
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
  {
   string rt;
   switch(GetLastError())
     {
      case 0:
         rt="Нет ошибок";
      case 10017:
         rt="Торговля запрещена";
         break;
      case 10042:
         rt="Разрешены только длинные позиции";
         break;
      case 10043:
         rt="Разрешены только короткие позиции";
         break;
      case 10044:
         rt = "Разрешено только закрывать существующие позиции";
         break;
      case 10045:
         rt = "Разрешено закрывать существующие позиции только по правилу FIFO" ;
         break;
     }
   return(rt);
  }

Почему так то?
 

Вложения

  • Безымянный123.png
    Безымянный123.png
    198,6 КБ · Просмотры: 15

AlexeyVik

Программист mql4 mql5
Код:
void OnTick()
  {
//---
   Comment(RegimTorgovli());
  }
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
  {
   string rt;
   switch(GetLastError())
     {
      case 0:
         rt="Нет ошибок";
      case 10017:
         rt="Торговля запрещена";
         break;
      case 10042:
         rt="Разрешены только длинные позиции";
         break;
      case 10043:
         rt="Разрешены только короткие позиции";
         break;
      case 10044:
         rt = "Разрешено только закрывать существующие позиции";
         break;
      case 10045:
         rt = "Разрешено закрывать существующие позиции только по правилу FIFO" ;
         break;
     }
   return(rt);
  }

Почему так то?
Потому, что break только после "Торговля запрещена";
Код:
      case 0:
         rt="Нет ошибок";
      case 10017:
         rt="Торговля запрещена";
         break;
 

star603

Новичок форума
Потому, что break только после "Торговля запрещена";
Код:
      case 0:
         rt="Нет ошибок";
      case 10017:
         rt="Торговля запрещена";
         break;
Код:
void OnTick()
  {
//---
   Comment(RegimTorgovli());
  }
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
  {
   string rt;
   switch(GetLastError())
     {
      case 0:
         rt="Нет ошибок";
      case 10017:
         rt="Торговля запрещена";         
      case 10042:
         rt="Разрешены только длинные позиции";
      case 10043:
         rt="Разрешены только короткие позиции";
      case 10044:
         rt = "Разрешено только закрывать существующие позиции";
      case 10045:
         rt = "Разрешено закрывать существующие позиции только по правилу FIFO";
     }
   return(rt);
  }
Сейчас выдает "Разрешено закрывать существующие позиции только по правилу FIFO";
хотя в спецификации написано полная торговля.
 

AlexeyVik

Программист mql4 mql5
Код:
void OnTick()
  {
//---
   Comment(RegimTorgovli());
  }
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
  {
   string rt;
   switch(GetLastError())
     {
      case 0:
         rt="Нет ошибок";
      case 10017:
         rt="Торговля запрещена";        
      case 10042:
         rt="Разрешены только длинные позиции";
      case 10043:
         rt="Разрешены только короткие позиции";
      case 10044:
         rt = "Разрешено только закрывать существующие позиции";
      case 10045:
         rt = "Разрешено закрывать существующие позиции только по правилу FIFO";
     }
   return(rt);
  }
Сейчас выдает "Разрешено закрывать существующие позиции только по правилу FIFO";
хотя в спецификации написано полная торговля.
Ты зачем удалил все строки break?
Давно я не читал твоих вопросов, подумал за это время ты научился хоть чуток думать, раз начал освоение MQL5, но я ошибся. Ухожу на пенсию повторно. Больше я тебе отвечать не буду.
 

star603

Новичок форума
Ты зачем удалил все строки break?
Давно я не читал твоих вопросов, подумал за это время ты научился хоть чуток думать, раз начал освоение MQL5, но я ошибся. Ухожу на пенсию повторно. Больше я тебе отвечать не буду.
Все испраил теперь выдает нет ошибок. Что правильно при полной торговле.
 

star603

Новичок форума
Код:
int  iMA(
   string               symbol,            // имя символа
   ENUM_TIMEFRAMES      period,            // период
   int                  ma_period,         // период усреднения
   int                  ma_shift,          // смещение индикатора по горизонтали
   ENUM_MA_METHOD       ma_method,         // тип сглаживания
   ENUM_APPLIED_PRICE   applied_price      // тип цены или handle
   );
Почему так если значение индикатора дабл?
 

AlexeyVik

Программист mql4 mql5
один я точно не выплыву
Не нарывайся… Пока я не скажу какая субстанция не тонет…
Вопрос: Почему проверку ведёшь по ошибке, а не по свойству символа SYMBOL_TRADE_MODE которое можно получить до отправки запроса…
Информация об инструменте
SYMBOL_TRADE_MODE_DISABLEDТорговля по символу запрещена
SYMBOL_TRADE_MODE_LONGONLYРазрешены только покупки
SYMBOL_TRADE_MODE_SHORTONLYРазрешены только продажи
SYMBOL_TRADE_MODE_CLOSEONLYРазрешены только операции закрытия позиций
SYMBOL_TRADE_MODE_FULLНет ограничений на торговые операции
 

star603

Новичок форума
Не нарывайся… Пока я не скажу какая субстанция не тонет…
Вопрос: Почему проверку ведёшь по ошибке, а не по свойству символа SYMBOL_TRADE_MODE которое можно получить до отправки запроса…
Информация об инструменте
SYMBOL_TRADE_MODE_DISABLEDТорговля по символу запрещена
SYMBOL_TRADE_MODE_LONGONLYРазрешены только покупки
SYMBOL_TRADE_MODE_SHORTONLYРазрешены только продажи
SYMBOL_TRADE_MODE_CLOSEONLYРазрешены только операции закрытия позиций
SYMBOL_TRADE_MODE_FULLНет ограничений на торговые операции
Потому что среди ошибок нашел то что нужно.

Вот новая версия:

Код:
void OnTick()
  {
//---
   Comment(RegimTorgovli());
  }
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
  {
   string rt;
   switch((int)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_MODE))
     {
      case 0:
         rt ="Торговля по символу запрещена";
         break;
      case 1:
         rt ="Разрешены только покупки";
         break;
      case 2:
         rt ="Разрешены только продажи";
         break;
      case 3:
         rt ="Разрешены только операции закрытия позиций";
         break;
      case 4:
         rt ="Нет ограничений на торговые операции";
         break;
     }
   return(rt);
  }
Код:
 

star603

Новичок форума
Как вернуть час, минуты и секунды в mql5?(отдельно каждый)
 

star603

Новичок форума
я планирую из своих кодом в свои соц сети выкладывать потом.
 

Ugar

Гуру форума
Чёт давно не писал индюков с гистограммами. Вопрос по индикаторным буферам.
Хочу несколько гистограмм одна на другой. Но что бы на каждом баре менять порядок расположения.
Например 4 буфера, на заднем плане 4 буфер, потом 2, потом 1, и на переднем 3. На другом баре в другом порядке. Это вообще возможно?
 

< Скальпер >

Активный участник
Кто подскажет почему результаты тестирования в тестере МТ5 на домашнем ПК получаются совершенно другими нежели если тестировать на ВПС?
На ВПС сделок получается почему-то меньше.
Совершенно не понимаю как такое может быть...
 
Верх