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

Crypto Scalper

perfect crypto scalper.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 Scalper — торговый советник для MetaTrader 4, предназначенный для скальпинга на криптовалютных и других финансовых инструментах. Советник анализирует рыночные данные с помощью индикаторов моментума, MACD и денежного потока, формируя сигналы на открытие длинных и коротких позиций. Система управления рисками включает стоп-лосс, тейк-профит, трейл-стоп, перемещение в безубыток и контроль по средствам счёта.

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

НастройкаОписание
every tick\open price (tick) Обработка по тикам — Переключатель: при true советник обрабатывает каждый тик, при false — только новый бар.
BarsToCount Количество баров — Количество баров, используемых для анализа данных на графике.
Enable Exit strategy (Exit) Включить стратегию выхода — Переключатель активации дополнительной логики закрытия позиций.
IncreaseFactor (IncreaseFactor) Коэффициент увеличения лота — Множитель, влияющий на расчёт размера лота при нарастании убытков.
Num.Of Candles For Divergence (CandlesToRetrace) Свечей для ретрейса — Количество свечей, используемых для определения дивергенций.
Lots size (Lots) Размер лота — Базовый размер лота для торговых операций.
TrailingStop (TrailingStop) Трейл-стоп — Расстояние трейл-стопа в пунктах от текущей цены.
Stop Loss (Stop_Loss) Стоп-лосс — Размер стоп-лосса в пунктах от цены входа.
MagicNumber (MagicNumber) Магический номер — Идентификатор ордеров советника для фильтрации позиций.
TakeProfit (Take_Profit) Тейк-профит — Размер тейк-профита в пунктах от цены входа.
FastMA (FastMA) Период быстрой MA — Период быстрой скользящей средней для анализа тренда.
SlowMA (SlowMA) Период медленной MA — Период медленной скользящей средней для анализа тренда.
Momentum_Sell (Mom_Sell) Порог моментума для продажи — Пороговое значение моментума для формирования сигнала на продажу.
Momentum_Buy (Mom_Buy) Порог моментума для покупки — Пороговое значение моментума для формирования сигнала на покупку.
Use Equity Stop (UseEquityStop) Стоп по средствам счёта — Включает автоматическое закрытие всех позиций при достижении заданного уровня убытка относительно equity.
Total Equity Risk (TotalEquityRisk) Максимальный риск equity — Максимальный допустимый процент убытка от средств счёта для триггера стопа.
Max_Trades Максимум сделок — Максимальное количество одновременно открытых сделок одного направления.
IF USE TRAILING STOP (USETRAILINGSTOP) Использовать трейл-стоп — Включает или отключает трейл-стоп для открытых позиций.
WHEN TO TRAIL (WHENTOTRAIL) Уровень активации трейл-стопа — Прибыль в пунктах, при достижении которой начинает работать трейл-стоп.
TRAIL AMOUNT (TRAILAMOUNT) Величина трейл-стопа — Размер смещения трейл-стопа в пунктах.
Distance From Candle (Distance_From_Candle) Дистанция от свечи — Отступ в пунктах от экстремума свечи для установки стоп-лосса при свечном трейлинге.
USE CANDEL TRAIL (USECANDELTRAIL) Свечной трейл-стоп — Включает трейлинг стоп-лосса по экстремумам свечей вместо стандартного трейлинга.
NUMBER OF CANDLES (X) Количество свечей для экстремумов — Количество свечей для определения минимума и максимума при свечном трейлинге.
Enable "no loss" (USEMOVETOBREAKEVEN) Переход в безубыток — Включает автоматическое перемещение стоп-лосса в точку безубытка.
When to move break even (WHENTOMOVETOBE) Уровень для перехода в безубыток — Прибыль в пунктах, при достижении которой стоп-лосс перемещается в точку входа.
How much pips to move sl (PIPSTOMOVESL) Смещение стоп-лосса при безубытке — Величина смещения стоп-лосса в пунктах от цены входа при активации безубытка.
Получить полный код

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

#property version     "1.00"
#property strict

extern bool        tick=true;//every tick\open price
extern int         BarsToCount=10;
extern bool        Exit=false;//Enable Exit strategy
extern double      IncreaseFactor=0.001;   //IncreaseFactor
extern int         CandlesToRetrace=10;    //Num.Of Candles For Divergence
extern double      Lots=0.01;              //Lots size
extern double      TrailingStop=40;        //TrailingStop
extern double      Stop_Loss=20;           //Stop Loss
extern int         MagicNumber=1234;       //MagicNumber
input double       Take_Profit=50;          //TakeProfit
extern int         FastMA=6;             //FastMA
extern int         SlowMA=85;            //SlowMA
extern double      Mom_Sell=0.3;           //Momentum_Sell
extern double      Mom_Buy=0.3;            //Momentum_Buy
input bool         UseEquityStop = true;  //Use Equity Stop
input double       TotalEquityRisk = 1.0; //Total Equity Risk
input int          Max_Trades=10;

