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

forex arbitrates @lifeindreamsworld.mq4

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

ea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих тегов2 to 1 strategy with signals.pineTradingView · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.pineTradingView · 2 общих теговbago ea_5391011682577321359.mq4MQL4 / MetaTrader 4 · 2 общих теговfresh algo v24 tradingview indicator_5918156155804195406.pineTradingView · 2 общих теговea_rsi_stocho_ma.mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный код представляет собой торговый советник для платформы MetaTrader 4, written in MQL4. Он анализирует ценовые данные с помощью набора технических индикаторов (SAR, RSI, Stochastic, Momentum, ADX, OsMA) и на основе их сигналов открывает позиции BUY или SELL.

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

Также реализована функция email-уведомлений об открытии и закрытии позиций, а также режим обработки каждого тика или только при появлении нового бара. Для идентификации своих ордеров используется магический номер.

Важно: параметр NFA объявлен, но не используется в торговой логике. Все торговые операции выполняются через стандартные функции OrderSend и OrderModify платформы MetaTrader 4.

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

НастройкаОписание
TakeProfit Тейк-профит — Уровень тейк-профита в пунктах для фиксации прибыли по позиции.
StopLoss Стоп-лосс — Уровень стоп-лосса в пунктах для защиты позиции от убытков.
UseTrailingStop Использовать трейлинг-стоп — Переключатель активации функции трейлинг-стопа для динамического перемещения стоп-лосса.
TrailingStop Расстояние трейлинг-стопа — Расстояние трейлинг-стопа в пунктах, определяющее отслеживание позиции при движении в прибыльную сторону.
Lots Размер лота — Фиксированный размер лота для открытия позиции. При включённом управлении рисками значение может быть пересчитано автоматически.
MM Автоматическое управление рисками — Переключатель автоматического расчёта размера лота на основе коэффициента риска и свободного маржинального баланса.
Risk Коэффициент риска — Коэффициент риска, определяющий долю свободного маржинального баланса, используемая для расчёта размера лота при включённом MM.
SignalMail Email-уведомления о сигналах — Переключатель отправки email-уведомлений при открытии и закрытии позиций.
EachTickMode Режим обработки каждого тика — Переключатель режима обработки: при значении TRUE советник обрабатывает каждый тик, при FALSE — только при появлении нового бара.
Slippage Допустимое проскальзывание — Допустимое значение проскальзывания цены при выполнении рыночных ордеров.
NFA Параметр NFA — Логический переключатель. Объявлен в коде, но не используется в текущей версии советника.
MagicNumber Магический номер ордера — Уникальный идентификатор ордеров, используемый советником для отслеживания и управления своими позициями.
Получить полный код

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

extern int TakeProfit = 0;
bool gi_80 = TRUE;
extern int StopLoss = 0;
bool gi_88 = TRUE;
extern bool UseTrailingStop = TRUE;
extern int TrailingStop = 0;
bool gi_152 = FALSE;
double gd_156 = 0.0;
double gd_164 = 0.0;
int g_ticket_172 = -1;
double g_point_176;
int ere;
extern double Lots = 1.0;
extern bool MM = TRUE;
extern double Risk = 0.05;
extern bool SignalMail = FALSE;
extern bool EachTickMode = TRUE;
extern int Slippage = 3;
extern bool NFA = FALSE;
extern int MagicNumber = 98098;
bool gi_140 = TRUE;
int g_bars_144;
int gi_unused;

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

int deinit() {
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   int l_ticket_0;
   double l_price_4;
   double l_price_12;
   if (Point == 0.00001) g_point_176 = 0.0001;
   else {
      if (Point == 0.001) g_point_176 = 0.01;
      else g_point_176 = Point;
   }
   int li_20 = 0;
   if (EachTickMode && Bars != g_bars_144) gi_152 = FALSE;
   int l_ord_total_24 = OrdersTotal();
   li_20 = 0;
   HideTestIndicators(TRUE);
   double l_isar_28 = iSAR(NULL, 0, 0.005, 0.05, 1);
   double l_isar_36 = iSAR(NULL, 0, 0.005, 0.05, 0);
   double l_irsi_44 = iRSI(NULL, 0, 21, PRICE_CLOSE, 0);
   double l_istochastic_52 = iStochastic(NULL, 0, 10, 3, 3, MODE_EMA, 0, MODE_MAIN, 0);
   double l_istochastic_60 = iStochastic(NULL, 0, 10, 3, 3, MODE_EMA, 0, MODE_MAIN, 1);
   double l_imomentum_68 = iMomentum(NULL, 0, 100, PRICE_OPEN, 0);
   double l_iadx_76 = iADX(NULL, 0, 21, PRICE_CLOSE, MODE_MAIN, 0);
   double l_iosma_84 = iOsMA(NULL, 0, 90, 99, 88, PRICE_OPEN, 1);
   HideTestIndicators(FALSE);
   if (g_ticket_172 != -1 && OrderSelect(g_ticket_172, SELECT_BY_TICKET)) {
      if (OrderCloseTime() == 0) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
            if (OrderType() == OP_BUY) {
               if (UseTrailingStop && TrailingStop > 0) {
                  if (Bid - OrderOpenPrice() > g_point_176 * TrailingStop) {
                     if (gi_140) {
                        if (gd_156 < Bid - g_point_176 * TrailingStop) {
                           gd_156 = Bid - g_point_176 * TrailingStop;
                           if (!EachTickMode) g_bars_144 = Bars;
                        }
                     } else {
                        if (OrderStopLoss() < Bid - g_point_176 * TrailingStop) {
                           ere=OrderModify(OrderTicket(), OrderOpenPrice(), Bid - g_point_176 * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
                           if (!EachTickMode) g_bars_144 = Bars;
                        }
                     }
                  }
               }
               if (gi_140 && Bid <= gd_156 || Bid >= gd_164) {
                  if (OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen)) {
                     gd_156 = 0;
                     gd_164 = 0;
                     g_ticket_172 = -1;
                  }
                  if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
                  if (!EachTickMode) g_bars_144 = Bars;
               }
            } else {
               if (OrderType() == OP_SELL) {
                  if (UseTrailingStop && TrailingStop > 0) {
                     if (OrderOpenPrice() - Ask > g_point_176 * TrailingStop) {
                        if (gi_140) {
                           if (gd_156 > Ask + g_point_176 * TrailingStop || gd_156 == 0.0) {
                              gd_156 = Ask + g_point_176 * TrailingStop;
                              if (!EachTickMode) g_bars_144 = Bars;
                           }
                        } else {
                           if (OrderStopLoss() > Ask + g_point_176 * TrailingStop || OrderStopLoss() == 0.0) {
                              ere=OrderModify(OrderTicket(), OrderOpenPrice(), Ask + g_point_176 * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
                              if (!EachTickMode) g_bars_144 = Bars;
                           }
                        }
                     }
                  }
                  if (gi_140 && Bid >= gd_156 || Bid <= gd_164) {
                     if (Order

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

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

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

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

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

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

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