Какое-то времяпытаюсьпеределатьблок закрытиеbuy позиции чтобы закрыть только две последниеbuy позиции, но не получается. Можете подсказатькакпеределатьблок?
Наверное я не правильно сформулировал, что нужно :(
Есть есть алгоритм открытия ордеров.
Нужно, чтобы при любом варианте закрытия последнего ордера, следующий открывался в другом направлении ( при появлении условий соответственно).
Все работает, но если закрылся по стоп лосс, например по sell, а условия на открытие по sell в данном направлении есть, то открытия продолжаются. А надо, что бы ждал условий на buy.
То есть, нужна проверка последнего закрытого ордера, что бы он не совпадал с открывающимся (чередование buy-sell-buy-sell). В работе только один ордер или ожидание сигнала.
Понимаю, что скорее всего надо через OrdersHistoryTotal(), но как это может выглядеть в работающем советнике ?
Нужно, чтобы при любом варианте закрытия последнего ордера, следующий открывался в другом направлении ( при появлении условий соответственно).
То есть, нужна проверка последнего закрытого ордера, что бы он не совпадал с открывающимся (чередование buy-sell-buy-sell). В работе только один ордер или ожидание сигнала.
Чередование происходит всегда и в любом случае, и в работе всегда только один ордер?
Проблема в следующем: так как у вас в этой функции нет OrderSelect(), видимо она используется где то в цикле с перебором ордеров. Если этот цикл организует перебор от нулевого ордера к последнему, то после модификации первого ордера или если на этом тике например был зарыт какой либо ордер при следующем вызове ф-и OrderSelect() порядок следования ордеров меняется и функция может выбрать для модификации ордер, который уже модифицирован. Поэтому надо проверять не равно ли значение стоплосса ордера тому, которое мы передаем в функцию OrderModify()
нет, проблема со сменой порядкового номера позиции при закрытии одной из них решена, я проверял не раз, думая, что может быть ошибка в этом, но там всё в порядке выбирается нужный ордер и стоплоз вычисляется для него правильно, но ордер не хочет модифицироваться..
Какое-то времяпытаюсьпеределатьблок закрытиеbuy позиции чтобы закрыть только две последниеbuy позиции, но не получается. Можете подсказатькакпеределатьблок?
Проще, и удобнее, сделать функцию(блок) закрытия одной последней позиции. А запускать её дважды. В цикле, или просто подряд.
Какое-то времяпытаюсьпеределатьблок закрытиеbuy позиции чтобы закрыть только две последниеbuy позиции, но не получается. Можете подсказатькакпеределатьблок?
Какое-то время назад я Вам давал алгоритм решения поиска последних позиций. А что потом с ними делать НЕ ВАЖНО: считать, удалять, модифицировать СТОПы. Если Вы не в состоянии писать код хотя бы "по образу и подобию", то это не Ваше (программировать)...
Какое-то время пытаюсь переделать блок закрытие buy позиции чтобы закрыть только две последние buy позиции, но не получается. Можете подсказать как переделать блок?
else{error=GetLastError();Print("LastError = ", error);}Ticket=-1;time=0;Count--;} return; }Здравствуйте!
Подскажите, какие файлы нужно скачать и куда их установить в mt4, чтобы получить данное окно?
на странице Моделирование на разных тайм-фреймах тестируемого инструмента я не понял как это сделать
и хотелось бы всего три графика дневной четырехчасовой и часовой увидеть
помогите пожалуйста, за весь вечер у самого ничего не получилось!!!
Окна типа (visual) открываются при тестировании советника в визуальном режиме.
Какой-такой StopLoss?
Наверное я не правильно сформулировал, что нужно :(
Есть есть алгоритм открытия ордеров.
Нужно, чтобы при любом варианте закрытия последнего ордера, следующий открывался в другом направлении ( при появлении условий соответственно).
Все работает, но если закрылся по стоп лосс, например по sell, а условия на открытие по sell в данном направлении есть, то открытия продолжаются. А надо, что бы ждал условий на buy.
То есть, нужна проверка последнего закрытого ордера, что бы он не совпадал с открывающимся (чередование buy-sell-buy-sell). В работе только один ордер или ожидание сигнала.
Понимаю, что скорее всего надо через OrdersHistoryTotal(), но как это может выглядеть в работающем советнике ?
Спасибо.
Есть есть алгоритм открытия ордеров.
Нужно, чтобы при любом варианте закрытия последнего ордера, следующий открывался в другом направлении ( при появлении условий соответственно).
То есть, нужна проверка последнего закрытого ордера, что бы он не совпадал с открывающимся (чередование buy-sell-buy-sell). В работе только один ордер или ожидание сигнала.
Чередование происходит всегда и в любом случае, и в работе всегда только один ордер?
Тогда проще в условие добавить контроль количества ордеров:
Проблема в следующем: так как у вас в этой функции нет OrderSelect(), видимо она используется где то в цикле с перебором ордеров. Если этот цикл организует перебор от нулевого ордера к последнему, то после модификации первого ордера или если на этом тике например был зарыт какой либо ордер при следующем вызове ф-и OrderSelect() порядок следования ордеров меняется и функция может выбрать для модификации ордер, который уже модифицирован. Поэтому надо проверять не равно ли значение стоплосса ордера тому, которое мы передаем в функцию OrderModify()
нет, проблема со сменой порядкового номера позиции при закрытии одной из них решена, я проверял не раз, думая, что может быть ошибка в этом, но там всё в порядке выбирается нужный ордер и стоплоз вычисляется для него правильно, но ордер не хочет модифицироваться..
delf:
Нужно, чтобы при любом варианте закрытия последнего ордера, следующий открывался в другом направлении ( при появлении условий соответственно).
Более строгий вариант
abeiks:
Какое-то время пытаюсь переделать блок закрытие buy позиции чтобы закрыть только две последние buy позиции, но не получается. Можете подсказать как переделать блок?
Какое-то время пытаюсь переделать блок закрытие buy позиции чтобы закрыть только две последние buy позиции, но не получается. Можете подсказать как переделать блок?
Спасибо!
Проще, и удобнее, сделать функцию(блок) закрытия одной последней позиции. А запускать её дважды. В цикле, или просто подряд.
Спасибо, хороший вариант попробую тоже сделать.