1. имеем расписание торгов на московской бирже
http://moex.com/s96
Продолжительность торговой сессии на рынке фьючерсов и опционов с 10:00-18:45, 19:00-23:50 МСК.
Расписание работы:
10.00 - 14.00 Основная торговая сессия (дневной Расчетный период)
14.00 - 14.05 Дневная клиринговая сессия (промежуточный клиринг)
14.05 - 18.45 Основная торговая сессия (вечерний Расчетный период)
18.45 - 19.00 Вечерняя клиринговая сессия (основной клиринг)
19.00 - 23.50 Вечерняя дополнительная торговая сессия
3. имеем спецификацию контракта
SymbolInfoSessionTrade(.....) выдает
для
session_index = 0 получаю левый интервал
session_index = 1 получаю правый интервал
Вопрос:
как соотносится расписание торговых сесий московской биржи и полученные программно
временные интервалы торговых сессий ?
когда мне разрешено открывать позиции ? в правом и левом интервалах или согласно расписанию торгов биржи ?
Ордера (простым смертным) можно выставлять только в указанное в рассписании время.
Использовать функцию SymbolInfoSessionTrade нет никакого смысла (расписание и так известно)
Я торговое время определяю по таймеру, который работает с периодом 0,5 с
void OnTimer() { MqlDateTime tick_time; //--- if(CheckTradingTime(tick_time)) { } }
Ордера (простым смертным) можно выставлять только в указанное в рассписании время.
Использовать функцию SymbolInfoSessionTrade нет никакого смысла (расписание и так известно)
Я торговое время определяю по таймеру, который работает с периодом 0,5 с
т.е. выставлять ордера, открывать позиции, модифицировать ордера и позиции
можно только по этому расписанию:
Расписание работы:
10.00 - 14.00 Основная торговая сессия (дневной Расчетный период)
14.00 - 14.05 Дневная клиринговая сессия (промежуточный клиринг)
14.05 - 18.45 Основная торговая сессия (вечерний Расчетный период)
18.45 - 19.00 Вечерняя клиринговая сессия (основной клиринг)
19.00 - 23.50 Вечерняя дополнительная торговая сессия
Само собой, это расписание "и так известно",
но SymbolInfoSessionTrade (....) выдает другое расписание, как это понимать ? функция не работает или еще что ?
т.е. выставлять ордера, открывать позиции, модифицировать ордера и позиции
можно только по этому расписанию:
Расписание работы:
10.00 - 14.00 Основная торговая сессия (дневной Расчетный период)
14.00 - 14.05 Дневная клиринговая сессия (промежуточный клиринг)
14.05 - 18.45 Основная торговая сессия (вечерний Расчетный период)
18.45 - 19.00 Вечерняя клиринговая сессия (основной клиринг)
19.00 - 23.50 Вечерняя дополнительная торговая сессия
Само собой, это расписание "и так известно",
но SymbolInfoSessionTrade (....) выдает другое расписание, как это понимать ? функция не работает или еще что ?
Я так и не разобрался с этим, когда мне тоже нужно было знать торговое время
bool CheckTradingTime(MqlDateTime &tick_time) { datetime lk_time=TimeTradeServer(tick_time); if(( tick_time.day_of_week==int(SATURDAY)) || (tick_time.day_of_week==int(SUNDAY))) { return( false ); } #ifdef DEBUG if(( tick_time.hour>=0) && (tick_time.hour<6)) // DEBUG 6-00 { return( false ); } #else if(( tick_time.hour>=0) && (tick_time.hour<10)) { return( false ); } #endif // 13 * 3600 + 59 * 60 + 30 = 50370 - 13:59:30 // 14 * 3600 = 50400 - 14:00:00 // 14 * 3600 + 30 = 50430 - 14:00:30 // 14 * 3600 + 60 = 50460 - 14:01:00 // 18 * 3600 + 44 * 60 + 30 = 67470 - 18:44:30 // 18 * 3600 + 45 * 60 = 67500 - 18:45:00 // 18 * 3600 + 45 * 60 + 30 = 67530 - 18:45:30 // 18 * 3600 + 46 * 60 = 67560 - 18:46:00 // 19 * 3600 = 68400 - 19:00:00 // 19 * 3600 + 60 = 68460 - 19:01:00 // 23 * 3600 + 49 * 60 + 30 = 85770 - 23:49:30 // 23 * 3600 + 50 * 60 = 85800 - 23:50:00 // 23 * 3600 + 50 * 60 + 30 = 85830 - 23:50:30 // 23 * 3600 + 51 * 60 = 85860 - 23:51:00 //--- ulong trade_time=tick_time.hour*3600+tick_time.min*60+tick_time.sec; //--- PUT YOU CODE HERE return(true); }
Я так и не разобрался с этим, когда мне тоже нужно было знать торговое время
TimeTradeServer == TimeLocal
Время сервера зависит от времени на вашем компьютере. Время вашего компьютера может отличаться от времени биржи и тем более от времени сервера.
Реальное время можно узнать только из котировок, а если котировок нет - то никак.
TimeTradeServer == TimeLocal
Время сервера зависит от времени на вашем компьютере. Время вашего компьютера может отличаться от времени биржи и тем более от времени сервера.
Реальное время можно узнать из котировок, а если котировок нет - то никак.
Да, это так, но почему-то работает.
т.е. выставлять ордера, открывать позиции, модифицировать ордера и позиции
можно только по этому расписанию:
Расписание работы:
10.00 - 14.00 Основная торговая сессия (дневной Расчетный период)
14.00 - 14.05 Дневная клиринговая сессия (промежуточный клиринг)
14.05 - 18.45 Основная торговая сессия (вечерний Расчетный период)
18.45 - 19.00 Вечерняя клиринговая сессия (основной клиринг)
19.00 - 23.50 Вечерняя дополнительная торговая сессия
Само собой, это расписание "и так известно",
но SymbolInfoSessionTrade (....) выдает другое расписание, как это понимать ? функция не работает или еще что ?
покажите какое расписание выдает и код как вы его получаете
получаю вот так:
/* SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY */ datetime from; datetime to; ENUM_DAY_OF_WEEK day_of_week = THURSDAY; uint session_index = 0; bool b_Result; //+------------------------------------------------------------------+ session_index = 0; //+------------------------------------------------------------------+ ResetLastError(); b_Result = SymbolInfoSessionTrade(_Symbol,day_of_week,session_index,from,to); if (b_Result) { Print("from=",from); Print("to=",to); } else { int i_Error = GetLastError(); Print("Error =",i_Error); } //+------------------------------------------------------------------+ session_index = 1; //+------------------------------------------------------------------+ ResetLastError(); b_Result = SymbolInfoSessionTrade(_Symbol,day_of_week,session_index,from,to); if (b_Result) { Print("from=",from); Print("to=",to); } else { int i_Error = GetLastError(); Print("Error =",i_Error); } //+------------------------------------------------------------------+
Для брокер - "Открытие", демо счет,
для RTS-9.16 на четверг получаю такое расписание,
для сессии 0:
from 05:45 to 09:10
Для сессии 1:
from 08:45 to 16:00
в соответствии со спецификацией контракта "сессии... торговые"
посмотрите картинку в первом посте...
*******************************
Для брокер - "Открытие", реальный счет,
для RTS-9.16 на четверг получаю такое расписание,
для сессии 0:
from 00:00 to 00:05
Для сессии 1:
from 08:45 to 19:00
получаю вот так:
Для брокер - "Открытие", демо счет,
для RTS-9.16 на четверг получаю такое расписание,
для сессии 0:
from 05:45 to 09:10
Для сессии 1:
from 08:45 to 16:00
в соответствии со спецификацией контракта "сессии... торговые"
посмотрите картинку в первом посте...
*******************************
Для брокер - "Открытие", реальный счет,
для RTS-9.16 на четверг получаю такое расписание,
для сессии 0:
from 00:00 to 00:05
Для сессии 1:
from 08:45 to 19:00
Чем не нравится мой вариант?
нормальный у вас вариант, но он строго заточен на расписание московской биржи:
Расписание работы:
10.00 - 14.00 Основная торговая сессия (дневной Расчетный период)
14.00 - 14.05 Дневная клиринговая сессия (промежуточный клиринг)
14.05 - 18.45 Основная торговая сессия (вечерний Расчетный период)
18.45 - 19.00 Вечерняя клиринговая сессия (основной клиринг)
19.00 - 23.50 Вечерняя дополнительная торговая сессия
вопрос ведь в том, какой смысл в спецификации контракта имеют поля
"сессии торговые"
которые выдает функция
она выдает другое расписание, вот в чем вопрос...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
1. имеем расписание торгов на московской бирже
http://moex.com/s96
Продолжительность торговой сессии на рынке фьючерсов и опционов с 10:00-18:45, 19:00-23:50 МСК.
Расписание работы:
10.00 - 14.00 Основная торговая сессия (дневной Расчетный период)
14.00 - 14.05 Дневная клиринговая сессия (промежуточный клиринг)
14.05 - 18.45 Основная торговая сессия (вечерний Расчетный период)
18.45 - 19.00 Вечерняя клиринговая сессия (основной клиринг)
19.00 - 23.50 Вечерняя дополнительная торговая сессия
3. имеем спецификацию контракта
SymbolInfoSessionTrade(.....) выдает
для
session_index = 0 получаю левый интервал
session_index = 1 получаю правый интервал
Вопрос:
как соотносится расписание торговых сесий московской биржи и полученные программно
временные интервалы торговых сессий ?
когда мне разрешено открывать позиции ? в правом и левом интервалах или согласно расписанию торгов биржи ?