ElektroYar
Новичок
- Регистрация
- 18.06.19
- Сообщения
- 13
- Реакции
- 33
ElektroYar не предоставил никакой дополнительной информации.
Всем привет. Для платформы брокера Intrade.bar создан бесплатный бот с открытым исходным кодом - intrade-bar-console-bot.
Настройка бота
Бот в момент запуска ищет файл config.json, который расположен в папке с программой. Файл config.json содержит json структуру, которая определяет настройки бота.
Настройки бота в файле выглядят примерно так:
Выберите один из способов задания настроек и укажите свой email и password. Файл config.json можно отредактировать любым блокнотом. Не забудьте, что файл config.json это структура json, т.е. сохраняйте синтаксис (не удаляйте скобочки, запятые).
После запуска программы она будет ждать соединения через named pipe. При этом программа выступает в роли сервера именованных каналов. По умолчанию сервер называется intrade_bar_console_bot. Робот отсылает через named pipe баланс, состояние соединения с брокером, цены и состояния сделок, а принимает команды на открытие сделок.
Настройки советника МТ4
Советник для своей работы требует разрешения на использование dll библиотек.
Библиотека для MT4
Для работы с советником проект имеет библиотеку, которая упрощает взаимодействие по REST API
Все функции вы можете просмотреть в файле intrade_bar_bot_api.mqh. Также не забудьте изучить пример советника для MT4.
К сожалению, файлы бота слишком большие. Поэтому выкладываю на гугл:
Также скачать готовые сборки можно и с репозитория: https://github.com/NewYaroslav/intrade-bar-console-bot
API бота можно просмотреть тут: https://github.com/NewYaroslav/intrade-bar-console-bot/blob/master/INSTRUCTIONS.md#api-бота
- Брокер Intrade.bar разрешает автоторговлю ботами.
- Можно использовать бота на реальных и демо счетах совершенно бесплатно и без ограничения по времени.
- Для связи советника и МТ4/5 используются не файлы, как в аналогичных платных проектах, а именованные каналы, которые работают быстрее и с ними нет проблем совместимости, когда используются также и другие проекты.
- Советник может узнавать у Бота баланс, результат сделок, и получать котировки брокера раз в секунду по всем парам (если такая опция включена).
- Советник связывается с Ботом через открытый API. Для быстрого старта проект уже имеет готовую MQL библиотеку для работы с API бота.
- Бот собран для Windows х32 и х64, все библиотеки идут вместе с ботом. Боту не нужны для работы дополнительные фреймворки или браузер. Бот не имеет графической оболочки и потребляет мало ресурсов вашего ПК.
- Бот имеет открытый исходный код. Это означает, что при наличии навыков программирования. вы можете переписать бота под свои потребности.
- Для решения вопросов есть чат в телеге: https://tlgg.ru/open_bo_bot_chat
Настройка бота
Бот в момент запуска ищет файл config.json, который расположен в папке с программой. Файл config.json содержит json структуру, которая определяет настройки бота.
Настройки бота в файле выглядят примерно так:
Код:
{
"point":"1.intrade.bar",
"email":"[email protected]",
"password":"12345",
"demo_account":true,
"rub_currency":false,
"reboot":true,
"price_stream":false,
"delay_bets_ms":1000
}
- point - Точка доступа к брокеру
- email - Эмейл аккаунта
- password - Пароль аккаунта
- demo_account - Параметр определяет, использовать демо аккаунт, или реальный.
- rub_currency - Параметр определяет тип валюты баланса (RUB или USD)
- reboot - Перезагружать бота в 0:00 по UTC или нет
- price_stream - Флаг, включает поток котировок в совтеник для МТ4. Котировки обновляются раз в 1 сек.
- delay_bets_ms - Задержка между сделками. Если бот получает две и более сделки подряд, то он может открывать сделки с задержкой, если она установлена. Задержка может быть нужна, если брокер по каким-то причинам не разрешает одновременные сделки.
Код:
intrade-bar-console-bot.exe -email "[email protected]" -password "12345" /demo /usd
Выберите один из способов задания настроек и укажите свой email и password. Файл config.json можно отредактировать любым блокнотом. Не забудьте, что файл config.json это структура json, т.е. сохраняйте синтаксис (не удаляйте скобочки, запятые).
После запуска программы она будет ждать соединения через named pipe. При этом программа выступает в роли сервера именованных каналов. По умолчанию сервер называется intrade_bar_console_bot. Робот отсылает через named pipe баланс, состояние соединения с брокером, цены и состояния сделок, а принимает команды на открытие сделок.
Настройки советника МТ4
Советник для своей работы требует разрешения на использование dll библиотек.
Библиотека для MT4
Для работы с советником проект имеет библиотеку, которая упрощает взаимодействие по REST API
Код:
#include "..\Include\intrade_bar_bot_api.mqh"
IntradeBarConsoleBotApi api; // API для работы с роботом
void OnTimer() {
/* проверяем наличие соединения */
if(api.connected()) {
int expiration = 3;
ENUM_BO_TYPE bo_type = SPRINT;// Тип опциона
double amount = 50;
api.open_deal("EURUSD", "note: Bla bla bla", BUY, expiration, bo_type, amount);
} else {
/* соединение отсутствует, подключаемся */
if(api.connect(pipe_name)) {
Print("Успешное соединение с ", pipe_name);
} else {
Print("Соединение не удалось");
}
}
/* обновляем состояние API */
api.update(timer_period);
if(api.check_balance_change()) {
Print("Баланс: ",DoubleToString(api.get_balance(),2));
}
if(api.check_broker_connection_change()) {
Print("Соединение с брокером: ",api.check_broker_connection());
}
}
void IntradeBarConsoleBotApi::on_update_bet(IntradeBarBet &bet) {
string str_status;
if(bet.bet_status == IntradeBarBetStatus::WIN) str_status = "WIN";
else if(bet.bet_status == IntradeBarBetStatus::LOSS) str_status = "LOSS";
else if(bet.bet_status == IntradeBarBetStatus::UNKNOWN_STATE) str_status = "UNKNOWN_STATE";
else if(bet.bet_status == IntradeBarBetStatus::CHECK_ERROR) str_status = "CHECK_ERROR";
else if(bet.bet_status == IntradeBarBetStatus::OPENING_ERROR) str_status = "OPENING_ERROR";
else if(bet.bet_status == IntradeBarBetStatus::WAITING_COMPLETION) str_status = "WAITING_COMPLETION";
Print("update bet: signal_id = ", bet.note,", amount = ", bet.amount, " status = ", str_status);
}
void IntradeBarConsoleBotApi::on_update_prices(string &symbols[], double &prices[]) {
Print(symbols[0], " price: ", prices[0]);
}
Все функции вы можете просмотреть в файле intrade_bar_bot_api.mqh. Также не забудьте изучить пример советника для MT4.
К сожалению, файлы бота слишком большие. Поэтому выкладываю на гугл:
intrade-bar-console-bot-2V3-x64.zip
drive.google.com
intrade-bar-console-bot-2V3-x32.zip
drive.google.com
MQL4.zip
drive.google.com
Также скачать готовые сборки можно и с репозитория: https://github.com/NewYaroslav/intrade-bar-console-bot
Автообъединение сообщений:
API бота можно просмотреть тут: https://github.com/NewYaroslav/intrade-bar-console-bot/blob/master/INSTRUCTIONS.md#api-бота