Dukascopy
 
 
Wiki JStore Search Login

подскажите решение
 Post subject: подскажите решение Post rating: 0   New post Posted: Thu 03 May, 2018, 13:02 

User rating: 0
Joined: Thu 20 Jul, 2017, 11:01
Posts: 2
Location: BelarusBelarus
пример проблемного блока, который работает на историческом тестере но не работает в реальном времени ( на демо). по идеи он должен ограничивать колличество одновременно открытых позиций , ( что бы стратегия не строчила их как автомат) не более 2 открытых позиций в текущий момент, одна шортовая и одна лонговая позиция. Т.е., если у нас уже есть одна открытая шортовая сделка, то этот группа блоков должна разрешить открыть только одну и только лонговую позицию ( и наоборот). если же у нас уже есть 2 (шорт+ лонг) открытые сделки, то открытие новых не возможно до тех пор пока одна из открытых не будет закрыта.
В реале же , это комбинаця блоков может открыть и 3 и более сделок.
Проблема как мне видиться кроется в том, что когда ты запускаешь его на тестере то открытие и закрытие сделок происходит виртуально и мгновенно, поэтому после поступления тика который устраивает всем критериям стратегии, происходит открытие сделки (мгновенно), после этого в стратегию поступают новые данные и т.д...
Однако в режиме реального времени после срабатывания стратегии происходит отправка ордера на покупку или продажу, ордер отправляется на сервер и там ждет своего исполнения, после чего информация об открытой сделке возвращается обратно к нам и только потом может быть считана и принята во внимание стратегией. На демо счтете это время может быть по моим наблюдения !заметным!,
как мне кажется именно это и происходит в первых блоках "if" где сравнивается колличество открытых позиций с нулем, и если оно равно 0, то это позволяет безприпятственно пройти дальше к блоку "openmarket".
ОДНАКО с момента отправки стратегией ордера на покупку или продажу и до открытия ордера, в стратегию поступают другие тики. а т.к. "positionviewer" еще не видит открытых позиций, то этот же блок "if" опять решает что колличество открытых позиций по прежнему равно 0, и опять разрешает "openmarket"у отправить запрос на новый ордер. в теории колличество таких открытых ордеров может быть равно колличеству тиков которые поступят в стратегию в период с момента отправки первого ордера и до получения иноформации о том что ордер открыт. на моей практике это обычно бывало 2-3-4 лишних ордера.
После того как инфа об открытии ордера вернется, и будет считана,этот набор блоков начинает работать так как нужно. надеюсь вы уловили суть.

Подскажите решение плиз, я много перепробовал вариантов но пока безрезультатно.

в идеале как мне видется нужно написать какой то костыль который после каждого отправленного ордера будет какое то время выжидать (5-10сек). т.к. в режиме реального времени но только на реальном счете, эти задержки (по открытию позиции) еще длиннее!!

не исключаю, что я в чем то ошибся, тогда плиз укажите мне на ошибку. БОЛЬШОЕ СПАСИБО заранее!

P.S. Обратите внимание , что, при старте стратегии нужно выставить параметр "start_strategy_time" на 1-2 минуты позже чем текущее время, для того что бы стартегия запустилась, в противном случаи " last_tick_bid" будет сравниваться с еще не поступившим значением "historical_candle- candle_open", вызывая тем самым ошибку и останавливая работу стратегии"
Image
Image


Attachments:
Безымянный1.png [192.37 KiB]
Downloaded 432 times
Безымянный.png [227 KiB]
Downloaded 442 times
mistake_03_05_2018.vfs [46.22 KiB]
Downloaded 268 times
DISCLAIMER: Dukascopy Bank SA's waiver of responsability - Documents, data or information available on this webpage may be posted by third parties without Dukascopy Bank SA being obliged to make any control on their content. Anyone accessing this webpage and downloading or otherwise making use of any document, data or information found on this webpage shall do it on his/her own risks without any recourse against Dukascopy Bank SA in relation thereto or for any consequences arising to him/her or any third party from the use and/or reliance on any document, data or information found on this webpage.
 
 Post subject: Re: подскажите решение Post rating: 0   New post Posted: Mon 14 May, 2018, 15:02 
Visual JForex expert at Dukascopy
User avatar

User rating:
Joined: Mon 22 Apr, 2013, 11:30
Posts: 535
Location: Ukraine, Kiev
Добрый день.

Скоректированная логика в прикрепленном файле.


Attachments:
mistake_fixed.vfs [38.67 KiB]
Downloaded 265 times
DISCLAIMER: Dukascopy Bank SA's waiver of responsability - Documents, data or information available on this webpage may be posted by third parties without Dukascopy Bank SA being obliged to make any control on their content. Anyone accessing this webpage and downloading or otherwise making use of any document, data or information found on this webpage shall do it on his/her own risks without any recourse against Dukascopy Bank SA in relation thereto or for any consequences arising to him/her or any third party from the use and/or reliance on any document, data or information found on this webpage.
 

Jump to:  

cron
  © 1998-2011 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com