подскажите пожалуйста как правильно сделать. у меня сложная функция расчета ММ и в одной части при расчете лота функция возвращает например что максимальный лот возможный сейчас это 0.18 а на счете возможно открыть либо 0.1, 0.2, 0.3 то есть шаг 0.1
если я нормализую лот он округляется до 0.2 и ордер уже не допускается хотя макс. допустимый это 0.18 - вопрос, как правильно округлять в меньшую сторону или правильно нормализовать лот?"
Попробуйте переделать для себя эту ф-ию в подобной конструкции...
Профи, прошу о помощи! Установил советник на 4 валютах в одном терминале, но открывает сделки только по 1 из валют. В чем может быть причина? Как добиться работы по 4 валютам одновременно?
Т.е. у Вас будет примерно так: Lots_New = MathFloor(0.18/0.1)*0.1; Результатом вычисления MathFloor(0.18/0.1) будет число 1.0, а вычисленным значением переменной Lots_New - число 0.1 лота. Это значение соответствует правилам, установленным дилинговым центром, поэтому его можно использовать как заявляемое количество лотов для новых ордеров - это уже как Вам и надо...
"...:-))) ...прошу о помощи! Установил советник на 4 валютах в одном терминале, но открывает сделки только по 1 из валют. В чем может быть причина? Как добиться работы по 4 валютам одновременно?"
Для начала определитесь с понятием "одновременности"... :-))) Т.к. в любом случае при открытии ордеров они встают в очередь, т.е. при одинаковых запросах советника на открытие ордера - один будет открыт раньше другого.
Возможно у Вас необходимо явно прописать торгуемый инструмент в первой переменной - "Symbol()" ф-ии OrderSend()...
Помогите посчитать просадки :) Допустим у меня есть 3 МТС, просадки примерно такие: 1 - 10% 2 - 15% 3 - 30% Одновмеременно они работают на одном счету, но стоит ограничение на количество открытых позиций, т.е. одновременно только один открытый ордер, риск в одной сделке - 3%, вопрос : Какова сумарная просадка? Как это посчитать )
Roman! Я установил один советник на 4 валютах одного терминала. Но при наличии сигнала открытия на всех валютах, советник открывается только на одной из них.
Я предположил, что проблема в magic-number и поставил 4 одинаковых советника с разными magicami на 4 валюты. Но результата это не принесло :( Открывает 1 ордер на 1 из валют, а сигнал на открытие есть на 3 из них. Заранее спасибо за помощь!
Roman! Я установил один советник на 4 валютах одного терминала. Но при наличии сигнала открытия на всех валютах, советник открывается только на одной из них.
Я предположил, что проблема в magic-number и поставил 4 одинаковых советника с разными magicami на 4 валюты. Но результата это не принесло :( Открывает 1 ордер на 1 из валют, а сигнал на открытие есть на 3 из них. Заранее спасибо за помощь!
Явно!!! пишите торгуемый инструмент в первой переменной - "Symbol()" ф-ии OrderSend()... и замените свою ф-ию открытия ордеров на эту.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
"T-G 10.10.2011 10:33
подскажите пожалуйста как правильно сделать. у меня сложная функция расчета ММ и в одной части при расчете лота функция возвращает например что максимальный лот возможный сейчас это 0.18 а на счете возможно открыть либо 0.1, 0.2, 0.3 то есть шаг 0.1
если я нормализую лот он округляется до 0.2 и ордер уже не допускается хотя макс. допустимый это 0.18 - вопрос, как правильно округлять в меньшую сторону или правильно нормализовать лот?"
Попробуйте переделать для себя эту ф-ию в подобной конструкции...
П.С. Кнопка форума "Ответить" не работает...
2T-G
Т.е. у Вас будет примерно так: Lots_New = MathFloor(0.18/0.1)*0.1;
Результатом вычисления MathFloor(0.18/0.1) будет число 1.0, а вычисленным значением переменной Lots_New - число 0.1 лота. Это значение соответствует правилам, установленным дилинговым центром, поэтому его можно использовать как заявляемое количество лотов для новых ордеров - это уже как Вам и надо...
skyjet 10.10.2011 11:22
"...:-))) ...прошу о помощи! Установил советник на 4 валютах в одном терминале, но открывает сделки только по 1 из валют. В чем может быть причина? Как добиться работы по 4 валютам одновременно?"
Для начала определитесь с понятием "одновременности"... :-))) Т.к. в любом случае при открытии ордеров они встают в очередь, т.е. при одинаковых запросах советника на открытие ордера - один будет открыт раньше другого.
Возможно у Вас необходимо явно прописать торгуемый инструмент в первой переменной - "Symbol()" ф-ии OrderSend()...
Допустим у меня есть 3 МТС, просадки примерно такие:
1 - 10%
2 - 15%
3 - 30%
Одновмеременно они работают на одном счету, но
стоит ограничение на количество открытых позиций, т.е.
одновременно только один открытый ордер, риск в одной сделке - 3%, вопрос :
Какова сумарная просадка? Как это посчитать )
Roman! Я установил один советник на 4 валютах одного терминала. Но при наличии сигнала открытия на всех валютах, советник открывается только на одной из них.
Я предположил, что проблема в magic-number и поставил 4 одинаковых советника с разными magicami на 4 валюты. Но результата это не принесло :( Открывает 1 ордер на 1 из валют, а сигнал на открытие есть на 3 из них. Заранее спасибо за помощь!
На тестере пробовали?
OrdersTotal() ==0 в условии юзали?
Roman! Я установил один советник на 4 валютах одного терминала. Но при наличии сигнала открытия на всех валютах, советник открывается только на одной из них.
Я предположил, что проблема в magic-number и поставил 4 одинаковых советника с разными magicami на 4 валюты. Но результата это не принесло :( Открывает 1 ордер на 1 из валют, а сигнал на открытие есть на 3 из них. Заранее спасибо за помощь!
Явно!!! пишите торгуемый инструмент в первой переменной - "Symbol()" ф-ии OrderSend()... и замените свою ф-ию открытия ордеров на эту.
Подскажите, почему не работает функция для закрытия последнего открытого BUY ордера.. вот её код: