Нууу, сложно понять, что у вас там происходит, но я так думаю вы открываете позиций больше, чем разрешено брокером на этом инструменте и тестер начинает закрывать лишние.
На самом деле он не должен открывать эти лишние. Но по другому объяснить то, что у вас происходит я не могу.
С одной позицией тоже не понятно. Почему она закрывается в конце дня. Возможно у вашего брокера запрещено переносить позиции на следующий день.
Спасибо . Объяснение выглядит очень логично. На четверке с точно таким же кодом и на том же периоде происходит то же самое только ордера закрываются не встречным ордером. Брокер у меня Альпари. После Ваших объяснений стало понятно почему номера закрывающих встречных ордеров так сильно отличаются от закрыВАЕМых ими ордеров. Потому что все закрывающие ордера открываются в самом конце после всех закрываемых ордеров
Всем доброго времени суток! Я пытаюсь научиться выставлять ордера в пятерке именно при помощи класса CTrade , так как мне показалось что это самый быстрый и простой вариант их установки. А точнее я пытаюсь научиться выставлять параметр СТОПЛОСС. В четверке последняя цена бид хранилась в предопределенной перуменной Вid ,а в пятерке как я понял последняя цена бид не хранится, а, если я не ошибаюсь, как один из вариантов, вычисляется в методе Bid класса CSymbolInfo. Но что бы этот метод вычислил цену Символ должен быть предварительно выбран методом Name. Как работает метод Name я понимаю.В него нужно вставить или название символа или NULL и он вернет ложь или истину.
Но не могу понять как и где нужно объединить метод Name и метод Bid , что бы в переменную с сохранилась цена бид
В четверке ордера выбирались при помощи функции Select() А в пятерке нужно выбирать не ордера а символ.... Как это делать я не понимаю
Буду всем очень признателен если напишете в моем коде фрагмент при помощи которого в переменную с сохранится цена бид, которую я использую в параметре СЛ метода Вuy класса CTrade
elzinkhana #: Подскажите как узнать средствами MQL4,5 число первого торгового дня в январе любого года?
/********************Script program start function*******************/voidOnStart()
{
datetime newYear[];
int bars = Bars(_Symbol, PERIOD_D1, D'2020.01.01', TimeCurrent())-1;
CopyTime(_Symbol, PERIOD_D1, bars, 1, newYear);
printf("Первый торговый день %s %s", EnumToString(ENUM_DAY_OF_WEEK((newYear[0]/PeriodSeconds(PERIOD_D1)+4)%7)), TimeToString(newYear[0]));
}/******************************************************************/
Результат
2023.05.1413:37:02.118 !!0 (EURUSD,D1) Первый торговый день MONDAY2022.01.0300:002023.05.1413:38:18.547 !!0 (EURUSD,D1) Первый торговый день MONDAY2021.01.0400:002023.05.1413:38:35.906 !!0 (EURUSD,D1) Первый торговый день THURSDAY2020.01.0200:00
Нууу, сложно понять, что у вас там происходит, но я так думаю вы открываете позиций больше, чем разрешено брокером на этом инструменте и тестер начинает закрывать лишние.
На самом деле он не должен открывать эти лишние. Но по другому объяснить то, что у вас происходит я не могу.
С одной позицией тоже не понятно. Почему она закрывается в конце дня. Возможно у вашего брокера запрещено переносить позиции на следующий день.
Спасибо . Объяснение выглядит очень логично. На четверке с точно таким же кодом и на том же периоде происходит то же самое только ордера закрываются не встречным ордером. Брокер у меня Альпари. После Ваших объяснений стало понятно почему номера закрывающих встречных ордеров так сильно отличаются от закрыВАЕМых ими ордеров. Потому что все закрывающие ордера открываются в самом конце после всех закрываемых ордеров
Всем доброго времени суток!
Я пытаюсь научиться выставлять ордера в пятерке именно при помощи класса CTrade , так как мне показалось что это самый быстрый и простой вариант их установки. А точнее я пытаюсь научиться выставлять параметр СТОПЛОСС. В четверке последняя цена бид хранилась в предопределенной перуменной Вid ,а в пятерке как я понял последняя цена бид не хранится, а, если я не ошибаюсь, как один из вариантов, вычисляется в методе Bid класса CSymbolInfo. Но что бы этот метод вычислил цену Символ должен быть предварительно выбран методом Name. Как работает метод Name я понимаю.В него нужно вставить или название символа или NULL и он вернет ложь или истину.
Но не могу понять как и где нужно объединить метод Name и метод Bid , что бы в переменную с сохранилась цена бид
В четверке ордера выбирались при помощи функции Select() А в пятерке нужно выбирать не ордера а символ.... Как это делать я не понимаю
Буду всем очень признателен если напишете в моем коде фрагмент при помощи которого в переменную с сохранится цена бид, которую я использую в параметре СЛ метода Вuy класса CTrade
Помогите разобраться. В строке ObjectMove(0, "LineAB", prevTime, prevPrice, newAx, newAy); пишет wrong parameters count. Где ошибка?
Помогите разобраться. В строке ObjectMove(0, "LineAB", prevTime, prevPrice, newAx, newAy); пишет wrong parameters count. Где ошибка?
https://www.mql5.com/ru/docs/objects/objectmove
Подскажите как установить робота на МТ который стоит на VPS? До этого он был активирован в МТ5 на компьюторе.
Подскажите как узнать средствами MQL4,5 число первого торгового дня в январе любого года?
Никак. Только самому собрать такие данные.
Подскажите как узнать средствами MQL4,5 число первого торгового дня в январе любого года?
Результат
Результат
Почему решили, что это торговый день? Идея в наличии котировок? А если котировки были, но нельзя было торговать - думаю в этом вопрос.