Tongold

MQL5 Indicadores Fórex

Tarea técnica

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   // Set indicator buffers
   SetIndexBuffer(0,TrendBuffer);
   SetIndexBuffer(1,FibBuffer);
   
   // Draw moving average
   IndicatorSetString(INDICATOR_SHORTNAME, "Trend MA + Fibo + RSI + Alerts");
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   // Deinitialization of the indicator
  }
//+------------------------------------------------------------------+
//| 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[])
  {
   // Calculate the Moving Average (Trend MA)
   int ma_period = 200;
   for(int i=0; i<rates_total; i++)
     {
      TrendBuffer[i] = iMA(NULL, 0, ma_period, 0, MODE_EMA, PRICE_CLOSE, i);
     }
   
   // Calculate Fibonacci Retracement Levels
   double highestHigh = iHigh(NULL, 0, 20);
   double lowestLow = iLow(NULL, 0, 20);
   
   double fib38 = lowestLow + (highestHigh - lowestLow) * 0.382;
   double fib50 = lowestLow + (highestHigh - lowestLow) * 0.50;
   double fib61 = lowestLow + (highestHigh - lowestLow) * 0.618;
   
   for(int i=0; i<rates_total; i++)
     {
      FibBuffer[i] = fib50;  // Only plotting fib50 for simplicity
     }
   
   // Calculate RSI (Relative Strength Index)
   double rsi_value;
   int rsi_period = 14;
   for(int i=0; i<rates_total; i++)
     {
      rsi_value = iRSI(NULL, 0, rsi_period, PRICE_CLOSE, i);
      
      // Check for Overbought (RSI > 70) or Oversold (RSI < 30)
      if (rsi_value > 70)
        {
         Alert("RSI is Overbought at ", TimeToString(Time[i], TIME_DATE|TIME_MINUTES));
        }
      else if (rsi_value < 30)
        {
         Alert("RSI is Oversold at ", TimeToString(Time[i], TIME_DATE|TIME_MINUTES));
        }
     }
   
   // Check for Break of Structure (BOS) and alert
   if (BreakOfStructure(high, low, rates_total))
     {
      Alert("Break of Structure detected at ", TimeToString(Time[0], TIME_DATE|TIME_MINUTES));
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+

// Global Buffers
double TrendBuffer[];
double FibBuffer[];

// Function to draw Support/Resistance Levels (Demand & Supply Zones)
void DrawDemandSupplyZones(const double &low[], const double &high[], const int rates_total)
  {
   for(int i=0; i<rates_total; i++)
     {
      // Basic logic: Find zones where price consolidated (can improve further)
      double demandZone = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, 50, i));
      double supplyZone = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, 50, i));
      
      // Visualizing these zones on chart
      if (close[i] > demandZone)
        {
         ObjectCreate(0, "DemandZone"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i], demandZone, Time[i+50], demandZone+50);
         ObjectSetInteger(0, "DemandZone"+IntegerToString(i), OBJPROP_COLOR, clrGreen);
        }
      
      if (close[i] < supplyZone)
        {
         ObjectCreate(0, "SupplyZone"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i], supplyZone, Time[i+50], supplyZone-50);
         ObjectSetInteger(0, "SupplyZone"+IntegerToString(i), OBJPROP_COLOR, clrRed);
        }
     }
  }

//+------------------------------------------------------------------+
//| Function to check for Break of Structure (BOS)                   |
//+------------------------------------------------------------------+
bool BreakOfStructure(const double &high[], const double &low[], int rates_total)
  {
   // Example: Check if price broke above the recent high/low
   double recentHigh = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, 10, 0));
   double recentLow = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, 10, 0));
   
   if (close[0] > recentHigh)
     {
      return(true);  // Bullish BOS
     }
   
   if (close[0] < recentLow)
     {
      return(true);  // Bearish BOS
     }
   
   return(false);
  }

Han respondido

