(проблема не срабатывания была в том, что из за высокой скорости движения котировки ордер рыночный почему то отказывается выполнять поставленную задачу.
хотя для меня лично не понятно почему. request.type_time = order_time_gtc; означает что он ордер должен быть в заявке - пока не будет исполнен.
ulong devitation = 1000000000;
иными словами у меня рыночный ордер висит днями(при тестировании на истории) и всё это время не срабатывает получается.
даже поставил специально.но на малых скачках выйти рыночным ордером из позиции все же удается.
никто не в курсе - почему так происходит?)
(то докупается все это дело как попало из за них. то вообще не хочет ничего покупать с самого начала.)
p.s. ещё такой момент хотел выяснить:
если я покупаю по лимитному ордеру позицию - то тейк профит работает как лимитный ордер или как рыночный?правильне будет не оформлять самому запрос, а воспользоваться классом ctrade.
сверху подключаем файл с классом:
#include <trade/trade.mqh>
ctrade trade;
потом, по мере необходимости пишем "trade." и в открывшемся списке выбираем нужный метод.
правильне будет не оформлять самому запрос, а воспользоваться классом ctrade.
сверху подключаем файл с классом:
потом, по мере необходимости пишем "trade." и в открывшемся списке выбираем нужный метод.не ужели это такая трудная задача?
а самому нельзя, что ли получается это дело оформить?
не ужели это такая трудная задача?
можно и самому, но зачем делать лишнюю работу, которую уже сделали за вас в лучшем виде?
к тому же в истории есть такой опыт. в один прекрасный момент мк что-то там изменило с константами для структуры запроса и самописный код перестал работать, а в класс они сами внесли изменения и было достаточно перекомпилировать эксперта.
можно и самому, но зачем делать лишнюю работу, которую уже сделали за вас в лучшем виде?
к тому же в истории есть такой опыт. в один прекрасный момент мк что-то там изменило с константами для структуры запроса и самописный код перестал работать, а в класс они сами внесли изменения и было достаточно перекомпилировать эксперта.
p.s. а синтаксис методов класса, со временем, не может точно так же перестать работать? )
просто я , как вариант рассматривал то, что зная mql5 можно будет потом легче освоить с++(для других задач) т.к. слышал что языки похожи.
(так ли это?)
а если работать чисто по классам то такой практикой я вряд ли себе скилов в программировании добавлю.
(как мне кажется.)
но в любом случае лишняя работа(если её много) мне точно ни к чему. )
получается при работе в первую очередь необходимо смотреть что умеет класс и если он это не может - то только тогда писать самому?
p.s. а синтаксис методов класса, со временем, не может точно так же перестать работать? )
в классе может измениться внутренняя реализация метода, но название метода и его вызов останется и соответственно метод останется работоспособным.
В чем может быть проблема?
P.S. В журнале(не в тестере) такое впечатление, что все замерло после первого тика.
(может конечно так и должно быть.)
Исправте:
request.type_filling = order_filling_fok; // тип ордера по исполнению
request.type_time = order_time_gtc;
на
request.type_filling = ORDER_FILLING_IOC; request.type_time = ORDER_TIME_DAY;
можно и самому, но зачем делать лишнюю работу, которую уже сделали за вас в лучшем виде?
к тому же в истории есть такой опыт. в один прекрасный момент мк что-то там изменило с константами для структуры запроса и самописный код перестал работать, а в класс они сами внесли изменения и было достаточно перекомпилировать эксперта.
А в классе - куча мусора, который съедает время.
И перекомпилить придётся в обоих случаях.
Чем проще код - тем лучше!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
есть такой код (часть более объемного кода.)
задача стоит - в случае определённого условия(связанного с балансом на аккаунте) прекратить доливать позиции и всё что есть(по данному инструменту) продать.
(на данный момент в принтах(в журнале) у меня выводится, что позиция по прежнему сохраняется в наличии.)
вопрос:
как это правильно оформить?)
(в инете и документации не удается найти ни одного примера.)
так же хотелось бы понять как покупать продавать позицию по лимитному ордеру.
(с точки зрения синтаксиса.)
если прописать вот это:
то вход в сделку вообще даже и не начинается. на какие критерии необходимо обращать внимание, при оформлении(в таких случаях) структуры mqltraderequest request ?
(иными словами, почему у меня это все работает не корректно и как все это правильно организовать?)p.s. ещё такой момент хотел выяснить:
если я покупаю по лимитному ордеру позицию - то тейк профит работает как лимитный ордер или как рыночный?