Скальпинг в классическом арбитраже - страница 14

 

Извините за косяк. Обнулить структуры перед тем как… забыл.

#property script_show_inputs
//#include <Trade\Trade.mqh>
//CTrade trade;
input ENUM_ORDER_TYPE   inpOrderType = ORDER_TYPE_BUY;
/********************Script program start function*******************/
void OnStart()
 {
  MqlTradeRequest   request;              // request data
  MqlTradeResult    result;               // result data
  MqlTradeCheckResult check_result;       // result check data
  double price = 0.0;
  price = inpOrderType == ORDER_TYPE_BUY ? SymbolInfoDouble(_Symbol, SYMBOL_ASK) : SymbolInfoDouble(_Symbol, SYMBOL_BID);
//--- Искомая маржа
  double margin = 0.0;
  if(OrderCalcMargin(inpOrderType, _Symbol, 1, price, margin))
    Print(_Symbol+": MARGIN для цены "+DoubleToString(price, _Digits)+" "+EnumToString(inpOrderType)+" = "+DoubleToString(margin, 2));
//---
  ZeroMemory(request);
  ZeroMemory(check_result);
  request.action   = TRADE_ACTION_DEAL;                    // тип торговой операции
  request.symbol   = _Symbol;                              // символ
  request.volume   = 1;                                    // объем в 1 лот
  request.type     = inpOrderType;                         // тип ордера
  request.price    = price;                                // цена для открытия
  request.deviation= 5;                                    // допустимое отклонение от цены  Comment("", "\n"
  if(!OrderCheck(request, check_result))
    Print(__LINE__, " ", check_result.retcode);
  Print(_Symbol+": MARGIN для цены "+DoubleToString(price, _Digits)+" "+EnumToString(inpOrderType)+" = "+DoubleToString(check_result.margin, 2));
  Comment("", "\n"
         );
 }/******************************************************************/

/*****************************End program****************************/

Теперь даёт такой результат

2022.06.07 15:27:32.578 00_Test (SBRF-9.22,H1)  SBRF-9.22: MARGIN для цены 12181 ORDER_TYPE_BUY = 5575.38
2022.06.07 15:27:32.579 00_Test (SBRF-9.22,H1)  35 10019
2022.06.07 15:27:32.579 00_Test (SBRF-9.22,H1)  SBRF-9.22: MARGIN для цены 12181 ORDER_TYPE_BUY = 5575.38

10019 — Нет достаточных денежных средств для выполнения запроса

Сколько не хватает можно наверное узнать из check_result.equity-check_result.margin

 
Alexey Viktorov #:

Вы невнимательно читали документацию. Кроме нехватки денег в структуре есть и значение маржи, и уровень маржи…

Только вот маржу показывает не на сделку, а размер маржи текущий плюс маржу на предполагаемую сделку.

Но проверить у меня не получается… получил ошибку 4756 — «Не удалось отправить торговый запрос». Счёт есть, но денег на нём нет. Всё никак не решусь начать торговлю.

Если есть желание проверить, вот код слепленный из вашего

request.deviation= 5;         

Для ФОРТС это не работает :)

 
tapo #:

А как Вы реализуете эту стратегию в открытии? Вы где-то писали про 2 терминала МТ5, насколько я помню (один для фьюча, один для акций?). Или через квик?

В этом разделе (Биржевой трейдинг) все подробно описано, даже видео есть

 
prostotrader #:

Для ФОРТС это не работает :)

Да у меня цель была не отшлифованный код, а простая проверка. Потому так невнимательно было сделано, что структуры не обнулил…

 

Получил промежуточный результат в виде индикатора, который показывает возможности входа и выхода по описываемой здесь стратегии.

Реальный пример. SBER - SBRF-6.22

По Сберу стоял в сделках с 6.06. Вошел на раздвижке в 50р (117.68 и 11818). Комиссия 13р (вход+выход). Потребовалось 14500р. Если бы сидел до 16.06 (как и планировал) и если бы цены акции и фьючерса сошлись, получил бы: 37*365/11*100/14500 = 8.47% годовых.

Индикатора тогда еще не было. Заходил просто в ручном режиме. Сегодня вышел на раздвижке 22р (118.31 и 11853). Индикатор уже был. Получилось взять (за 4 дня в позиции) 15р, т.е. 15*365/4*100/14500 = 9.44%. Даже больше, чем планировалось, когда плана еще не было. Выход на скрине показан вертикальной линией (нижнее подокно):

Заметки по сберу. Можно было выйти лучше. Можно было выйти хуже. В минус выйти было крайне сложно. Войти лучше можно было, видел продолжительные раздвижки в 60 и более рублей. В целом, арбитражные возможности есть.

