Очень ценный развёрнутый и содержательный ответ-комментарий, советую вам же им же и воспользоваться...
По существу вопроса - никакой простой команды, которая после открытия ордера поверх вешает стандартный трэйлинг стоп не существует?
Простой команды не существует, в котбазе много готовых бесплатных решений трейлинга, поставьте советника в отдельном окне терминала что бы он следил за всеми ордерами и будет вам автоматический трейлинг.
Простой команды не существует, в котбазе много готовых бесплатных решений трейлинга, поставьте советника в отдельном окне терминала что бы он следил за всеми ордерами и будет вам автоматический трейлинг.
720105831: Не подскажите,товарищи,можно ли на один счёт подписать более одного сигнала?
А зачем? Лучше по отдельности, сделайте портфель. К примеру у вас 5 000 долларов, распределите по 1 000 на каждый счет. Это по 20% вашего депозита на каждого поставщика. Подумайте на сколько так удобней :) И подписывайтесь на мой сигнал :))
Здравствуйте. Пишу индикатор, который использует встроенный индикатор RSI, столкнулся с такой проблемой...
При смене таймфрейма, происходит выход за пределы массива. Выяснил, что данная проблема возникает по причине того, что при смене таймфрейма возникает ошибка в функции CopyBuffer, она не копирует элементы из хэндла индикатора. Вот часть кода, расположенная в пользовательской функции:
int h_rsi = iRSI(symbol, period_trade, period, PRICE_CLOSE); //возвращаем хэндл индикатора RSIif(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()) после сметы таймфрейма и получения хэндла индикатора выставлял, результат все тот же. Интересно то, что в момент поступления ошибки если перейти в компилятор и перекомпилировать файл, то индикатор работает (до следующей смены таймфрейма).
Здравствуйте. Пишу индикатор, который использует встроенный индикатор RSI, столкнулся с такой проблемой...
При смене таймфрейма, происходит выход за пределы массива. Выяснил, что данная проблема возникает по причине того, что при смене таймфрейма возникает ошибка в функции CopyBuffer, она не копирует элементы из хэндла индикатора. Вот часть кода, расположенная в пользовательской функции:
В первой строке цикла происходит ошибка: выход за пределы массива. При исполнении функции CopyBuffer (после смены таймфрейма) происходит ошибка, ее код 4806. Наличие данных в истории проверял, задержки времени (Sleep()) после сметы таймфрейма и получения хэндла индикатора выставлял, результат все тот же. Интересно то, что в момент поступления ошибки если перейти в компилятор и перекомпилировать файл, то индикатор работает (до следующей смены таймфрейма).
А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
Karputov Vladimir: А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
inputint Analyze_Bars= 300; //сколько баров в истории анализироватьENUM_TIMEFRAMES Period_Trade; //Период графикаstring Trade_Symbol; //СимволintOnInit()
{
Trade_Symbol=Symbol();
Period_Trade=Period();
Я понимаю, по кускам кода сложно чем либо помочь. Я готовлю статью по построению уровней сопротивления и поддержки, предварительно договорился с администратором Rashid Umarov, он сказал, что лучше написать код на mql5 (я программирую на mql4 и изначально индикатор был написан на этом языке). Интересно, что при первом запуске индикатора все идет нормально, вот:
А при смене таймфрейма происходит ошибка. Не хотелось бы прикреплять к статье недоработанный индикатор, хотя самое главное там это принцип его работы.
Вам я могу выслать весь код если хотите, буду признателен если поможете и укажите на ошибку.
Я понимаю, по кускам кода сложно чем либо помочь. Я готовлю статью по построению уровней сопротивления и поддержки, предварительно договорился с администратором Rashid Umarov, он сказал, что лучше написать код на mql5 (я программирую на mql4 и изначально индикатор был написан на этом языке). Интересно, что при первом запуске индикатора все идет нормально, вот:
А при смене таймфрейма происходит ошибка. Не хотелось бы прикреплять к статье недоработанный индикатор, хотя самое главное там это принцип его работы.
Вам я могу выслать весь код если хотите, буду признателен если поможете и укажите на ошибку.
Karputov Vladimir: А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
Я получаю хэндл индикатора из пользовательской функции не просто так, на mql4 у меня на основе этого написан мультивалютный советник, в функции OnTick() он перебирает символы. Думаю, читателям будет удобнее, если они также будут на основе индикатора делать советники, торгующие на разных валютах. Впрочем, я пробовал получать хэндл и в функции OnInit(), в результате возникала та же ошибка.
Очень ценный развёрнутый и содержательный ответ-комментарий, советую вам же им же и воспользоваться...
По существу вопроса - никакой простой команды, которая после открытия ордера поверх вешает стандартный трэйлинг стоп не существует?
Простой команды не существует, в котбазе много готовых бесплатных решений трейлинга, поставьте советника в отдельном окне терминала что бы он следил за всеми ордерами и будет вам автоматический трейлинг.
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
Простой команды не существует, в котбазе много готовых бесплатных решений трейлинга, поставьте советника в отдельном окне терминала что бы он следил за всеми ордерами и будет вам автоматический трейлинг.
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
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000$?
Не очень. Просадка слишком велика, и её очень много :)
Не подскажите,товарищи,можно ли на один счёт подписать более одного сигнала?
И подписывайтесь на мой сигнал :))
Не подскажите,товарищи,можно ли на один счёт подписать более одного сигнала?
Здравствуйте. Пишу индикатор, который использует встроенный индикатор RSI, столкнулся с такой проблемой...
При смене таймфрейма, происходит выход за пределы массива. Выяснил, что данная проблема возникает по причине того, что при смене таймфрейма возникает ошибка в функции CopyBuffer, она не копирует элементы из хэндла индикатора. Вот часть кода, расположенная в пользовательской функции:
В первой строке цикла происходит ошибка: выход за пределы массива. При исполнении функции CopyBuffer (после смены таймфрейма) происходит ошибка, ее код 4806. Наличие данных в истории проверял, задержки времени (Sleep()) после сметы таймфрейма и получения хэндла индикатора выставлял, результат все тот же. Интересно то, что в момент поступления ошибки если перейти в компилятор и перекомпилировать файл, то индикатор работает (до следующей смены таймфрейма).
Здравствуйте. Пишу индикатор, который использует встроенный индикатор RSI, столкнулся с такой проблемой...
При смене таймфрейма, происходит выход за пределы массива. Выяснил, что данная проблема возникает по причине того, что при смене таймфрейма возникает ошибка в функции CopyBuffer, она не копирует элементы из хэндла индикатора. Вот часть кода, расположенная в пользовательской функции:
В первой строке цикла происходит ошибка: выход за пределы массива. При исполнении функции CopyBuffer (после смены таймфрейма) происходит ошибка, ее код 4806. Наличие данных в истории проверял, задержки времени (Sleep()) после сметы таймфрейма и получения хэндла индикатора выставлял, результат все тот же. Интересно то, что в момент поступления ошибки если перейти в компилятор и перекомпилировать файл, то индикатор работает (до следующей смены таймфрейма).
А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?
Я понимаю, по кускам кода сложно чем либо помочь. Я готовлю статью по построению уровней сопротивления и поддержки, предварительно договорился с администратором Rashid Umarov, он сказал, что лучше написать код на mql5 (я программирую на mql4 и изначально индикатор был написан на этом языке). Интересно, что при первом запуске индикатора все идет нормально, вот:
А при смене таймфрейма происходит ошибка. Не хотелось бы прикреплять к статье недоработанный индикатор, хотя самое главное там это принцип его работы.
Вам я могу выслать весь код если хотите, буду признателен если поможете и укажите на ошибку.
Я понимаю, по кускам кода сложно чем либо помочь. Я готовлю статью по построению уровней сопротивления и поддержки, предварительно договорился с администратором Rashid Umarov, он сказал, что лучше написать код на mql5 (я программирую на mql4 и изначально индикатор был написан на этом языке). Интересно, что при первом запуске индикатора все идет нормально, вот:
А при смене таймфрейма происходит ошибка. Не хотелось бы прикреплять к статье недоработанный индикатор, хотя самое главное там это принцип его работы.
Вам я могу выслать весь код если хотите, буду признателен если поможете и укажите на ошибку.
А как Вы получаете значение переменных "bars", "symbol" и "period_trade"?