Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет, но возможно мы говорим о разных вещах
Это всегда сработает
Всё-же заставил открыть терминал и проверить... Вот три запуска одного скрипта и соответственно три результата.
В скрипте всего одна строка
Я говорю о том, что когда советник работает, а пользователь решил шаловливыми ручками переключить диапазон отображения истории то советник свихнётся на втором-же переключении. То меньше, то больше, то ещёраз отличается от запомненного. И даже если в строке
if(HT!=__TotalHist)
поставить конкретно > вместо != ситуация не изменится. Если советник запущен в момент когда настройка поставлена "Сегодня" и переключить на "Вся история"... что получится???
Да трогать OrderHistoryTotal() и в мыслях не было, зачем?
На всякий случай:))))
На всякий случай:))))
:)) мне хватит и OrdersTotal() вполне
Может сделать два таймера? один пусть хоть и раз в 100 мсек сравнивает значения OrdersTotal(), а второй для подстраховки раз в минуту (или реже) полный перебор в цикле - там уже ни одна мышь не проскочит, если одна из двух десятков сделок раз в 100500 раз закроется/откроется на минуту позже - я точно не умру, депозит полагаю тоже.
:)) мне хватит и OrdersTotal() вполне
Может сделать два таймера? один пусть хоть и раз в 100 мсек сравнивает значения OrdersTotal(), а второй для подстраховки раз в минуту (или реже) полный перебор в цикле - там уже ни одна мышь не проскочит, если одна из двух десятков сделок раз в 100500 раз закроется/откроется на минуту позже - я точно не умру, депозит полагаю тоже.
А сколько всего, одновременно открытых ордеров предусмотрено алгоритмом?
Всё-же заставил открыть терминал и проверить... Вот три запуска одного скрипта и соответственно три результата.
В скрипте всего одна строка
Я говорю о том, что когда советник работает, а пользователь решил шаловливыми ручками переключить диапазон отображения истории то советник свихнётся на втором-же переключении. То меньше, то больше, то ещёраз отличается от запомненного. И даже если в строке
поставить конкретно > вместо != ситуация не изменится. Если советник запущен в момент когда настройка поставлена "Сегодня" и переключить на "Вся история"... что получится???
В любом случае будет не равенство и код пойдёт дальше. А вот если поставить if (HT > __TotalHist) тогда возникнут проблемы
А сколько всего, одновременно открытых ордеров предусмотрено алгоритмом?
2-3 десятка максимум
В любом случае будет не равенство и код пойдёт дальше. А вот если поставить if (HT > __TotalHist) тогда возникнут проблемы
Виталий, проблемы пойдут в любом случае. Как ни крути, а если советник должен реагировать на изменение количества ордеров в истории, то он будет на него реагировать не зависимо от того каким образом это количество изменилось. По сути количество ордеров в истории может только увеличиться, потому я и предположил, что так будет менее опасно, но не решает проблемы. Даже если написан исключительно для себя, нельзя исключать возможность переключения вручную. Мало-ли какая СМСка в голову придёт)))
2-3 десятка максимум
Для такого количества проще создать массив тикетов или даже массив структур со свойствами ордеров и на каждом тике проверять изменение по типу и времени закрытия. Это даст возможность отследить активацию отложенного ордера или закрытие позиции. А открытие сразу после отправки OrderSend() добавить размер массива и засунуть туда всё что нужно.
Дык в том и дело, что перетряхивать 86400 раз в сутки ордера можно по всякому, но не хотелось же.
В таком случае без библиотеки Артёма тяжело будет жить.