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

 
entitie:

Очень ценный развёрнутый и содержательный ответ-комментарий, советую вам же им же и воспользоваться...

 

По существу вопроса - никакой простой команды, которая после открытия ордера поверх вешает стандартный трэйлинг стоп не существует? 

Простой команды не существует, в котбазе много готовых бесплатных решений трейлинга, поставьте советника в отдельном окне терминала что бы он следил за всеми ордерами и будет вам автоматический трейлинг.

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3&module=mql5_module_codebase

 
Kino:

Простой команды не существует, в котбазе много готовых бесплатных решений трейлинга, поставьте советника в отдельном окне терминала что бы он следил за всеми ордерами и будет вам автоматический трейлинг.

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3&module=mql5_module_codebase

Спасибо за ответ, теперь хоть буду знать, а то бесполезно документацию рыть занятие малоприятное. Поисковики только на советников кидают.
 
alph:
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000$?  


Не очень. Просадка слишком велика, и её очень много :)
 
720105831:
Не подскажите,товарищи,можно ли на один счёт подписать более одного сигнала?
А зачем? Лучше по отдельности, сделайте портфель. К примеру у вас 5 000 долларов, распределите по 1 000 на каждый счет. Это по 20% вашего депозита на каждого поставщика.  Подумайте на сколько так удобней :) 
И подписывайтесь на мой сигнал :))
 
alexey frolov:
Не подскажите,товарищи,можно ли на один счёт подписать более одного сигнала?
Нет, только 1 сигнал на 1 счет.  Можно обходным путем используя копировщики.
 

Здравствуйте. Пишу индикатор, который использует встроенный индикатор RSI, столкнулся с такой проблемой...

 При смене таймфрейма, происходит выход за пределы массива. Выяснил, что данная проблема возникает по причине того, что при смене таймфрейма возникает ошибка в функции CopyBuffer, она не копирует элементы из хэндла индикатора. Вот часть кода, расположенная в пользовательской функции:

int h_rsi = iRSI(symbol, period_trade, period, PRICE_CLOSE);  //возвращаем хэндл индикатора RSI
   if(CopyBuffer(h_rsi, 0, 0, bars, m_rsi)<bars)                 //заполняем массив с данными индикатора RSI
     {
      Print("Не удалось скопировать буфер индикатора!");
     }
   for(int i=0;i<=bars;i++) //цикл по барам
     {
      double rsi = m_rsi[i];
.....

 В первой строке цикла происходит ошибка: выход за пределы массива. При исполнении функции CopyBuffer  (после смены таймфрейма) происходит ошибка, ее код 4806. Наличие данных в истории проверял, задержки времени (Sleep()) после сметы таймфрейма и получения хэндла индикатора выставлял, результат все тот же. Интересно то, что в момент поступления ошибки если перейти в компилятор и перекомпилировать файл, то индикатор работает (до следующей смены таймфрейма). 

 
ALEKSANDR TELEGUZ:

Здравствуйте. Пишу индикатор, который использует встроенный индикатор RSI, столкнулся с такой проблемой...

 При смене таймфрейма, происходит выход за пределы массива. Выяснил, что данная проблема возникает по причине того, что при смене таймфрейма возникает ошибка в функции CopyBuffer, она не копирует элементы из хэндла индикатора. Вот часть кода, расположенная в пользовательской функции:

 В первой строке цикла происходит ошибка: выход за пределы массива. При исполнении функции CopyBuffer  (после смены таймфрейма) происходит ошибка, ее код 4806. Наличие данных в истории проверял, задержки времени (Sleep()) после сметы таймфрейма и получения хэндла индикатора выставлял, результат все тот же. Интересно то, что в момент поступления ошибки если перейти в компилятор и перекомпилировать файл, то индикатор работает (до следующей смены таймфрейма). 

А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
 
Karputov Vladimir:
А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
input int Analyze_Bars= 300; //сколько баров в истории анализировать

ENUM_TIMEFRAMES Period_Trade; //Период графика
string Trade_Symbol;          //Символ

int OnInit()
  {
   Trade_Symbol=Symbol();
   Period_Trade=Period();

Я понимаю, по кускам кода сложно чем либо помочь. Я готовлю статью по построению уровней сопротивления и поддержки, предварительно договорился с администратором Rashid Umarov, он сказал, что лучше написать код на mql5 (я программирую на mql4  и изначально индикатор был написан на этом языке). Интересно, что при первом запуске индикатора все идет нормально, вот:

Результат работы индикатора 

 А при смене таймфрейма происходит ошибка. Не хотелось бы прикреплять к статье недоработанный индикатор, хотя самое главное там это принцип его работы.

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

 
ALEKSANDR TELEGUZ:

Я понимаю, по кускам кода сложно чем либо помочь. Я готовлю статью по построению уровней сопротивления и поддержки, предварительно договорился с администратором Rashid Umarov, он сказал, что лучше написать код на mql5 (я программирую на mql4  и изначально индикатор был написан на этом языке). Интересно, что при первом запуске индикатора все идет нормально, вот:

 

 А при смене таймфрейма происходит ошибка. Не хотелось бы прикреплять к статье недоработанный индикатор, хотя самое главное там это принцип его работы.

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

Высылайте.
 
Karputov Vladimir:
А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
Я получаю хэндл индикатора из пользовательской функции не просто так, на mql4 у меня на основе этого написан мультивалютный советник, в функции OnTick() он перебирает символы. Думаю, читателям будет удобнее, если они также будут на основе индикатора делать советники, торгующие на разных валютах. Впрочем, я пробовал получать хэндл и в функции OnInit(), в результате возникала та же ошибка.
Причина обращения: