Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Стоп, алгоритм работает как?
Начало
Если проверяем количество позиций
/ \
Истина Ложь ИСТИНА (0=0)
| |
Если | проверяем количество ордеров
/ \ |
Истина Ложь |
| | |
\ | /
конец
и т.д.
он должен входить внутрь условия и идти дальше, что не так.
первые 2 условия он проходит и на количество сделок и на количество ордеров, все там правильно, кажется вы сами немного не разбираетесь, только еще больше меня запутали, если уж советуете, то что то по существу, а не с потолка.
Если количество позиций равно нулю следовательно у вас нет ни одной открытой позиции и соответственно ни одного ордера. Что вы собираетесь анализировать? Внутрь условия вы должны попадать в случае если количество позиций больше нуля. То есть верхнее условие будет звучать так:
1 - Уважаемый, именно отсутствие открытых позиций я и проверяю, или как вы говорите анализирую.
2 - Внутрь условия я должен попадать как раз при отсутствии позиций, потому как если позиция открыта то мне от рынка ничего не надо.
3 - Вы крайне не внимательно знакомитесь с условиями, и предлагаете ерунду.
Спасибо за попытку помочь, но я бы попросил вас не писать более в данной теме. Т.к. вы советуете ерунду полнейшую.
1 - Уважаемый, именно отсутствие открытых позиций я и проверяю, или как вы говорите анализирую.
2 - Внутрь условия я должен попадать как раз при отсутствии позиций, потому как если позиция открыта то мне от рынка ничего не надо.
3 - Вы крайне не внимательно знакомитесь с условиями, и предлагаете ерунду.
Спасибо за попытку помочь, но я бы попросил вас не писать более в данной теме. Т.к. вы советуете ерунду полнейшую.
1. Для того чтобы определить его направление нужно чтобы он был открыт.
2. Для MT5 а насколько я понял пишешь ты именно на нем 2 разнонаправленные позиции взаимоуничтожаются и дают нулевую. Следовательно твой вопрос вообще не корректен!!!
3. Имей совесть быть вежливее с тем, кто тебе пытается помочь.
4. Если не в порядке нервы выпей лекарствие
Удачи
DKeN 2015.04.02 11:34 # RU
позиция и ордер это разные вещи в мт5.
проверяй открытые ордера, а не позиции иначе будет тебе штамповать их.
В общем опять все заметки и сноски мимо кассы, теперь понятно почему у вас такая плохая статистика по сигналам которые вы поставляете на маркет :) (сами то давно перестали понимать прочитанное?)
Короче, непосредственно к делу, если кто вдруг не знал, то на МТ5, для тех кто торгует не на форексе, а на бирже фьючерсными контрактами, для демо счетов котировки и спреды показываются только между участниками торговли на этих самых демо счетах, а они очень далеки от реальности, и если вы вдруг пытались протестировать свою систему, то она могла вас обмануть по результатам. В данный момент я приобретаю МТ5 с сертификатами для получения доступа к рыночным котировкам, результаты тестирования на демо и на реале я выложу в конце недели.
И вот он код, для проверки и выставления ордеров на покупку и на продажу по 1 ордеру в каждую сторону.
if (PositionsTotal()==0) // если нет открытых позиций проверяем ордера
{
if(SymbolInfoInteger(my_symbol,SYMBOL_SESSION_BUY_ORDERS)<1) // проверяем количество ордеров на buy
{
if (iMAClose_buf[0] < linebuy) // проверяем текущую цену, она должна быть ниже цены нашего ордера
{
m_Trade.BuyStop(Lots,linebuy,my_symbol,linesell,tpbuy,0,0,"BUY"); // если мы тут buy ордера нет, выставляем его
}
}
if(SymbolInfoInteger(my_symbol,SYMBOL_SESSION_SELL_ORDERS)<1) // проверяем количество ордеров на sell
{
if (iMAClose_buf[0] > linesell) // проверяем текущую цену, она должна быть выше цены нашего ордера
{
m_Trade.SellStop(Lots,linesell,my_symbol,linebuy,tpsell,0,0,"SELL"); // если мы тут sell ордера нет, выставляем его
}
}
}
Еще раз спасибо DKeN за подсказку.
Хотел было уже сказать спасибо за совет про взаимоуничтожающиеся позиции, но увы и ах, речь то шла про ОРДЕРА, и как справедливо заметил :
В общем опять все заметки и сноски мимо кассы, теперь понятно почему у вас такая плохая статистика по сигналам которые вы поставляете на маркет :) (сами то давно перестали понимать прочитанное?)
Короче, непосредственно к делу, если кто вдруг не знал, то на МТ5, для тех кто торгует не на форексе, а на бирже фьючерсными контрактами, для демо счетов котировки и спреды показываются только между участниками торговли на этих самых демо счетах, а они очень далеки от реальности, и если вы вдруг пытались протестировать свою систему, то она могла вас обмануть по результатам. В данный момент я приобретаю МТ5 с сертификатами для получения доступа к рыночным котировкам, результаты тестирования на демо и на реале я выложу в конце недели.
И вот он код, для проверки и выставления ордеров на покупку и на продажу по 1 ордеру в каждую сторону.
if (PositionsTotal()==0) // если нет открытых позиций проверяем ордера
{
if(SymbolInfoInteger(my_symbol,SYMBOL_SESSION_BUY_ORDERS)<1) // проверяем количество ордеров на buy
{
if (iMAClose_buf[0] < linebuy) // проверяем текущую цену, она должна быть ниже цены нашего ордера
{
m_Trade.BuyStop(Lots,linebuy,my_symbol,linesell,tpbuy,0,0,"BUY"); // если мы тут buy ордера нет, выставляем его
}
}
if(SymbolInfoInteger(my_symbol,SYMBOL_SESSION_SELL_ORDERS)<1) // проверяем количество ордеров на sell
{
if (iMAClose_buf[0] > linesell) // проверяем текущую цену, она должна быть выше цены нашего ордера
{
m_Trade.SellStop(Lots,linesell,my_symbol,linebuy,tpsell,0,0,"SELL"); // если мы тут sell ордера нет, выставляем его
}
}
}
Еще раз спасибо DKeN за подсказку.
Позиция состоит из ордеров. По одному инструменту может быть открыта только одна позиция. Позиция является суммой исполненных ордеров. То есть:
1. Если ты открыл один лот(читай ордер) на покупку(+1), затем один лот на продажу(-1) в результате 1-1 дает 0 - получаем нулевую позицию.
2. Если ты открыл один лот на покупку(+1) затем еще один лот на покупку(+1) - имеем 1+1=2 - позиция из 2 лотов. Как в данном случае раскрываются ордера в этой позиции не экспериментировал - врать не буду, но подозреваю что будут отображатьяс оба ордера.
3. Если ты открыл один лот(ордер) на продажу(-1) а затем два на покупку в результате имеем 2-1=1 - позицию с одним лотом. Опять таки как будут отображаться ордера - точно сказать не могу.
Из всего вышеперечисленного с уверенностью можно сказать лишь одно - если у тебя нет ни одной позиции по инструменту, соответственно у тебя нет и ни одного ордера!!! Поправьте меня если я не прав. И да кстати взаимоуничтожаются не позиции, а ордера!!!
Да, вы немного ошибаетесь.
Т.к. ордер и позиция это разные вещи, а именно:
Ордер - это только заявка на открытие позиции, он может быть рыночным (по текущей цене) и отложенным (по указанной вами цене(Стоп и Лимит ордера)). Так вот Если у нас выставлен ордер по цене и он срабатывает, то открывается позиция. Следовательно мы проверяем открыта ли позиция, если её нету, то мы выставляем ордера по заданным параметрам (цена,tp,sl), если же позиция открыта, то мы ничего не делаем.
P.s.: Именно позиции перекрывают друг друга, и то не везде, иногда обе позиции имеют место быть (локирование). Если брать МТ5 фьючерсы то там одновременно 2 разнонаправленных позиций быть не может, а ордера могут быть.
P.s.s.: И да это проверенно на практике, это касательно МТ5 и Quik торговля на бирже фьючерсами, что касается форекса МТ4, МТ5, то там может быть как то и по другому.
Да, вы немного ошибаетесь.
Т.к. ордер и позиция это разные вещи, а именно:
Ордер - это только заявка на открытие позиции, он может быть рыночным (по текущей цене) и отложенным (по указанной вами цене(Стоп и Лимит ордера)). Так вот Если у нас выставлен ордер по цене и он срабатывает, то открывается позиция. Следовательно мы проверяем открыта ли позиция, если её нету, то мы выставляем ордера по заданным параметрам (цена,tp,sl), если же позиция открыта, то мы ничего не делаем.
P.s.: Именно позиции перекрывают друг друга, и то не везде, иногда обе позиции имеют место быть (локирование). Если брать МТ5 фьючерсы то там одновременно 2 разнонаправленных позиций быть не может, а ордера могут быть.
P.s.s.: И да это проверенно на практике, это касательно МТ5 и Quik торговля на бирже фьючерсами, что касается форекса МТ4, МТ5, то там может быть как то и по другому.
В общем получается что функция OrdersTotal в контексте MT5 возвращает количество выставленных отложников? В MT4 она возвращала общее число как открытых так и отложенных.
И тем не менее так как позиция является суммой сделок и может быть только одна на одном инструменте ваше утверждение про "обе позиции имеют место быть(локирование)" в корне неверно!!!
И опять таки если мыслить MT4 то не вижу смысла анализировать открытые позиции - можно было просто проанализировать количество этих самых исполненных отложников, раз уж вы их анализируете. Ну тут вам виднее - постановка задачи ваша...
Не могу понять почему, но я не могу протестировать фьючерсы 6.15. В журнале выходят сообщения о выставленных ордерах, которые просто бесконечно повторяются, в то же время если взять предыдущий контракт, то на нем тестирование идет без проблем, кто сталкивался подскажите что сделать.
Добрый день!
Вы путаете позицию с действующими отложенными ордерами!
Не PositionSelect() , а OrderSelect() нужно использовать.
Добрый день!
Вы путаете позицию с действующими отложенными ордерами!
Не PositionSelect() , а OrderSelect() нужно использовать.