1
Desarrollador 1
Evaluación
(167)
Proyectos
189
32%
Arbitraje
6
50% / 50%
Caducado
2
1%
Trabaja
2
Desarrollador 2
Evaluación
(11)
Proyectos
13
0%
Arbitraje
1
0% / 100%
Caducado
1
8%
Trabajando
3
Desarrollador 3
Evaluación
(357)
Proyectos
563
33%
Arbitraje
24
67% / 8%
Caducado
17
3%
Libre
4
Desarrollador 4
Evaluación
(7)
Proyectos
9
0%
Arbitraje
1
0% / 100%
Caducado
0
Libre
5
Desarrollador 5
Evaluación
(734)
Proyectos
1054
40%
Arbitraje
47
49% / 23%
Caducado
84
8%
Libre
6
Desarrollador 6
Evaluación
(489)
Proyectos
558
33%
Arbitraje
27
44% / 44%
Caducado
8
1%
Trabajando
Solicitudes similares
Hello There I need an expert to help me convert my tradingview pine script to mt4, I have three projects here, Here is the first one which i want to do for $20 and the second is mt5 expert advisor, I will need an expert which i will trust on all my projects, Thank you
Symbol_Maker 2.0 30 - 60 USD
Here we will create Gold in different currencies e.g: XAUUSD; XAUEUR=XAUUSD*EURUSD; XAUGBP=XAUUSD*GBPUSD; XAUCHF=XAUUSD*USDCHF; XAUAUD=XAUUSD*AUDUSD; XAUCAD=XAUUSD*USDCAD; XAUNZD=XAUUSD*NZDUSD; XAUJPY=XAUUSD*USDJPY; XAUZAR=XAUUSD*USDZAR. Then we will use the following formula to have XAUx = 43.88253412 x [XAUUSD^-0.128 x XAUEUR^-0.124 x XAUGBP^-0.122 x XAUCHF^-0.121 x XAUAUD^-0.115 x XAUCAD^-0.117 x XAUNZD^-0.119 x
Hello, i would like to have a fix on my plotted lines I use a liquidity strategy on the 1 hr time frame but the indicator that i am using for plotting the 1 hr lines is having a issue and printing the plot lines all over the place on the current 1 and 4 hr plot line as you can see in the screenshot this is very disturbing while i am trading can u fix that or just remove the current 1 hr plot line ?and or only show
"Hello, I am new to MT5 and ALGO TRADING. I am seeking a skilled and experienced trader to professionally manage and optimize my MT5 account together with me. I am using QUANTUM EMPEROR MR5 and Gallileo FX with 6 Premium Settings and seek help to get started and make this profitable. I will also share my profits with you. Please reach out to discuss potential collaboration."
I am looking for help to code an Expert Advisor (EA) for MetaTrader 4 (MT4). The EA should automate trading based on specific strategies and market conditions. I'm familiar with the basics of MQL4 but need assistance with more advanced features, like managing multiple indicators, optimizing risk management, and implementing trailing stops. I aim to create a reliable, efficient EA that can monitor the market and
I’m looking to turn into code. Trading Instrument - Crude Oil Futures (CL) Chart and Timeframe - 30-second chart Entry Setup 1. Time Focus on the first 30-second candle after 11:00:00 AM New York time. (11:00:00 candle) 2. Candle Size Limit : Skip the trade if the first candle is greater than 10 points. 3. Entry Orders - Place stop orders at the high and low of the first 30-second candle after 11:00:00. - Long Entry
EA gold HB king5 100+ USD
// เริ่มต้นโปรแกรม EA input double LotSize = 0.1; // ขนาดของล็อต input double TakeProfit = 50; // จุดกำไร input double StopLoss = 50; // จุดขาดทุน // ฟังก์ชันที่เรียกเมื่อมีการสั่งซื้อ void OnTick() { double MA = iMA(NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 0); // Simple Moving Average (SMA) 14 double Price = Bid; if(Price > MA) // เงื่อนไขสำหรับการซื้อ { if(OrderSelect(0, SELECT_BY_POS) == false) //
I’m looking to turn into code. Trading Instrument - Crude Oil Futures (CL) Chart and Timeframe - 30-second chart Entry Setup 1. Time Focus on the first 30-second candle after 11:00:00 AM New York time. (11:00:00 candle) 2. Candle Size Limit : Skip the trade if the first candle is greater than 10 points. 3. Entry Orders - Place stop orders at the high and low of the first 30-second candle after 11:00:00. - Long Entry
hello there I need a copy trade for mt4 can ANYONE help me with and let discuss on how to go about it kindly send me message to signify and let discuss mind you i need this urgently let connect to discuss and conclude
I would like the better volume indicator 1.6 in a scanner format. Scanning multiple timeframe and pairs of which can be picked. Would like it to provide all standard notifications and also if pressed to go to the a template timeframe and pair. *To be placed in a table format as the one added. To be able to add which time frame you want to see. *To advise me of the following Climax High - turn the text green High

Información sobre el proyecto

Presupuesto
100 - 1000 USD

Cliente

Encargos realizados1
Número de arbitrajes0