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

CRYPTO S&R

ea crypto hunter- new version 8.5.7.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

CRYPTO S&R — торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник анализирует ценовые данные с использованием скользящих средних (LWMA), индикатора MACD, моментума и уровней Фрактала, а также полос Боллинджера для формирования торговых сигналов на открытие длинных и коротких позиций. Поддерживаются функции управления рисками: автоматический расчёт размера лота с учётом свободного маржи и истории убытков, трейлинг-стоп, перемещение стоп-лосса в безубыток и стратегия принудительного закрытия позиций. Советник работает на каждом тике и при появлении новой свечи, отправляет уведомления и почтовые сообщения при открытии сделок.

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

НастройкаОписание
Enable Exit strategy (Exit) Выход — Включает или отключает стратегию закрытия позиций по определённым условиям.
Enable "no loss" (USEMOVETOBREAKEVEN) Перемещение в безубыток — Включает или отключает автоматическое перемещение стоп-лосса в безубыток при достижении заданного уровня прибыли.
When to move break even (WHENTOMOVETOBE) Уровень для перемещения в безубыток — Прибыль в пунктах, при достижении которой стоп-лосс перемещается в точку входа.
How much pips to move sl (PIPSTOMOVESL) Пункты для сдвига стоп-лосса — Расстояние в пунктах, на которое стоп-лосс сдвигается от цены входа при перемещении в безубыток.
Lots size (Lots) Размер лота — Базовый размер лота для открытия новой позиции.
MaximumRisk Максимальный риск — Максимальный процент свободного маржи, используемый для расчёта размера лота.
DecreaseFactor Коэффициент уменьшения — Коэффициент, уменьшающий размер лота после серии убыточных сделок.
TrailingStop (TrailingStop) Трейлинг-стоп — Расстояние в пунктах, при превышении которого стоп-лосс двигается вслед за ценой в прибыльную сторону.
Stop Loss (Stop_Loss) Стоп-лосс — Стандартный уровень стоп-лосса в пунктах от цены входа в позицию.
MagicNumber (MagicNumber) Магический номер — Уникальный идентификатор, присваиваемый ордерам и позициям советника для их фильтрации.
TakeProfit (Take_Profit) Тейк-профит — Стандартный уровень тейк-профита в пунктах от цены входа в позицию.
FastMA (FastMA) Быстрая скользящая средняя — Период быстрой скользящей средней, используемой для определения направления тренда.
SlowMA (SlowMA) Медленная скользящая средняя — Период медленной скользящей средней, используемой для определения направления тренда.
Momentum_Sell (Mom_Sell) Моментум для продажи — Пороговое значение моментума, при котором формируется сигнал на открытие короткой позиции.
Momentum_Buy (Mom_Buy) Моментум для покупки — Пороговое значение моментума, при котором формируется сигнал на открытие длинной позиции.
Number Of High And Low (FractalNum) Количество фракталов — Количество уровней Фрактала высоких и низких цен, используемых для анализа и отрисовки на графике.
Получить полный код

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

#property version     "1.00"
#property strict

extern bool         Exit=true;//Enable Exit strategy
extern bool         USEMOVETOBREAKEVEN=true;//Enable "no loss"
extern double       WHENTOMOVETOBE=10;      //When to move break even
extern double       PIPSTOMOVESL=5;         //How much pips to move sl
extern double       Lots=0.01;              //Lots size
input  double       MaximumRisk   =0;
input  double       DecreaseFactor=0;
extern double       TrailingStop=40;        //TrailingStop
extern double       Stop_Loss=200;           //Stop Loss
extern int          MagicNumber=1234;       //MagicNumber
input  double       Take_Profit=200;          //TakeProfit
extern int          FastMA=1;               //FastMA
extern int          SlowMA=5;              //SlowMA
extern double       Mom_Sell=0.3;           //Momentum_Sell
extern double       Mom_Buy=0.3;            //Momentum_Buy
extern int          FractalNum=10;  // Number Of High And Low
int           err;

int total=0;
double
Lot,Dmax,Dmin,// Amount of lots in a selected order
    Lts,                             // Amount of lots in an opened order
    Min_Lot,                         // Minimal amount of lots
    Step,                            // Step of lot size change
    Free,                            // Current free margin
    One_Lot,                         // Price of one lot
    Price,                           // Price of a selected order,
    pips,
    MA_1,MA_2,MACD_SIGNAL;
int Type,freeze_level,Spread;

double priceopen,stoploss,takeprofit;

int orderticket;

double  Linenow=0;
double  Lineprev=0;
double  Linenow1=0;
double  Lineprev1=0;

int
Period_MA_2,  Period_MA_3,       // Calculation periods of MA for other timefr.
              Period_MA_02, Period_MA_03,      // Calculation periods of supp. MAs
              K2,K3,T,L;

datetime dt=0;
datetime dt1=0;
datetime dt2=0;
datetime dt12=0;

