![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2021.05.14 22:10
Важно для тех, кто использует снепшоты и другие очень специфические техники торговли.
Советники обычно работают с каким-то своим мэджиком. Механизм определения свой-чужой постоянно задействован. В логике идет подсчет своих ордеров и т.д.
Ниже на примере покажу одно из преимуществ работы через снепшоты.
Вся торговая логика - это пять строк while-цикла. Как видите, в нем нет никаких проверок на свой-чужой. Однако, все будет работать правильно даже при наличии ордеров с другими мэджиками.
Такой механизм позволяет писать советники со значительно более простым кодом. Более того, производительность кода не будет падать при параллельном навешивании нескольких торговых советников.
Например, навесил вышеприведенный скрипт на два EURAUD-чарта с разными мэджиками.
Никто никому не мешал, отработка идеальная.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2021.09.30 15:03
Автоматически не сохраняются, конечно. Но и для ручных манипуляций пока не написаны VIRTUAL::Save/Load.
Пример использования.
Сохранение.
Загрузка.
По аналогии сделано сохранение/загрузка виртуального окружения в массив, чтобы его можно было передавать. Например, через ресурсы.
ЗЫ SELECT_BY_TICKET подправил.
думаю, что нужен еще вариант сохранения по хэндлу открытого файла, тогда появится возможность в один файл сохранить и настройки и время и ... и Virtual, думаю это полезно
спасибо!
думаю, что нужен еще вариант сохранения по хэндлу открытого файла, тогда появится возможность в один файл сохранить и настройки и время и ... и Virtual, думаю это полезно
спасибо!
Выше написал, что можно в массив сохранить или загрузиться из него. А его уже любым способом использовать.
Там есть некоторая проблема в виде того, что MqlTick имеет разный sizeof для MT4/5. Поэтому при сохранении в файл тик приходится писать в самый его конец.
Для массива - аналогично.
Там есть некоторая проблема в виде того, что MqlTick имеет разный sizeof для MT4/5. Поэтому при сохранении в файл тик приходится писать в самый его конец.
но ведь у открытого файла по его хендлу доступно положение файлового указателя? - пиши что хочешь в любой последовательности
хотя не суть, меня устраивает, сохранения состояния виртуального окружения мне не хватало, теперь очень круто!
сохранения состояния виртуального окружения мне не хватало
До сих пор ни разу не столкнулся с такой необходимостью. Видимо, сценарии использования иные.
А вот со свопами была необходимость исследований, поэтому есть такое.
VIRTUAL::CalcSwaps(); // Расчет свопов.
VIRTUAL::Create("Virtual.bin")
Когда стартуем первый раз этого файла нету, Load возвращает false. Create возвращает -1 и в памяти остается объект ORDERS
Может лучше не проверять Load , а просто есть файл - загрузили, нету - работаем с нуля?
но ведь у открытого файла по его хендлу доступно положение файлового указателя? - пиши что хочешь в любой последовательности
Добавлена работа с файловыми хендлами. MqlTick-несоответствие обошел.
Когда стартуем первый раз этого файла нету, Load возвращает false. Create возвращает -1 и в памяти остается объект ORDERS
Спасибо, исправил.
Может лучше не проверять Load , а просто есть файл - загрузили, нету - работаем с нуля?
VIRTUAL::Load, вроде, так и работает.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: TypeToBytes
fxsaber, 2021.10.31 19:34
Обновлен. Обходит найденную особенность. Ранее могло негативно сказываться на _ArrayCopy и CONTAINER.
Рекомендую обновить TypeToBytes.mqh, если в Virtual идет работа с сохранением окружения в массив.
Благодарю @Andrey Khatimlianskii за баг-репорт.