Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1127
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем добрый день, может кто помочь добавить сюда что бы при SL был не просто переворот а еще добавлял лот или несколько. И как срабатывает TP возвращался обратно на один лот.
1. Категорически не советую пользовать функции, которые выбирают позицию ПО СИМВОЛУ. Используйте функции выбирающие позицию по индексу в списке.
2. Чтобы знать как была закрыта позиция, необходимо в OnTradeTransaction смотреть перечисление ENUM_DEAL_REASON
Пример с ENUM_DEAL_REASON:
Stop Loss Take Profit
CodeBase | 2017.07.13 07:42 | Vladimir Karputov | Советники | MetaTrader 5
Возможно ли как то в стороннюю программу ввести данные для входа в счет и управлять им, ну открываться/закрывать позиции?
Или это только через робота, который установлен на счете?
Перевожу индикаторы из MQL4 в MQL5, вопрос по буферам и "plots". В индикаторе задаётся 2 буфера и 1 plot:
#property indicator_buffers 2
#property indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Array2,INDICATOR_DATA);
Если первый буфер используется для вычислений и пр., а рисоваться должен второй буфер, то:
во-первых, нужно ли задавать для первого буфера DRAW_NONE, если в функции SetIndexBuffer() ему уже задано INDICATOR_CALCULATIONS ?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE);
во-вторых, какой индекс задавать в функции PlotIndexSetInteger() вместо знака вопроса (?), если рисоваться должен только второй буфер?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM);
в третьих, если я использую два стиля типа DRAW_HISTOGRAM, то могу каждому задать цвет и получу гисторгамму как в индикаторе Volumes, где чередуются зелёные и красные столбики, а если буду использовать DRAW_HISTOGRAM 2, то смогу ли я задать так же два цвета одному столбику или для этого стиля задаётся только один цвет?
Перевожу индикаторы из MQL4 в MQL5, вопрос по буферам и "plots". В индикаторе задаётся 2 буфера и 1 plot:
#property indicator_buffers 2
#property indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Array2,INDICATOR_DATA);
Если первый буфер используется для вычислений и пр., а рисоваться должен второй буфер, то:
во-первых, нужно ли задавать для первого буфера DRAW_NONE, если в функции SetIndexBuffer() ему уже задано INDICATOR_CALCULATIONS ?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE);
во-вторых, какой индекс задавать в функции PlotIndexSetInteger() вместо знака вопроса (?), если рисоваться должен только второй буфер?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM);
в третьих, если я использую два стиля типа DRAW_HISTOGRAM, то могу каждому задать цвет и получу гисторгамму как в индикаторе Volumes, где чередуются зелёные и красные столбики, а если буду использовать DRAW_HISTOGRAM 2, то смогу ли я задать так же два цвета одному столбику или для этого стиля задаётся только один цвет?
А зачем так над собой издеваться? В чём проблема назначить сначала отображаемые буферы, а потом вспомогательные?
Для DRAW_HISTOGRAМ2 задаётся 3 буфера и обязательная последовательность, сначала 2 буфера значений и следом за ними буфер цвета. Но между DRAW_HISTOGRAМ и DRAW_HISTOGRAМ2 существует такая разница, что DRAW_HISTOGRAМ рисуется от нуля до значения в буфере, а DRAW_HISTOGRAМ2 рисуется от значения одного буфера до значения другого буфера.
А зачем так над собой издеваться? В чём проблема назначить сначала отображаемые буферы, а потом вспомогательные?
Особенность алгоритма, вспомогательных буферов всегда фиксированное количество, а отображаемых разное количество. Пожалуйста ответьте на вопрос из предыдущего сообщения о том, как правильно это всё указывается?
Для DRAW_HISTOGRAМ2 задаётся 3 буфера и обязательная последовательность, сначала 2 буфера значений и следом за ними буфер цвета. Но между DRAW_HISTOGRAМ и DRAW_HISTOGRAМ2 существует такая разница, что DRAW_HISTOGRAМ рисуется от нуля до значения в буфере, а DRAW_HISTOGRAМ2 рисуется от значения одного буфера до значения другого буфера.
Из описания DRAW_HISTOGRAМ2 по ссылке https://www.mql5.com/ru/docs/customind/indicators_examples/draw_histogram2 :
"Количество требуемых буферов для построения DRAW_HISTOGRAM2 — 2."
Откуда тогда взяться третьему буферу? И в примере по той же ссылке всего два буфера, но не указано, можно ли чередовать цвета так же, как с обычным DRAW_HISTOGRAМ?Особенность алгоритма, вспомогательных буферов всегда фиксированное количество, а отображаемых разное количество. Пожалуйста ответьте на вопрос из предыдущего сообщения о том, как правильно это всё указывается?
Из описания DRAW_HISTOGRAМ2 по ссылке https://www.mql5.com/ru/docs/customind/indicators_examples/draw_histogram2 :
"Количество требуемых буферов для построения DRAW_HISTOGRAM2 — 2."
Откуда тогда взяться третьему буферу? И в примере по той же ссылке всего два буфера, но не указано, можно ли чередовать цвета так же, как с обычным DRAW_HISTOGRAМ?Да, извините за недостаточную внимательность. Я имел ввиду DRAW_COLOR_HISTOGRAM2 и DRAW_COLOR_HISTOGRAM
Особенность алгоритма, вспомогательных буферов всегда фиксированное количество, а отображаемых разное количество. Пожалуйста ответьте на вопрос из предыдущего сообщения о том, как правильно это всё указывается?
Я никогда так над собой не издевался. Если есть желание, экспериментируйте.
Как правильно задавать цвета функцией PlotIndexSetInteger() ?
Когда указываю
#property indicator_color3 clrRed,clrGreen
то цвета задаются нормально, а когда задаю через функцию
PlotIndexSetInteger(2,PLOT_LINE_COLOR,0,clrRed);
PlotIndexSetInteger(2,PLOT_LINE_COLOR,1,clrGreen);
то первый цвет линии красный, а второй (и последующие) почему-то чёрный (по умолчанию) вместо зелёного.
Как правильно задавать цвета функцией PlotIndexSetInteger() ?
Когда указываю
#property indicator_color3 clrRed,clrGreen
то цвета задаются нормально, а когда задаю через функцию
PlotIndexSetInteger(2,PLOT_LINE_COLOR,0,clrRed);
PlotIndexSetInteger(2,PLOT_LINE_COLOR,1,clrGreen);
то первый цвет линии красный, а второй почему-то чёрный (по умолчанию) вместо зелёного.
А зачем модификатор туда вставили?