prog_ass:
Здравствуйте.
Есть ли возможность реализовать на мт5 поиск крупных сайзов в стакане акций? Может есть наработки? Кто-то может помочь реализовать идею? И насколько стакан мт5 актуален в этом плане?
Доброе утро!
Возможно Вы это имели в виду, даю Вам ссылку на свою давнюю работу:
https://www.facebook.com/trademts/photos/a.856326097753359/973030389416262/
Правда, там был фьючерс на доллар/рубль.
Очень муторный был труд, не все удобства были сделаны, но в принципе вопрос был решён.
Общая ссылка:
https://www.facebook.com/trademts
Marvin Trade
- www.facebook.com
Предлагаю всем желающих на 3-и месяца поторговать с помощью торгового робота на платформе МТ5. Необходимые условия: - минимальный депозит для торговли - 3000 долл.сша; - ваш брокер с минимальными ограничениями к выставляемым лимитным ордерам в виде пунктов или расстояния от бид-цены и аск-цены; - терпение и умение держать риск, не вмешиваясь...
Ну 20 так 20
prog_ass:
Ну 20 так 20
Ну 20 так 20
Нумерация идет от середины вверх и вниз. Счет начинается с нуля.
//+------------------------------------------------------------------+ //| Min_max_vol.mq5 | //| Copyright 2021, prostotrader | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, prostotrader" #property link "https://www.mql5.com" #property version "1.00" //--- bool is_book; struct BOOK_DATA { double s_price; long s_volume; int s_pos; int s_mem; bool s_flag; double b_price; long b_volume; int b_pos; }book_data; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { is_book = MarketBookAdd(Symbol()); if(is_book == false) { Print("No book added!"); return(INIT_FAILED); } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { if(is_book == true) MarketBookRelease(Symbol()); } //+------------------------------------------------------------------+ //| Get stakan function | //+------------------------------------------------------------------+ bool GetBook(const string aSymbol) { MqlBookInfo book_price[]; if(MarketBookGet(aSymbol, book_price) == true)//getBook ) { int size = ArraySize(book_price); if(size > 0) { book_data.s_flag = false; book_data.s_pos = 0; book_data.s_volume = LONG_MIN; book_data.b_pos = 0; book_data.b_volume = LONG_MIN; for(int i = 0; i < size; i++) { if(book_price[i].type == BOOK_TYPE_SELL) { if(book_price[i].volume > book_data.s_volume) { book_data.s_price = book_price[i].price; book_data.s_volume = book_price[i].volume; book_data.s_pos = i; } } else if(book_price[i].type == BOOK_TYPE_BUY) { if(book_data.s_flag == false) { book_data.s_mem = i; book_data.s_flag = true; } if(book_price[i].volume > book_data.b_volume) { book_data.b_price = book_price[i].price; book_data.b_volume = book_price[i].volume; book_data.b_pos = i; } } } book_data.s_pos = book_data.s_mem - 1 - book_data.s_pos; book_data.b_pos = book_data.b_pos - book_data.s_mem; return(true); } } return(false); } //+------------------------------------------------------------------+ //| BookEvent function | //+------------------------------------------------------------------+ void OnBookEvent(const string &symbol) { if(symbol == Symbol()) { if(GetBook(Symbol()) == true) { Print("Sell max price = ", book_data.s_price); Print("Sell max price volume = ", book_data.s_volume); Print("Sell max price position = ", book_data.s_pos); Print("Buy max price = ", book_data.b_price); Print("Buy max price volume = ", book_data.b_volume); Print("Buy max price position = ", book_data.b_pos); } } } //+------------------------------------------------------------------+
Результат
2021.05.10 12:57:54.414 Min_max_vol (GAZP,H1) Sell max price = 243.18 2021.05.10 12:57:54.414 Min_max_vol (GAZP,H1) Sell max price volume = 886 2021.05.10 12:57:54.414 Min_max_vol (GAZP,H1) Sell max price position = 15 2021.05.10 12:57:54.414 Min_max_vol (GAZP,H1) Buy max price = 242.8 2021.05.10 12:57:54.414 Min_max_vol (GAZP,H1) Buy max price volume = 2492 2021.05.10 12:57:54.414 Min_max_vol (GAZP,H1) Buy max price position = 16 2021.05.10 12:57:54.434 Min_max_vol (GAZP,H1) Sell max price = 243.18 2021.05.10 12:57:54.434 Min_max_vol (GAZP,H1) Sell max price volume = 886 2021.05.10 12:57:54.434 Min_max_vol (GAZP,H1) Sell max price position = 15 2021.05.10 12:57:54.434 Min_max_vol (GAZP,H1) Buy max price = 242.8 2021.05.10 12:57:54.434 Min_max_vol (GAZP,H1) Buy max price volume = 2492 2021.05.10 12:57:54.434 Min_max_vol (GAZP,H1) Buy max price position = 16
Спасибо. А как тут выделять крупный объем отдельным цветом, для скальпинга нет времени читать эту ленту.
prog_ass:
Спасибо. А как тут выделять крупный объем отдельным цветом, для скальпинга нет времени читать эту ленту.
Спасибо. А как тут выделять крупный объем отдельным цветом, для скальпинга нет времени читать эту ленту.
Сделайте 2 лайбла и выводите туда (выше просто работающий пример)
Я вообще не знаю что такое лайбл))) я юзер
prog_ass:
Я вообще не знаю что такое лайбл))) я юзер
Лайбл это тоже самое, что лэйбл)
Я вообще не знаю что такое лайбл))) я юзер
Торговые приложения для MetaTrader 5 на заказ
- 2021.05.14
- www.mql5.com
Самый большой фриланс c разработчиками программ на MQL5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Есть ли возможность реализовать на мт5 поиск крупных сайзов в стакане акций? Может есть наработки? Кто-то может помочь реализовать идею? И насколько стакан мт5 актуален в этом плане?