3-EMA_FTS_HIGH-LOW_FIBONACCI

MQL4 Experts

Spécifications

//+------------------------------------------------------------------+
//|                                                    3-EMA_FTS.mq4 |
//|                        Generated with Pine Script to MQL4        |
//+------------------------------------------------------------------+
#property strict
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 Green
#property indicator_color3 Black
#property indicator_color4 White
#property indicator_color5 White
#property indicator_color6 White
#property indicator_color7 White
#property indicator_color8 White

// Indicator parameters
input int len4 = 7;
input int len5 = 25;
input int len6 = 99;
input string trailType = "modified";
input int ATRPeriod = 28;
input double ATRFactor = 5.0;

// Buffers for indicator values
double EMA7Buffer[];
double EMA25Buffer[];
double EMA99Buffer[];
double Fib1Buffer[];
double Fib2Buffer[];
double Fib3Buffer[];
double L100Buffer[];
double TrendBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   // Indicator buffers
   SetIndexBuffer(0, EMA7Buffer);
   SetIndexBuffer(1, EMA25Buffer);
   SetIndexBuffer(2, EMA99Buffer);
   SetIndexBuffer(3, Fib1Buffer);
   SetIndexBuffer(4, Fib2Buffer);
   SetIndexBuffer(5, Fib3Buffer);
   SetIndexBuffer(6, L100Buffer);
   SetIndexBuffer(7, TrendBuffer);

   // Indicator names
   IndicatorShortName("3-EMA_FTS_HIGH-LOW_FIBONACCI");
   SetIndexLabel(0, "EMA 7");
   SetIndexLabel(1, "EMA 25");
   SetIndexLabel(2, "EMA 99");
   SetIndexLabel(3, "Fib 1");
   SetIndexLabel(4, "Fib 2");
   SetIndexLabel(5, "Fib 3");
   SetIndexLabel(6, "L100");
   SetIndexLabel(7, "Trend");

   // Colors
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, clrRed);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2, clrGreen);
   SetIndexStyle(2, DRAW_LINE, STYLE_SOLID, 2, clrBlack);
   SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 2, clrWhite);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 2, clrWhite);
   SetIndexStyle(5, DRAW_LINE, STYLE_SOLID, 2, clrWhite);
   SetIndexStyle(6, DRAW_LINE, STYLE_SOLID, 2, clrWhite);
   SetIndexStyle(7, DRAW_LINE, STYLE_SOLID, 2, clrWhite);

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int limit = rates_total - prev_calculated;
   if(prev_calculated > 0) limit++;

   for(int i = limit; i >= 0; i--)
     {
      EMA7Buffer[i] = iMA(NULL, 0, len4, 0, MODE_EMA, PRICE_CLOSE, i);
      EMA25Buffer[i] = iMA(NULL, 0, len5, 0, MODE_EMA, PRICE_CLOSE, i);
      EMA99Buffer[i] = iMA(NULL, 0, len6, 0, MODE_EMA, PRICE_CLOSE, i);
     }

   // Implement the rest of the calculations
   for(int i = limit; i >= 0; i--)
     {
      double norm_o = open[i];
      double norm_h = high[i];
      double norm_l = low[i];
      double norm_c = close[i];

      double wild_ma = WildMa(norm_c, ATRPeriod, i);
      double HiLo = MathMin(norm_h - norm_l, 1.5 * iMA(NULL, 0, ATRPeriod, 0, MODE_SMA, PRICE_HIGH - PRICE_LOW, i));
      double HRef = (norm_l <= high[i+1]) ? (norm_h - close[i+1]) : ((norm_h - close[i+1]) - 0.5 * (norm_l - high[i+1]));
      double LRef = (norm_h >= low[i+1]) ? (close[i+1] - norm_l) : ((close[i+1] - norm_l) - 0.5 * (low[i+1] - high[i]));

      double trueRange = (trailType == "modified") ? MathMax(HiLo, HRef, LRef) : MathMax(norm_h - norm_l, MathAbs(norm_h - close[i+1]), MathAbs(norm_l - close[i+1]));

      double loss = ATRFactor * wild_ma;
      double Up = norm_c - loss;
      double Dn = norm_c + loss;
      double TrendUp = Up;
      double TrendDown = Dn;
      double Trend = 1;

      TrendUp = (norm_c[i+1] > TrendUp[i+1]) ? MathMax(Up, TrendUp[i+1]) : Up;
      TrendDown = (norm_c[i+1] < TrendDown[i+1]) ? MathMin(Dn, TrendDown[i+1]) : Dn;
      Trend = (norm_c > TrendDown[i+1]) ? 1 : (norm_c < TrendUp[i+1]) ? -1 : Trend[i+1];
      double trail = (Trend == 1) ? TrendUp : TrendDown;

      TrendBuffer[i] = Trend;
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+
double WildMa(double src, int length, int index)
  {
   double result = 0.0;
   for(int i = 0; i < length; i++)
     {
      result += src - iMA(NULL, 0, length, 0, MODE_SMA, PRICE_CLOSE, index - i);
     }
   return(result / length);
  }

Répondu

1
Développeur 1
Évaluation
(20)
Projets
19
11%
Arbitrage
2
50% / 50%
En retard
0
Travail
2
Développeur 2
Évaluation
(50)
Projets
71
15%
Arbitrage
3
33% / 0%
En retard
7
10%
Chargé
3
Développeur 3
Évaluation
(336)
Projets
395
34%
Arbitrage
2
100% / 0%
En retard
0
Travail
4
Développeur 4
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Travail
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
6
Développeur 6
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
Hello, I want a Telegram trade copier converted to metatrader 5. I have 2 samples with. This are samples of what I needed, inbox to let discuss if you can get this done with ease. Thanks
Hello, - The EA must read TradingView alerts (or any other form of getting signals) and transform into MT4 operations. - The development job requested intends to create an EA able to receive incoming signals from TradingView and to trigger adequate orders such as buy, sell and close all with the ability to close all positions before creating new ones. - Ideally, the integration would be direct(EA able to receive and
Hiring MQL5 Programmer Job Description: We are seeking a full-time MQL5 programmer to join our team. The successful candidate will work closely with me on a range of projects, including the development and correction of trading algorithms and formulas. The work schedule is from 11 am to 5 pm, Mexico time (UTC-6). Responsibilities: Develop and optimize trading bots in MT5. Implement artificial intelligence and machine
BOT for Binary Options 30 - 100 USD
I want to make binary deriv bot. Conatct me to know more about this. The script is ready Those who are experts about binary voting can work with me more
I'm looking for developers that have previously built and have understanding and experience building trading EA, using Garch or Arima or Kalman or Support Vector Machine Models, I'm looking for experienced mathematical developer
Saya memerlukan Expert Advisor berdasarkan sinyal AOX. Itu harus memiliki pemeriksaan dan penanganan kesalahan operasi perdagangan. Kriteria utama pembukaan dan posisi penutupan: ■ arah rata-rata bergerak ■ harga lebih tinggi dari bar sebelumnya. Lot perdagangan adalah parameter masukan
An Expert Advise needed to add function to close pending orders after pending order is X-points away from current market. There is an existing bOT and this logic would just need to be added. Please use the most efficient select code available
correct expert to auto trade as per nnfx system, which it does not now do.?? go long: when braid filter histogram(bfh) turns green from red or black, first signal. then kijun must be above senkou a(confirm a) and closing price crossing above kijun(confirm b). chaikens-volitilty must be above 0(confirm c). difference between price and kijun must be less than atr value(confirm d). if all are met then two trades placed
I need a script or EA with following requirements- 1. Not more than a specified no. of trades (e.g. 4) can be executed within specified time (e.g. 1 Hour) starting from the time first trade is executed 2. Total SL amount in open trades or orders can not exceed a given % (e.g. 40%) of Balance in trading account I use an Order Management EA, so the scrip/EA will need to work with it
Необходимо обновить утилиту для платформ МТ4 и МТ5. Основные задачи включают исправление графического интерфейса и добавление новых функций. Также потребуется интеграция внешних переменных с графическим интерфейсом. Все детали изложены в техническом задании. Жду ваши предложения

Informations sur le projet

Budget
30+ USD

Client

Commandes passées1
Nombre d'arbitrages0