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

FXCORE1_V1

fxcore100.mq4

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

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

FXCORE1_V1 — торговый советник для MetaTrader 4, анализирующий рынок с помощью скользящих средних, полос Боллинджера, стохастика и RSI. Советник поддерживает три режима работы: анализ рынка с поиском сигналов, обработка закрытия ордеров при достижении целевой прибыли и верификация открытия ордеров с размещением лимитных ордеров. Торговля осуществляется через стандартные API MetaTrader 4 (OrderSend, OrderClose, OrderDelete).

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

НастройкаОписание
InpMagicNumberFxCore Магический номер — Идентификатор ордеров советника для фильтрации на текущем символе
InpStopLevelFxCore Стоп-уровень — Минимальное расстояние в пунктах между ценой открытия и уровнем стоп-лосс/тейк-профит
InpMaxOrderFxCore Максимум ордеров — Максимальное количество одновременных ордеров советника на символе
InpHabilitaFatorFxCore Включить множитель лота — Активирует увеличение размера лота по экспоненциальному множителю при каждом следующем ордере
InpFatorFxCore Множитель лота — Коэффициент умножения базового лота при наращивании позиции
InpHabilitaSomaFxCore Включить суммирование лота — Активирует добавление фиксированного приращения лота к текущему объёму позиции
InpLoteSomaFxCore Приращение лота — Фиксированное увеличение объёма лота при наращивании позиции
InpSinalModeFxCore Режим сигнала — Выбор режима генерации сигналов: только MA или комбинация полос Боллинджера, стохастика и RSI
SINALIMA Разделитель IMA — Визуальный разделитель в панели настроек для группы параметров скользящей средней
InpIMAFrame Таймфрейм IMA — Таймфрейм для расчёта скользящих средних
InpPeriodoIMAFxCore Период IMA — Период быстрой скользящей средней
InpPeriodoLongIMAFxCore Период длинной IMA — Период медленной скользящей средней для подтверждения тренда
SINALBB Разделитель BB — Визуальный разделитель в панели настроек для группы параметров полос Боллинджера
InpSinalBBFxCore Включить сигнал BB — Включает использование полос Боллинджера в системе генерации сигналов
Bands B TimeFrame (InpBBFrame) Таймфрейм BB — Таймфрейм для расчёта полос Боллинджера
InpBBPeriodFxCore Период BB — Период расчёта полос Боллинджера
vBandsBordFxCore Отклонение полос — Количество стандартных отклонений для верхней и нижней полосы Боллинджера
SINALST Разделитель Stochastic — Визуальный разделитель в панели настроек для группы параметров стохастика
InpSinalStochasticFxCore Включить сигнал Stochastic — Включает использование стохастика в системе генерации сигналов
Stochastic TimeFrame (InpStochasticFrame) Таймфрейм Stochastic — Таймфрейм для расчёта индикатора стохастик
InpPeriodStochastcFxCore Период Stochastic — Основной период стохастика
InpPeriodStochastcCFxCore Период %K Stochastic — Период линии %K индикатора стохастик
InpSlowingStochastcFxCore Замедление Stochastic — Коэффициент замедления (сглаживания) линии стохастика
SINALRSI Разделитель RSI — Визуальный разделитель в панели настроек для группы параметров RSI
InpSinalRSIFxCore Включить сигнал RSI — Включает использование RSI в системе генерации сигналов
InpRSIFrame Таймфрейм RSI — Таймфрейм для расчёта индикатора RSI
InpPeriodRSIFxCore Период RSI — Период расчёта индикатора RSI
InpRSIMaxFxCore Максимум RSI — Верхний порог уровня RSI для определения перекупленности
InpRSIMinFxCore Минимум RSI — Нижний порог уровня RSI для определения перепроданности
Получить полный код

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

#property version   "1.00"
#property description "FXCORE1_V1 BETA DEVELOPER "
#property description "This EA is 100% FREE "
#property description "Coder: r**************o*@gmail.com "

