Это открытие перед новостью. Дальше сам фантазируй.
P.S. Тут мало кто делится. ***
//opens orders before news #property strict extern string emp3 = "/////////////////////////////////////////////////////////"; extern bool use_news = true; extern int Seconds_to_news_to_open = 10; extern bool call_news_from_EA = true; string news_name1="mFFCal_Minutes0"; extern string Indicator_on_chart = "FFCal_mini_DailyFX_nmc"; extern bool IncludeHigh = true; extern bool IncludeMedium = true; extern bool IncludeLow = false; int Sig_p; ////////////////////////////////////////////////////////////// int OnInit() { if(use_news) { EventSetTimer(1); if(call_news_from_EA) { iCustom(Symbol(),0,Indicator_on_chart,IncludeHigh,IncludeMedium,IncludeLow,IncludeSpeaks,IsEA_Call,OffsetHours,AllowWebUpdates,minutes_update,Alert1MinsBefore,Alert2MinsBefore,ReportAllPairs,SkipSameTimeNews ,EnableLogging,ShowEventsNum,ShowTextOneLine,TxtSize,TxtColorNews,TxtColorOldNews,TxtColorImpactHigh,TxtColorImpactMed,TxtColorImpactLow,NewsCorner,SaveXmlFiles,UseDailyFXData,0,0); } } return(INIT_SUCCEEDED); } //////////////////////////////////////////////////////////////////////// void OnTimer() { datetime news1_time=datetime(StringSubstr(ObjectGetString(0,news_name1,OBJPROP_TEXT),0,20)); if(news1_time>TimeLocal() && news1_time-TimeLocal()<=Seconds_to_news_to_open) Sig_p=1; else Sig_p=0; }
Файлы:
пока сложновато для меня, у меня была идея так сделать
extern int T = 15; //время отступа от новости
int TimeNew, Выключить_сову, Включить_сову ;
TimeNew = iCustom(Новостной индюк)
Выключить_сову = TimeNew - T;
Включить_сову = TimeNew + T;
if( (Hour() > Выключить_сову && Hour() < Включить_сову) )
{
можно торговать
}
сижу на работе, так что пока только так пример могу скинуть
работаспособен?
extern int T = 15; //время отступа от новости
int TimeNew, Выключить_сову, Включить_сову ;
TimeNew = iCustom(Новостной индюк)
Выключить_сову = TimeNew - T;
Включить_сову = TimeNew + T;
if( (Hour() > Выключить_сову && Hour() < Включить_сову) )
{
можно торговать
}
сижу на работе, так что пока только так пример могу скинуть
работаспособен?
Ooops:
пока сложновато для меня, у меня была идея так сделать
extern int T = 15; //время отступа от новости
int TimeNew, Выключить_сову, Включить_сову ;
TimeNew = iCustom(Новостной индюк)
Выключить_сову = TimeNew - T;
Включить_сову = TimeNew + T;
if( (Hour() > Выключить_сову && Hour() < Включить_сову) )
{
можно торговать
}
сижу на работе, так что пока только так пример могу скинуть
работаспособен?
Переключатель торговых режимов CTradeState в составе универсального торгового движка. Он же в виде отдельного модуля: https://www.mql5.com/ru/code/14335
пока сложновато для меня, у меня была идея так сделать
extern int T = 15; //время отступа от новости
int TimeNew, Выключить_сову, Включить_сову ;
TimeNew = iCustom(Новостной индюк)
Выключить_сову = TimeNew - T;
Включить_сову = TimeNew + T;
if( (Hour() > Выключить_сову && Hour() < Включить_сову) )
{
можно торговать
}
сижу на работе, так что пока только так пример могу скинуть
работаспособен?
TradeState - переключатель торгового режима эксперта в зависимости от времени
- голосов: 19
- 2015.12.02
- Vasiliy Sokolov
- www.mql5.com
Класс ограничивает торговлю эксперта по времени. Обладает гибкими возможностями конфигурирования, позволяя задавать произвольное количество временных зон, а также разрешать торговлю только по определенным дням недели.
Классная вещь, спасибо, НО
обидно что она вроде только на MT5, а я сову написал на мт4 и все индюки от совы на мт4, так что возможности перехода на мт5 нету(
да и она не полностью автоматическая получается, что не очень приятно
обидно что она вроде только на MT5, а я сову написал на мт4 и все индюки от совы на мт4, так что возможности перехода на мт5 нету(
да и она не полностью автоматическая получается, что не очень приятно
Ooops:
Классная вещь, спасибо, НО
обидно что она вроде только на MT5, а я сову написал на мт4 и все индюки от совы на мт4, так что возможности перехода на мт5 нету(
да и она не полностью автоматическая получается, что не очень приятно
Классная вещь, спасибо, НО
обидно что она вроде только на MT5, а я сову написал на мт4 и все индюки от совы на мт4, так что возможности перехода на мт5 нету(
да и она не полностью автоматическая получается, что не очень приятно
TradeState платформонезависимая вещица. Никто не мешает использовать его в MT4.
На счет второго не понял. Что значит "не полностью автоматическая"? TradeState не может знать, какие именно ограничения по времени нужны конкретно Вам, поэтому его приходится конфигурировать. Примерное конфигурирование может быть таким:
CTradeState State; bool ConfigState(void) { datetime data_news = GetNewsTime(); // Каким-то способобом узнаем дату выхода ближайшей новости datetime stop_trade = data_news - 15*60; // Находим время за 15 минут до выхода новости datetime start_trade = data_news + 15*60; // Находим время через 15 минут после выхода новости MqlDateTime dt; TimeToStruct(data_news, dt); // Находим день недели, когда должна выйти новость. State.SetTradeState(stop_trade, start_trade, // Ставим режим остановки торгов за 15 минут до и 15 минут после dt.day_of_week, // выхода новости, в этот день недели TRADE_WAIT); // Wait означает, что никаких действий не требуется производить. }
Теперь, когда TradeState сконфигурирован, торгуем:
void OnTick() { if(State.GetState(TimeCurrent()) == TRADE_WAIT) return; // Здесь исполняем торговую логику }
Как я понял с TradeState надо будет посидеть некоторое время на выходных или в начале торгового дня и записать в него все необходимые периоды. Если не правильно понял то извиняюсь, еще зеленый в MQL. А если я прав то получается надо постоянно вписывать в него новые ограничения и терять на это время, что в принцепи можно сделать автоматическим.
Пока не придумаю как сделать полностью автоматическим, буду пользоваться TradeState, так что спасибо)
Пока не придумаю как сделать полностью автоматическим, буду пользоваться TradeState, так что спасибо)
Ooops:
Как я понял с TradeState надо будет посидеть некоторое время на выходных или в начале торгового дня и записать в него все необходимые периоды. Если не правильно понял то извиняюсь, еще зеленый в MQL. А если я прав то получается надо постоянно вписывать в него новые ограничения и терять на это время, что в принцепи можно сделать автоматическим.
Пока не придумаю как сделать полностью автоматическим, буду пользоваться TradeState, так что спасибо)
Как я понял с TradeState надо будет посидеть некоторое время на выходных или в начале торгового дня и записать в него все необходимые периоды. Если не правильно понял то извиняюсь, еще зеленый в MQL. А если я прав то получается надо постоянно вписывать в него новые ограничения и терять на это время, что в принцепи можно сделать автоматическим.
Пока не придумаю как сделать полностью автоматическим, буду пользоваться TradeState, так что спасибо)
Не правильно поняли. TradeState можно конфигурировать налету: получили дату новости - сконфигурировали TradeState. Конфигурирование можно добавить прямо в OnTick например:
void OnTick() { datetime data_news = GetNewsTime(); // Каким-то способом узнаем дату выхода ближайшей новости if(State.GetState(data_news) != TRADE_WAIT) // Если время остановки еще не занесено в TradeState - заносим его туда ConfigState(data_news, TRADE_WAIT) // с помощью метода ConfigState if(State.State(CurrenTime) == TRADE_WAIT) // Торговля приостановлена? - выходим и ничего не делаем return; else { // Здесь размещается торговая логика // Торговля разрешена // эксперта. } }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотя бы подскажите как это реализовать.