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

simple stoch divergence ea.mq4

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

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
MagicNumber Магический номер — Магический номер для идентификации ордеров, отправленных данным советником.
SignalMail Email-уведомления о сигналах — Включает или отключает отправку email-уведомлений о торговых сигналах.
EachTickMode Режим каждого тика — Режим обработки тиков: при включении советник обрабатывает каждый тик, при выключении — только при появлении нового бара.
Lots Объём лота — Объём лота, используемый при открытии торговых позиций.
Slippage Проскальзывание — Допустимое проскальзывание цены при исполнении ордеров, измеряемое в пунктах.
StopLossMode Режим стоп-лосса — Включает или отключает автоматическую установку стоп-лосса при открытии позиции.
StopLoss Стоп-лосс в пунктах — Значение стоп-лосса в пунктах, используемое при открытии позиции.
TakeProfitMode Режим тейк-профита — Включает или отключает автоматическую установку тейк-профита при открытии позиции.
TakeProfit Тейк-профит в пунктах — Значение тейк-профита в пунктах, используемое при открытии позиции.
TrailingStopMode Режим трейлинг-стопа — Включает или отключает функцию трейлинг-стопа для управления защитными уровнями.
TrailingStop Трейлинг-стоп в пунктах — Расстояние трейлинг-стопа в пунктах для отслеживания прибыли по открытой позиции.
Получить полный код

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

#define SIGNAL_NONE 0
#define SIGNAL_BUY   1
#define SIGNAL_SELL  2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4

extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = True;
extern double Lots = 0.1;
extern int Slippage = 3;
extern bool StopLossMode = True;
extern int StopLoss = 60;
extern bool TakeProfitMode = True;
extern int TakeProfit = 200;
extern bool TrailingStopMode = True;
extern int TrailingStop = 50;

int BarCount;
int Current;
bool TickCheck = False;

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

int deinit() {
   return(0);
}

int start() {
      // код доступен только после оплаты
   }
   int Order = SIGNAL_NONE;
   int Total, Ticket;
   double StopLossLevel, TakeProfitLevel;

   if (EachTickMode && Bars != BarCount) TickCheck = False;
   Total = OrdersTotal();
   Order = SIGNAL_NONE;

double Var1 = iStochastic(NULL, 0, 4, 1, 3, MODE_SMA, 0, MODE_MAIN, Current + 0);
double Var2 = iStochastic(NULL, 0, 4, 1, 3, MODE_SMA, 0, MODE_MAIN, Current + 1);
double Var3 = iStochastic(NULL, 0, 20, 1, 3, MODE_SMA, 0, MODE_MAIN, Current + 0);
double Var4 = iStochastic(NULL, 0, 20, 1, 3, MODE_SMA, 0, MODE_MAIN, Current + 1);
double Var5 = iStochastic(NULL, 0, 50, 1, 3, MODE_SMA, 0, MODE_MAIN, Current + 0);

double Buy1_1 =  Var3 ;
double Buy1_2 = 50;
double Buy2_1 =  Var1 ;
double Buy2_2 = 20;
double Buy3_1 =  Var2  -  Var1 ;
double Buy3_2 =  Var4  -  Var3 ;
double Buy4_1 =   Var3 -3;
double Buy4_2 =  Var5 ;
double Buy5_1 = iMA(NULL, PERIOD_D1, 14, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Buy5_2 = iMA(NULL, PERIOD_D1, 14, 0, MODE_EMA, PRICE_CLOSE, Current + 1);
double Buy6_1 = iHigh(NULL, 0, Current + 0);
double Buy6_2 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, Current + 0);

double Sell1_1 =  Var1 ;
double Sell1_2 = 80;
double Sell2_1 =  Var3 ;
double Sell2_2 = 50;
double Sell3_1 =  Var2  -  Var1 ;
double Sell3_2 =  Var4  -  Var3 ;
double Sell4_1 =  Var3 +3;
double Sell4_2 =  Var5 ;
double Sell5_1 = iMA(NULL, PERIOD_D1, 14, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Sell5_2 = iMA(NULL, PERIOD_D1, 14, 0, MODE_EMA, PRICE_CLOSE, Current + 1);
double Sell6_1 = iLow(NULL, 0, Current + 0);
double Sell6_2 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, Current + 0);

double CloseBuy1_1 =  Var1 ;
double CloseBuy1_2 = 80;
double CloseBuy2_1 = iHigh(NULL, 0, Current + 0);
double CloseBuy2_2 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, Current + 0);

double CloseSell1_1 =  Var1 ;
double CloseSell1_2 = 20;
double CloseSell2_1 = iLow(NULL, 0, Current + 0);
double CloseSell2_2 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, Current + 0);

   bool IsTrade = False;

   for (int i = 0; i < Total; i ++) {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if(OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) {
         IsTrade = True;
         if(OrderType() == OP_BUY) {

                     if (CloseBuy1_1 > CloseBuy1_2 || CloseBuy2_1 > CloseBuy2_2) Order = SIGNAL_CLOSEBUY;

            if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
               if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
               if (!EachTickMode) BarCount = Bars;
               IsTrade = False;
               continue;
            }

            if(TrailingStopMode && TrailingStop > 0) {                 
               if(Bid - OrderOpenPrice() > Point * TrailingStop) {
                  if(OrderStopLoss() < Bid - Point * TrailingStop) {
                     OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
                   

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

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

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

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

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

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

Стоимость полного кода
556,10₽ ≈ $6.80