#property description "Donation Link : "
#property strict

enum ENUM_SINALMODE {
    IMA = 0,// IMA
    BB_RSI_STOCH = 1,// BB RSI STOCH
};

string vg_versao = " FXCORE1_V1 BETA DEVELOPER  2018-03-03 ";

extern int InpMagicNumberFxCore = 988827;

extern int InpStopLevelFxCore = 20;
extern int InpMaxOrderFxCore = 15;
extern bool InpHabilitaFatorFxCore = true;
extern double InpFatorFxCore = 2.0;
extern bool InpHabilitaSomaFxCore = FALSE;
extern double InpLoteSomaFxCore = 1.0;

 int InpModoFxCore = 2;
extern ENUM_SINALMODE InpSinalModeFxCore = IMA;

extern string SINALIMA=                              "------------------------- SINAL IMA-------------------------";
input ENUM_TIMEFRAMES        InpIMAFrame= PERIOD_CURRENT;   
extern int InpPeriodoIMAFxCore = 5;
extern int InpPeriodoLongIMAFxCore = 20;

extern string SINALBB=                              "------------------------- SINAL BB-------------------------";
extern bool InpSinalBBFxCore = TRUE;
input ENUM_TIMEFRAMES        InpBBFrame= PERIOD_CURRENT;                                // Bands B TimeFrame
extern int InpBBPeriodFxCore = 20;
extern int vBandsBordFxCore = 2;

extern string SINALST=                              "------------------------- SINAL Stochastic-------------------------";
extern bool InpSinalStochasticFxCore = TRUE;
input ENUM_TIMEFRAMES        InpStochasticFrame= PERIOD_CURRENT;                                // Stochastic TimeFrame
extern int InpPeriodStochastcFxCore = 5;
extern int InpPeriodStochastcCFxCore = 3;
extern int InpSlowingStochastcFxCore = 3;

extern string SINALRSI=                              "------------------------- SINAL RSI-------------------------";
extern bool InpSinalRSIFxCore = TRUE;
input ENUM_TIMEFRAMES        InpRSIFrame= PERIOD_CURRENT;
extern int InpPeriodRSIFxCore = 9;
extern int InpRSIMaxFxCore = 70;
extern int InpRSIMinFxCore = 30;

int vg_CountOrdersFxCore = 0;
int vg_OrderTotalFxCore;
int vg_HistTotalFxCore;
int vg_PosFxCore;

int vg_QtdDigitsFxCore;
int vg_TipoOrderFxCore;
int vg_TicketFxCore;
double vg_MinLotOpenOrderFxCore;
double vg_CloseProfitFxCore;
double vg_PointFxCore;
double vg_MinLotFxCore;
double vg_MaxLotFxCore;
double vg_StopLevelFxCore;
double vg_LastOrdemLotsFxCore;
double vg_LastOrdemOpenPriceFxCore;
double vg_ProfitCloseFxCore;
double vg_ProfitTotalFxCore;
double vg_ProfitOpenFxCore;
string vg_PriceFxCore;
string vg_AlertFxCore = "";
string vg_MensagemFxCore;

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

int deinit() {
   Comment("");
   return (0);
}

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

int CountOrdersFxCore() {
   vg_OrderTotalFxCore = OrdersTotal();
   vg_CountOrdersFxCore = 0;
   for (vg_PosFxCore = 0; vg_PosFxCore < vg_OrderTotalFxCore; vg_PosFxCore++) {
      OrderSelect(vg_PosFxCore, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != InpMagicNumberFxCore) continue;
      vg_CountOrdersFxCore++;
   }
   return (vg_CountOrdersFxCore);
}

int OpenOrdersFxCore(int a_cmd_0, double a_lots_4, double a_price_12, color a_color_20) {
    return (OrderSend(Symbol(), a_cmd_0, a_lots_4, a_price_12, 3, 0, 0, "", InpMagicNumberFxCore, 0, a_color_20));
   return (0);
}

