← К каталогу
Исходный код · ID 564

Steve Cartwright Trader Camel CCI MACD

smc trader camel cci macd.mq4

Похожие материалы по тегам

2 to 1 strategy with signals.pineTradingView · 2 общих теговmulti_lot_scalper_a.mq4MQL4 / MetaTrader 4 · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.pineTradingView · 2 общих теговfresh algo v24 tradingview indicator_5918156155804195406.pineTradingView · 2 общих теговlinear regression channel.mq4MQL4 / MetaTrader 4 · 2 общих теговtrading criteria.mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник использует комбинацию технических индикаторов — скользящую среднюю SMA(3), экспоненциальные скользящие EMA(34) для определения уровня Camel, MACD(12,26,9) и CCI(20) — для принятия решений о открытии и закрытии позиций.

Советник открывает длинные позиции при условии, что CCI превышает 140, MACD main больше нуля и цена закрытия предыдущего бара выше EMA Camel High. Закрытие длинных позиций происходит при пересечении MACD main ниже MACD signal. Логика открытия коротких позиций в текущей версии отключена. Также в коде присутствуют блоки трейлинг-стопа и проверки истории, но они деактивированы условными операторами.

В качестве входных параметров задаются объём позиции, уровни фиксации прибыли и стоп-лосса, а также параметр трейлинг-стопа. Перед открытием ордера проверяется свободный маркет и количество открытых позиций на текущем символе. Советник работает только в рамках одного символа и не допускает одновременного наличия нескольких ордеров на один инструмент.

Настройки программы

НастройкаОписание
TakeProfit Уровень фиксации прибыли, задаваемый в пунктах; при значении менее 10 советник выводит предупреждение и не выполняет торговые операции.
Lots Размер лота (объём позиции), используемый при открытии ордеров через OrderSend.
InitialStop Начальный уровень стоп-лосса, объявленный как внешний параметр, но не используемый при отправке ордеров в текущей версии кода.
TrailingStop Уровень трейлинг-стопа в пунктах; логика перемещения стоп-лосса по тренду в коде отключена условным оператором.
Получить полный код

Поиск по коду файла

extern double TakeProfit = 50;
 extern double Lots = 1;
 extern double InitialStop = 10;
 extern double TrailingStop = 10;

 int cnt,total,ticket,MinDist;
 int SigPos;
 double MACDSP1, MACDSP2;
 double MACDHP1, MACDHP2;
 double CCIP1;
 double MASP1, MASP2;
 double CAMELHIGHP1, CAMELHIGHP2, CAMELLOWP1, CAMELLOWP2;

int init()
{
      // код доступен только после оплаты
   }

int start()
  {
      // код доступен только после оплаты
   }

   int Flag;

   double Spread;
   double ATR;
   double StopMA;
   int cnt, tmp;
   double SetupHigh, SetupLow;

  if(Bars<100){
     Print("bars less than 100");
     return(0);  
  }
  if(TakeProfit<10){
     Print("TakeProfit less than 10");
     return(0);  // check TakeProfit
  }

MASP1=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,1);
MASP2=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,2);

CAMELHIGHP1=iMA(NULL,0,34,0,MODE_EMA,PRICE_HIGH,1);
CAMELLOWP1=iMA(NULL,0,34,0,MODE_EMA,PRICE_LOW,1);

MACDSP1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MACDSP2=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,2);

MACDHP1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
MACDHP2=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);

CCIP1=iCCI(NULL,0,20,PRICE_CLOSE,1);

 StopMA=iMA(NULL,0,24,0,MODE_SMA,PRICE_CLOSE,1);
 MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);
 Spread=(Ask-Bid);

 if(0==1)
 {
 total=OrdersTotal();
 if (total>0)
  {
  for(cnt=0;cnt<total;cnt++)
   {  

     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
      {
       if(OrderStopLoss() < OrderOpenPrice())
      {
       if (OrderStopLoss() < Bid -(Point*(MinDist*2)))
       {
        OrderModify(OrderTicket(),OrderOpenPrice(),Bid -(Point*(2*MinDist)),OrderTakeProfit(),0,Lime);
        }}}
}

     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
      {
       if(OrderStopLoss() > OrderOpenPrice())
        {
         if (OrderStopLoss() > Ask + (Point*(MinDist*2)))
        {
         OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(Point*(MinDist*2)),OrderTakeProfit(),0,Lime);
        }}}
    }}

  total=OrdersTotal();
  if(total>0)
   { 
   for(cnt=0;cnt<total;cnt++)
    {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

 {
  if(MACDHP1 < MACDSP1)

   {                                 
    OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close LONG position
    }}

     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); 
      if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // check for symbol

 {
  if(MACDHP1 > MACDSP1)

   {   
    OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close SHORT position
     }}
  }  // for loop return
 }   // close 1st

Показано первые 50% кода (символов: 4215)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
421,50₽ ≈ $5.15