extern bool   USETRAILINGSTOP=true; //IF USE TRAILING STOP
extern int    WHENTOTRAIL=40;//WHEN TO TRAIL
extern int    TRAILAMOUNT=40;//TRAIL AMOUNT
extern int    Distance_From_Candle=3;//Distance From Candle
extern bool   USECANDELTRAIL=true;//USE CANDEL TRAIL
extern int     X=3;//NUMBER OF CANDLES

extern bool               USEMOVETOBREAKEVEN=true;//Enable "no loss"
extern double             WHENTOMOVETOBE=30;      //When to move break even
extern double             PIPSTOMOVESL=30;         //How much pips to move sl

int buyticket;
int selticket;
int BUYSTOPCANDLE;
int SELSTOPCANDLE;
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;

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;

double AccountEquityHighAmt,PrevEquity;

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

void OnDeinit(const int reason)
  {
  }

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

void adjustTrail()// CANDLE TRAIL
  {

   static datetime dtBarCurrent=WRONG_VALUE;
   datetime dtBarPrevious=dtBarCurrent;
   dtBarCurrent=(datetime) SeriesInfoInteger(_Symbol,_Period,SERIES_LASTBAR_DATE);
   bool NewBarFlag=(dtBarCurrent!=dtBarPrevious);
   BUYSTOPCANDLE=iLowest(Symbol(),0,1,X,0);//Lowest
   SELSTOPCANDLE=iHighest(Symbol(),0,2,X,0);//Highest

   for(int b=OrdersTotal()-1; b>=0; b--)
     {
      if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
         if(OrderMagicNumber()!=MagicNumber)
            continue;
      if(OrderSymbol()==Symbol())//Symbol
         if(OrderType()==OP_BUY)//OrderType
            if(USECANDELTRAIL)
              {

               if(NewBarFlag)
                 {
                  RefreshRates();
                  stoploss=Low[BUYSTOPCANDLE]-Distance_From_Candle*pips;
                  takeprofit=OrderTakeProfit()+pips*TRAILAMOUNT;
                  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_POINT);
                  if(MathAbs(OrderStopLoss()-stoploss)>point)
                     if((pips*TRAILAMOUNT)>(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_FREEZE_LEVEL)*pips)

                        if(CheckStopLoss_Takeprofit(OP_BUY,stoploss,takeprofit))
                           if(OrderModifyCheck(OrderTicket(),OrderOpenPrice(),stoploss,takeprofit))

                              if(OrderStopLoss()<Low[BUYSTOPCANDLE]-Distance_From_Candle*pips)
                                 if(!OrderModify(OrderTicket(),OrderOpenPrice(),Low[BUYSTOPCANDLE]-Distance_From_Candle*pips,takeprofit,0,CLR_NONE))
                                    Print("eror");

                 }
              }
            else
               if(Bid-OrderOpenPrice()>WHENTOTRAIL*pips)
                  if(OrderStopLoss()<Bid-pips*TRAILAMOUNT)
                     if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(pips*TRAILAMOUNT),OrderTakeProfit(),0,CLR_NONE))//ԿԿԿԿԿ ԿԿ STOPLOS
                        Print("eror");
     }

   for(int s=OrdersTotal()-1; s>=0; s--)
     {
      if(OrderSelect(s,SELECT_BY_POS,MODE_TRADES))
         if(OrderMagicNumber()!=MagicNumber)
            continue;
      if(OrderSymbol()==Symbol())
         if(OrderType()==OP_SELL)
            if(USECANDELTRAIL)
              {

               if(NewBarFlag)
                 {

                  RefreshRates();
                  stoploss=High[SELSTOPCANDLE]+Distance_From_Candle*pips;
                  takeprofit=OrderTakeProfit()-pips*TRAILAMOUNT;
                  double StopLevel=MarketInfo(Symbol(),MODE_STOPLEVEL)+MarketInfo(Symbol(),MODE_SPREAD);
                  if(stoploss<StopLevel*pips)
                     stoploss=StopLevel*pips;
                  if(takeprofit<StopLevel*pips)
                     takeprofit=StopLevel*pips;
                  string symbol=OrderSymbol();
                  double point=SymbolInfoDouble(symbol,SYMBOL_POINT);
                  if(MathAbs(OrderStopLoss()-stoploss)>point)
                     if((pips*TRAILAMOUNT)>(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_FREEZE_LEVEL)*pips)

                        if(CheckStopLoss_Takeprofit(OP_SELL,stoploss,takeprofit))
                           if(OrderModifyCheck(OrderTicket(),OrderOpenPrice(),stoploss,takeprofit))

                              if(OrderStopLoss()>High[SELSTOPCANDLE]+Distance_From_Candle*pips)
                                 if(!OrderModify(OrderTicket(),OrderOpenPrice(),High[SELSTOPCANDLE]+Distance_From_Candle*pips,takeprofit,0,CLR_NONE))
                                    Print("eror");
                 }
              }
            else
               if(OrderOpenPrice()-Ask>WHENTOTRAIL*pips)
                  if(OrderStopLoss()>A

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

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

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

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

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

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

Стоимость полного кода
1 788,90₽ ≈ $21.86