int CloseOrdersFxCore() {
   vg_OrderTotalFxCore = OrdersTotal();
   for (vg_PosFxCore = vg_OrderTotalFxCore - 1; vg_PosFxCore >= 0; vg_PosFxCore--) {
      OrderSelect(vg_PosFxCore, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != InpMagicNumberFxCore) continue;
      switch (OrderType()) {
      case OP_BUY:
         OrderClose(OrderTicket(), OrderLots(), Bid, 1, CLR_NONE);
         vg_PriceFxCore = Bid;

         break;
      case OP_SELL:
         OrderClose(OrderTicket(), OrderLots(), Ask, 1, CLR_NONE);
         vg_PriceFxCore = Ask;

         break;
      case OP_BUYLIMIT:
         OrderDelete(OrderTicket());
         break;
      case OP_SELLLIMIT:
         OrderDelete(OrderTicket());
      }
   }
   return (0);
}

double GetLastLotFxCore() {
   vg_OrderTotalFxCore = OrdersTotal();
   vg_LastOrdemLotsFxCore = 0;
   for (vg_PosFxCore = 0; vg_PosFxCore < vg_OrderTotalFxCore; vg_PosFxCore++) {
      OrderSelect(vg_PosFxCore, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != InpMagicNumberFxCore) continue;
      vg_LastOrdemLotsFxCore = OrderLots();
   }

   return (vg_LastOrdemLotsFxCore);
}

double GetTotalProfitFxCore() {
   vg_OrderTotalFxCore = OrdersTotal();
   vg_ProfitCloseFxCore = 0;
   for (vg_PosFxCore = 0; vg_PosFxCore < vg_OrderTotalFxCore; vg_PosFxCore++) {
      OrderSelect(vg_PosFxCore, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != InpMagicNumberFxCore) continue;
      vg_ProfitCloseFxCore += OrderProfit();
   }
   return (vg_ProfitCloseFxCore);
}

