Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
или перебор не нужен, или ask,bid по символу позы запрашивать
Функция PositionGetSymbol автоматически выбирает позицию для дальнейшей работы.
Фактически PositionGetSymbol обеспечивает последовательный выбор, а PositionSelect - прямой выбор
или перебор не нужен, или ask,bid по символу позы запрашивать
Там для начала, как выяснилось, PositionGetInteger(POSITION_TYPE) юзается без выбора по PositionSelect. Что по сути не есть хорошо (как Слава мне напомнил)... :)
Функция PositionGetSymbol автоматически выбирает позицию для дальнейшей работы.
Фактически PositionGetSymbol обеспечивает последовательный выбор, а PositionSelect - прямой выбор
нуу если с использованием телепатии, то if(PositionSelect(Symbol())) надо вместо цикла поставить :)
Желательно еще проверять, что LevelProfit-LevelWLoss не меньше SymbolInfoInteger(Symbol,SYMBOL_TRADE_STOPS_LEVEL).
И таки double сравниваются не правильно..
в остальном вроде должно работать)
ps: не уверен, но для модификации sl/tp, deviation>0 ни чего хорошего не добавит.
Некорректно работает функция ObjectGetInteger() с идентификатором OBJPROP_TIME
Что бы воспроизвести ошибку, создайте объект "Прямоугольник" с именем "1"
Запустить скрипт, приведенный ниже, показывающий четыре координаты привязки нашего свежего созданного прямоугольника с именем "1"
Видим, что ценовые координаты определены верно, а временые - нет:
Некорректно работает функция ObjectGetInteger() с идентификатором OBJPROP_TIME
Что бы воспроизвести ошибку, создайте объект "Прямоугольник" с именем "1"
Запустить скрипт, приведенный ниже, показывающий четыре координаты привязки нашего свежего созданного прямоугольника с именем "1"
Видим, что ценовые координаты определены верно, а временые - нет:
Почувствуйте разницу
Некорректно работает функция ObjectGetInteger() с идентификатором OBJPROP_TIME
Что бы воспроизвести ошибку, создайте объект "Прямоугольник" с именем "1"
Запустить скрипт, приведенный ниже, показывающий четыре координаты привязки нашего свежего созданного прямоугольника с именем "1"
Видим, что ценовые координаты определены верно, а временые - нет:
Вот скрипт.
А вот результат.
Почувствуйте разницу
Спасибо, разницу почувствовал.
Вы явно задали тип значению - datetime
а я использовал преобразование данных.
Но не значит ли это, что конструкция
работает неверно?
Спасибо, разницу почувствовал.
Вы явно задали тип значению - datetime
а я использовал преобразование данных.
Но не значит ли это, что конструкция
работает неверно?
Не то чтобы неверно. Эти действия просто лишние.
Посмотрите справку по функции StringToTime() и вы поймете, почему получился неправильный результат.
Спасибо, разницу почувствовал.
Вы явно задали тип значению - datetime
а я использовал преобразование данных.
Но не значит ли это, что конструкция
работает неверно?
Не совсем. Преобразованием IntegerToString Вы получили строку типа "12345612345", тогда как для StringToTime на вход должна подаваться строка, форматированная как дата "2010.07.29 08:10"
Однако, Вы показали нам нашу ошибку. В Вашем случае мы должны были вернуть дату 1970.01.01 00:00 и взвести ошибку last_error
Не совсем. Преобразованием IntegerToString Вы получили строку типа "12345612345", тогда как для StringToTime на вход должна подаваться строка, форматированная как дата "2010.07.29 08:10"
Однако, Вы показали нам нашу ошибку. В Вашем случае мы должны были вернуть дату 1970.01.01 00:00 и взвести ошибку last_error