Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Steve Cartwright Trader Camel CCI MACD - эксперт для MetaTrader 5
- Опубликовал:
- Vladimir Karputov
- Просмотров:
- 2247
- Рейтинг:
- Опубликован:
- 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 на основе сигналов двух индикаторов IBS_RSI_CCI_v4
CDir (MT5) - класс для получения оглавления каталогаКласс CDir предназначен для получения сведений о файлах и папках вне "песочницы" MQL5 подобно команде MS-DOS Dir. Задействован вызов системных DLL, поэтому следует разрешить их использование.
Усреднение значений (RSI) при помощи MovingAverages.mqh. Два индикатора MA.
Trade on qualified RSIТорговая стратегия по индикатору RSI. Проверка на достаточность средств перед открытием позиции.