Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Опубликовал:
- Vladimir Karputov
- Просмотров:
- 2260
- Рейтинг:
- Опубликован:
- 2017.03.09 14:09
- Обновлен:
- 2018.07.03 17:13
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Автор идеи — John Smith, автор кода mq5 — barabashkakvn.
Параметры установленные в советнике — для символа USDJPY, таймфрейм H1.
Используются две МA, одна MACD и одна CCI. OnTradeTransaction используется для получения времени открытия позиции.
Все значения индикаторов берутся с бара №1.
//--- Indicator Setup CAMELHIGHP1=iMAGet(handle_iMA_PRICE_HIGH,1); CAMELLOWP1=iMAGet(handle_iMA_PRICE_LOW,1); // MACDSP1=iMACDGet(SIGNAL_LINE,1); MACDSP2=iMACDGet(SIGNAL_LINE,2); // MACDHP1=iMACDGet(MAIN_LINE,1); MACDHP2=iMACDGet(MAIN_LINE,2); // CCIP1=iCCIGet(1);
При этом осуществляется контроль: на данном баре уже была открыта позиция — таким образом, не приходится делать обход по всем позициям (ведь на данном торговом счёте могут работать и другие советники).
Учёт времени открытия производится в OnTradeTransaction. При этом, если был пойман момент закрытия позиции, то время открытия обнуляется:
//+------------------------------------------------------------------+ //| TradeTransaction function | //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- get transaction type as enumeration value ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- if transaction is result of addition of the transaction in history if(type==TRADE_TRANSACTION_DEAL_ADD) { long deal_entry =0; long deal_time =0; string deal_symbol =""; long deal_magic =0; if(HistoryDealSelect(trans.deal)) { deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY); deal_time=HistoryDealGetInteger(trans.deal,DEAL_TIME); deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL); deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC); } else return; if(deal_symbol==m_symbol.Name() && deal_magic==m_magic) { if(deal_entry==DEAL_ENTRY_OUT) { m_last_close_time=(datetime)deal_time; } else if(deal_entry!=DEAL_ENTRY_OUT) { m_last_close_time=0; } } } }
![Exp_IBS_RSI_CCI_v4_X2](https://c.mql5.com/i/code/expert.png)
Трендовая торговая система Exp_IBS_RSI_CCI_v4_X2 на основе сигналов двух индикаторов IBS_RSI_CCI_v4
![CDir (MT5) - класс для получения оглавления каталога](https://c.mql5.com/i/code/library.png)
Класс CDir предназначен для получения сведений о файлах и папках вне "песочницы" MQL5 подобно команде MS-DOS Dir. Задействован вызов системных DLL, поэтому следует разрешить их использование.
![RSI trader v0.15](https://c.mql5.com/i/code/expert.png)
Усреднение значений (RSI) при помощи MovingAverages.mqh. Два индикатора MA.
![Trade on qualified RSI](https://c.mql5.com/i/code/expert.png)
Торговая стратегия по индикатору RSI. Проверка на достаточность средств перед открытием позиции.