int GetSinalFxCore() {
   double ima_0;
   double ima_8;
   double ima_16;
   double ibands_24;
   double ibands_32;
   double istochastic_40;
   double irsi_48;
   if (InpSinalModeFxCore == 0) {
      ima_0 = iMA(Symbol(), InpIMAFrame, InpPeriodoIMAFxCore, 0, MODE_SMA, PRICE_CLOSE, 0);
      ima_8 = iMA(Symbol(), InpIMAFrame, InpPeriodoIMAFxCore, 0, MODE_SMA, PRICE_CLOSE, 1);
      ima_16 = iMA(Symbol(), InpIMAFrame, InpPeriodoLongIMAFxCore, 0, MODE_SMA, PRICE_CLOSE, 1);
      if (ima_0 > ima_8 && ima_8 > ima_16) return (-15);
      if (!(ima_0 < ima_8 && ima_8 < ima_16)) return (0);
      return (15);
   }
   if (InpSinalModeFxCore == 1) {
      ibands_24 = iBands(Symbol(), InpBBFrame, InpBBPeriodFxCore, vBandsBordFxCore, 0, PRICE_CLOSE, MODE_UPPER, 0);
      ibands_32 = iBands(Symbol(), InpBBFrame, InpBBPeriodFxCore, vBandsBordFxCore, 0, PRICE_CLOSE, MODE_LOWER, 0);
      istochastic_40 = iStochastic(Symbol(), InpStochasticFrame, InpPeriodStochastcFxCore, InpPeriodStochastcCFxCore, InpSlowingStochastcFxCore, MODE_SMA, 0, MODE_SIGNAL, 0);
      irsi_48 = iRSI(Symbol(), InpRSIFrame, InpPeriodRSIFxCore, PRICE_CLOSE, 0);
      if (InpSinalBBFxCore && (!InpSinalStochasticFxCore) && (!InpSinalRSIFxCore)) {
         if (Close[0] > ibands_24) return (15);
         if (Close[0] >= ibands_32) return (0);
         return (-15);
      }
      if ((!InpSinalBBFxCore) && InpSinalStochasticFxCore && (!InpSinalRSIFxCore)) {
         if (istochastic_40 > InpRSIMaxFxCore) return (15);
         if (istochastic_40 >= InpRSIMinFxCore) return (0);
         return (-15);
      }
      if ((!InpSinalBBFxCore) && !InpSinalStochasticFxCore && InpSinalRSIFxCore) {
         if (irsi_48 > InpRSIMaxFxCore) return (15);
         if (irsi_48 >= InpRSIMinFxCore) return (0);
         return (-15);
      }
      if (InpSinalBBFxCore && InpSinalStochasticFxCore && (!InpSinalRSIFxCore)) {
         if (Close[0] > ibands_24 && istochastic_40 > InpRSIMaxFxCore) return (15);
         if (!(Close[0] < ibands_32 && istochastic_40 < InpRSIMinFxCore)) return (0);
         return (-15);
      }
      if (InpSinalBBFxCore && (!InpSinalStochasticFxCore) && InpSinalRSIFxCore) {
         if (Close[0] > ibands_24 && irsi_48 > InpRSIMaxFxCore) return (15);
         if (!(Close[0] < ibands_32 && irsi_48 < InpRSIMinFxCore)) return (0);
         return (-15);
      }
      if ((!InpSinalBBFxCore) && InpSinalStochasticFxCore && InpSinalRSIFxCore) {
         if (istochastic_40 > InpRSIMaxFxCore && irsi_48 > InpRSIMaxFxCore) return (15);
         if (!(istochastic_40 < InpRSIMinFxCore && irsi_48 < InpRSIMinFxCore)) return (0);
         return (-15);
      }
      if (InpSinalBBFxCore && InpSinalStochasticFxCore && InpSinalRSIFxCore) {
         if (Close[0] > ibands_24 && istochastic_40 > InpRSIMaxFxCore && irsi_48 > InpRSIMaxFxCore) return (15);
         if (!(Close[0] < ibands_32 && istochastic_40 < InpRSIMinFxCore && irsi_48 < InpRSIMinFxCore)) return (0);
         return (-15);
      }
   }
   return (0);
}

int AnalizandoMercadoFxCore() {
   if (GetTotalProfitFxCore() >= vg_CloseProfitFxCore) CloseOrdersFxCore();
   if (CountOrdersFxCore() == 0 && GetLastLotFxCore() == 0.0) {
      if (GetSinalFxCore() == -15)
         if (OpenOrdersFxCore(OP_BUY, vg_MinLotOpenOrderFxCore, Ask, Blue) > 0) return (0);
      if (GetSinalFxCore() == 15)
         if (OpenOrdersFxCore(OP_SELL, vg_MinLotOpenOrderFxCore, Bid, Red) > 0) return (0);
   }
   if (CountOrdersFxCore() > 0 && CountOrdersFxCore() < InpMaxOrderFxCore) {
      vg_TipoOrderFxCore = -1;
      vg_LastOrdemOpenPriceFxCore = 0;
      vg_OrderTotalFxCore = OrdersTotal();
      for (vg_PosFxCore = 0; vg_PosFxCore < vg_OrderTotalFxCore; vg_PosFxCore++) {
         OrderSelect(vg_PosFxCore, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != InpMagicNumberFxCore) continue;
         vg_TipoOrderFxCore = OrderType();
         vg_LastOrdemOpenPriceFxCore = OrderOpenPrice();
      }
      if (vg_TipoOrderFxCore == OP_BUY) {
         if (Ask > vg_LastOrdemOpenPriceFxCore - InpStopLevelFxCore * vg_PointFxCore) return (0);
         if (InpHabilitaFatorFxCore) {
            if (NormalizeDouble(vg_MinLotOpenOrderFxCore * MathPow

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

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

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

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

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

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

Стоимость полного кода
1 709,70₽ ≈ $20.90