По отображению индикатора: серые столбцы показывают, что новая пара тиков сформировалась менее чем через 200 миллисекунд после предыдущей. Соответственно, очень часто, когда доходность резко прыгает, ее так же резко сжирают. Поэтому замечание @Andrey Miguzov очень верное, что после нахождения целевой доходности нужно проверить, что эту доходность сразу же не съели, проверить стакан, что хватает лотов для выхода и только потом открываться/закрываться.

Хочу поблагодарить всех, кто помогал советом и участвовал в обсуждении. Особенно хочу поблагодарить Михаила @prostotrader за идею (которую он уже много лет описывает здесь) и @Andrey Miguzov, без которого запустить все это дело в финаме было тяжело.

Файлы:
 
tapo #:

Получил промежуточный результат в виде индикатора, который показывает возможности входа и выхода по описываемой здесь стратегии.

Реальный пример. SBER - SBRF-6.22

По Сберу стоял в сделках с 6.06. Вошел на раздвижке в 50р (117.68 и 11818). Комиссия 13р (вход+выход). Потребовалось 14500р. Если бы сидел до 16.06 (как и планировал) и если бы цены акции и фьючерса сошлись, получил бы: 37*365/11*100/14500 = 8.47% годовых.

Индикатора тогда еще не было. Заходил просто в ручном режиме. Сегодня вышел на раздвижке 22р (118.31 и 11853). Индикатор уже был. Получилось взять (за 4 дня в позиции) 15р, т.е. 15*365/4*100/14500 = 9.44%. Даже больше, чем планировалось, когда плана еще не было. Выход на скрине показан вертикальной линией (нижнее подокно):

Заметки по сберу. Можно было выйти лучше. Можно было выйти хуже. В минус выйти было крайне сложно. Войти лучше можно было, видел продолжительные раздвижки в 60 и более рублей. В целом, арбитражные возможности есть.

По отображению индикатора: серые столбцы показывают, что новая пара тиков сформировалась менее чем через 200 миллисекунд после предыдущей. Соответственно, очень часто, когда доходность резко прыгает, ее так же резко сжирают. Поэтому замечание @Andrey Miguzov очень верное, что после нахождения целевой доходности нужно проверить, что эту доходность сразу же не съели, проверить стакан, что хватает лотов для выхода и только потом открываться/закрываться.

Хочу поблагодарить всех, кто помогал советом и участвовал в обсуждении. Особенно хочу поблагодарить Михаила @prostotrader за идею (которую он уже много лет описывает здесь) и @Andrey Miguzov, без которого запустить все это дело в финаме было тяжело.

Учитывая, что близится экспирация, выложу очень важный кусок регламента брокера. Пока не проверял как дело обстоит в Открытии. Нюанс важный, я про него узнал случайно:

21.15. Не позднее окончания основной торговой сессии торгового дня ПАО Московская Биржа,
предшествующего последнему дню заключения поставочного фьючерсного контракта или последнему дню
срока действия (заключения) поставочного опционного контракта, базисным активом которого является
поставочный фьючерсный контракт (при условии, что день / последний день осуществления права требования
по такому опционному контракту совпадает с днем исполнения фьючерсного контракта, являющегося
базисным активом) и при условии, что базисным активом указанных фьючерсных контрактов являются
ценные бумаги или валюта, Клиент, при наличии соответствующего волеизъявления, обязуется:
 предоставить Брокеру уведомление о своем намерении исполнить поставочный ПФИ,
оформленное в соответствии с Приложением № 25 к Регламенту. Под исполнением поставочного ПФИ
имеется в виду:
...
Под исполнением обязательств по поставке понимается исполнение обязательств по сделке покупки /
продажи базисного актива.
 обеспечить наличие необходимых счетов, в т. ч. счета депо в депозитарии АО «ФИНАМ» при