int  First_Low_Candel=0,Secund_Low_Candel=3,First_High_Candel=0,Secund_High_Candel=3,FractalHCandel[],FractalLCandel[];
double FractalHigh[],FractalLow[],LineValLow=0,LineValHigh=0;
int  First_Low_Candel1=0,Secund_Low_Candel1=3,First_High_Candel1=0,Secund_High_Candel1=3,FractalHCandel1[],FractalLCandel1[];
double FractalHigh1[],FractalLow1[],LineValLow1=0,LineValHigh1=0;

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

void OnDeinit(const int reason)
  {
    del(); 
  }

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

int stop()
  {
   total=0;
   HideTestIndicators(true);
   double MA_1_t=iMA(NULL,L,FastMA,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_1
   double MA_2_t=iMA(NULL,L,SlowMA,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_2

   double middleBB=iBands(Symbol(),0,20, 2,0,0,MODE_MAIN,1);//middle
   double lowerBB=iBands(Symbol(),0,20, 2,0,0,MODE_LOWER,1);//lower
   double upperBB=iBands(Symbol(),0,20, 2,0,0,MODE_UPPER,1);//upper

   double  MacdMAIN=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   double  MacdSIGNAL=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   double  MacdMAIN0=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   double  MacdSIGNAL0=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

   double  MA_3=iMA(NULL,L,3,0,MODE_EMA,PRICE_TYPICAL,0); // МА_3    DALYN GUPPY MMA
   double  MA_5=iMA(NULL,L,5,0,MODE_EMA,PRICE_TYPICAL,0); // МА_5    DALYN GUPPY MMA
   double  MA_8=iMA(NULL,L,8,0,MODE_EMA,PRICE_TYPICAL,0); // МА_8    DALYN GUPPY MMA
   double  MA_10=iMA(NULL,L,10,0,MODE_EMA,PRICE_TYPICAL,0); // МА_10 DALYN GUPPY MMA
   double  MA_12=iMA(NULL,L,12,0,MODE_EMA,PRICE_TYPICAL,0); // МА_12 DALYN GUPPY MMA
   double  MA_15=iMA(NULL,L,15,0,MODE_EMA,PRICE_TYPICAL,0); // МА_15 DALYN GUPPY MMA
   double  MA_30=iMA(NULL,L,30,0,MODE_EMA,PRICE_TYPICAL,0); // МА_30 DALYN GUPPY MMA
   double  MA_35=iMA(NULL,L,35,0,MODE_EMA,PRICE_TYPICAL,0); // МА_35 DALYN GUPPY MMA
   double  MA_40=iMA(NULL,L,40,0,MODE_EMA,PRICE_TYPICAL,0); // МА_40 DALYN GUPPY MMA
   double  MA_45=iMA(NULL,L,45,0,MODE_EMA,PRICE_TYPICAL,0); // МА_45 DALYN GUPPY MMA
   double  MA_50=iMA(NULL,L,50,0,MODE_EMA,PRICE_TYPICAL,0); // МА_50 DALYN GUPPY MMA
   double  MA_60=iMA(NULL,L,60,0,MODE_EMA,PRICE_TYPICAL,0); // МА_60 DALYN GUPPY MMA

   HideTestIndicators(false);
   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber)
            continue;
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==MagicNumber)
           {
            if(OrderType()==OP_BUY)
              {

               if(((MA_3==MA_5 && MA_5==MA_8 && MA_8==MA_10 && MA_10==MA_12 && MA_12==MA_15)
                   ||(MA_30==MA_35 && MA_35==MA_40 && MA_40==MA_45 && MA_45==MA_50 && MA_50==MA_60))
                  ||(Close[1]<=lowerBB))
                  if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red))
                     Print("Did not close");
               break;
               Print(" CLOSE BY EXIT STRATEGY ");

              }
            else // go to short position
              {

               if(((MA_3==MA_5 && MA_5==MA_8 && MA_8==MA_10 && MA_10==MA_12 && MA_12==MA_15)
                   ||(MA_30==MA_35 && MA_35==MA_40 && MA_40==MA_45 && MA_45==MA_50 && MA_50==MA_60))
                  ||(Close[1]<=lowerBB))
                  if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red))
                     Print("Did not close");
               break;
               Print(" CLOSE BY EXIT STRATEGY ");

              }
           }
        }
     }
   return(0);
  }

void Trail1()
  {
   total=OrdersTotal();

   for(int cnt=0; cnt<total; cnt++)
     {
      if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
         continue;
      if(OrderType()<=OP_SELL &&   // check for opened position
         OrderSymbol()==Symbol())  // check for symbol
        {

         if(OrderType()==OP_BUY)
           {

            if(TrailingStop>0)
              {
               if(Bid-OrderOpenPrice()>pips*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-pips*TrailingStop)
                    {

                     RefreshRates();
                     stoploss=Bid-(pips*TrailingStop);
                     takeprofit=OrderTakeProfit();
                     double StopLevel=MarketInfo(Symbol(),MODE_STOPLEVEL)+MarketInfo(Symbol(),MODE_SPREAD);
                     if(stoploss<StopLevel*pips)
                        stoploss=StopLevel*pips;
                     string symbol=OrderSymbol();
                     double point=SymbolInfoDouble(symbol,SYMBOL

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

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

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

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

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

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

Стоимость полного кода
2 151,10₽ ≈ $26.29