Как сделать советник для входа в сделку по точной цене?
Заключение сделки - это двусторонний договор - у него есть сторона, которая предлагает вам цену (опосредованная вашим брокером), и у него есть сторона (вы, лично или представленный торговым агентом, управляемым автоматическим кодом), который принимает цену. Все регулируемые Условиями подписаны / приняты для ведения этого бизнеса.
// ----------------------------------------------------------------------------
// Rule#0: Prices move faster, than the QUOTE-message ever makes it to your CPU
// --------------------------
RefreshRates(); // A MUST DO AS-LATE-AS-POSSIBLE, before placing a tight slippage XTO
// --------------- // A RE-TEST AS-FAST-AS-POSSIBLE if XTO conditions hold
...
// --------------- // GO / NO-GO XTO, always using Normalized values
ticket = OrderSend( Symbol(),
XTO_OrderTYPE,
NormalizeDouble( XTO_volume, LotDigits ),
NormalizeDouble( XTO_price, Digits() ),
MaxSlippage, //---------------------------- BE CAREFULL ON THIS
0, // [XTO_price_SL]
0, // [XTO_price_TP]
ordername,
MagNumber,
0,
clr
);
Время имеет значение, цены движутся действительно быстро. VPS может избежать, но все же часть
Прежде чем мы перейдем к типу Контракта, который решает, как будет выполняться сделка на стороне Брокера (спот Buy-Long использует другую обработку цен, чем Pending-BuyStop), сначала давайте посмотрим с задержкой в сети (как долго держится цена Top-of-the-Book [ToB], прежде чем она будет изменена и объявлена с рынка на брокера и с брокера на ваш компьютер или на компьютер VPS (даже лучший VPS, находящийся в одном месте) машины находятся на несколько сотен метров «дальше» по кабелю и «позади» машины Брокера, что на несколько порядков ниже при получении обновлений ToB-QUOTE, чем у вашего Сервера Брокера).
Цены ToB держатся на уровне менее 100 ms
на устойчивых рынках на валютных рынках, однако во время фундаментальных событий бывают тысячи диких движений, каждый из которых [ms]
может содержать десятки, если не сотни, а иногда и тысячи изменений цены ToB за [ms]
.
Если вы настаиваете на точной цене для сделки, вы можете использовать, но отложенные контракты, а не исполненные по немедленной цене ордера (часто называемые на рынке).
Правила и условия вашего брокера определяют правила для этого.
Имейте в виду, что даже отложенные ордера могут «приобретать» проскальзывание цены, разницу между «заказанной» ценой и фактически «исполненной» ценой, поэтому, опять же, правила и условия будут действовать (SNB flash-crash Событие было цунами несколько лет назад, после того как многие брокеры объявили о банкротстве, а KMPG и другие надзорные органы, назначенные судом, ликвидировали пепел из непокрытых отложенных ордеров в течение многих лет), поэтому управление рисками необходимо и никогда не поверит оптимистичное предположение, что торговый ордер будет заполнен по точной цене. Существуют как технические, так и юридически обоснованные причины, почему это не всегда выполняется даже для отложенных ордеров.