необходимости зачисления на него ценных бумаг в ходе исполнения ПФИ, а также обеспечить наличие на
Счете Клиента у Брокера соответствующих активов для исполнения ПФИ (или нескольких ПФИ),
указанного(ых) выше.
21.16. Брокер вправе при получении вышеуказанного уведомления Клиента заблокировать активы,
необходимые для исполнения соответствующих поставочных контрактов, до момента исполнения
обязательств по данным контрактам.
Если обязательства Клиента, указанные в п. 21.15 Регламента не будут исполнены (в виду отсутствия
волеизъявления Клиента или по иным причинам), Брокер вправе отказаться от организации поставки
базисного актива по соответствующему контракту, а также от осуществления права требования Клиента -
держателя опциона, а также Клиент поручает Брокеру в любое время в течение основной торговой сессии
последнего дня обращения указанного контракта совершить сделки закрытия открытых позиций по
соответствующим ПФИ, совершив по рыночной цене соответственно покупку / продажу их в количестве,
соответствующем объему открытой позиции.
В случае отказа Брокера от организации поставки базисного актива по вышеуказанным причинам
Клиент обязуется возместить Брокеру убытки, понесенные последним в связи с выплатой санкций,
предусмотренных документами Торговой системы, включая, но не ограничиваясь, выплатой суммы
уплаченного Брокером штрафа. Клиент предоставляет Брокеру право списывать сумму таких убытков со
Счета Клиента у Брокера в безакцептном порядке.
21.17. Если Клиент имеет на Срочном рынке FORTS открытые позиции по поставочным ПФИ,
указанным в абз. 1 п. 21.15 Регламента, но при условии, что базисным активом соответствующего
поставочного фьючерсного контракта (в т. ч. являющегося базисным активом соответствующего
поставочного опционного контракта) является товар, Клиент поручает Брокеру в любое время в течение
последних 5 (пяти) торговых дней заключения (срока действия) данных ПФИ заключить сделки закрытия
позиций по этим ПФИ, совершив по рыночной цене соответственно покупку / продажу их в количестве,
соответствующем объему открытой позиции.
 
Andrey Miguzov #:

Учитывая, что близится экспирация, выложу очень важный кусок регламента брокера. Пока не проверял как дело обстоит в Открытии. Нюанс важный, я про него узнал случайно:

как раз экспирация ч/з 5 дней

;)

 
tapo #:

Получил промежуточный результат в виде индикатора, который показывает возможности входа и выхода по описываемой здесь стратегии.

Реальный пример. SBER - SBRF-6.22

По Сберу стоял в сделках с 6.06. Вошел на раздвижке в 50р (117.68 и 11818). Комиссия 13р (вход+выход). Потребовалось 14500р. Если бы сидел до 16.06 (как и планировал) и если бы цены акции и фьючерса сошлись, получил бы: 37*365/11*100/14500 = 8.47% годовых.

Индикатора тогда еще не было. Заходил просто в ручном режиме. Сегодня вышел на раздвижке 22р (118.31 и 11853). Индикатор уже был. Получилось взять (за 4 дня в позиции) 15р, т.е. 15*365/4*100/14500 = 9.44%. Даже больше, чем планировалось, когда плана еще не было. Выход на скрине показан вертикальной линией (нижнее подокно):

Заметки по сберу. Можно было выйти лучше. Можно было выйти хуже. В минус выйти было крайне сложно. Войти лучше можно было, видел продолжительные раздвижки в 60 и более рублей. В целом, арбитражные возможности есть.

По отображению индикатора: серые столбцы показывают, что новая пара тиков сформировалась менее чем через 200 миллисекунд после предыдущей. Соответственно, очень часто, когда доходность резко прыгает, ее так же резко сжирают. Поэтому замечание @Andrey Miguzov очень верное, что после нахождения целевой доходности нужно проверить, что эту доходность сразу же не съели, проверить стакан, что хватает лотов для выхода и только потом открываться/закрываться.

Хочу поблагодарить всех, кто помогал советом и участвовал в обсуждении. Особенно хочу поблагодарить Михаила @prostotrader за идею (которую он уже много лет описывает здесь) и @Andrey Miguzov, без которого запустить все это дело в финаме было тяжело.

Не знаю можно ли в Финаме торговать фьюч (Si-9.22) против СПОТ доллар, но сейчас, из-за того что рынок просто "безбашенный",  сегодня можно снять на этой паре 34% и больше годовых.

Классикой (не скальпинг)

Добавлено

Правда там и вложения от 100К

 
prostotrader #:

Не знаю можно ли в Финаме торговать фьюч (Si-9.22) против СПОТ доллар, но сейчас, из-за того что рынок просто "безбашенный",  сегодня можно снять на этой паре 34% и больше годовых.

Классикой (не скальпинг)

Добавлено

Правда там и вложения от 100К

сегодня делал расчет с т.зрения доходности

получилось что торговля на форексе на центовом счете по доходности идентична МОЕХ

полная копия

то есть стоимость тика при обьеме в 1 лот на центовом счете имеет точно такую же стоимость тика при обьеме в 1 лот на МОЕХ на рублевом счете

а если учесть то, что затрат при этом на форексе(при плече 1:500) в 500 раз меньше, то...., увы....

;)

 
Renat Akhtyamov #:

сегодня делал расчет с т.зрения доходности

получилось что торговля на форексе на центовом счете по доходности идентична МОЕХ

полная копия

Не смешите! ФОРЕКС - это для миллиардеров, а на МОЕХ скромные заработки...

Причина обращения: