Spécifications

//+------------------------------------------------------------------+
//|                   RSI + Bollinger Bands EA (MT5)                |
//|                        Built for Jonah                           |
//+------------------------------------------------------------------+
#property strict
#property version   "1.00"

//================ INPUTS =================
input string   SymbolName      = "XAUUSD";
input double   LotSize         = 0.01;
input int      RSIPeriod       = 14;
input double   RSI_Buy_Level   = 30;
input double   RSI_Sell_Level  = 70;
input int      BB_Period       = 20;
input double   BB_Deviation    = 2.0;
input double   MaxSpread       = 0.2;
input int      StopLossPoints  = 300;
input int      TakeProfitPoints= 600;

//================ HANDLES =================
int rsiHandle;
int bbHandle;

//================ INIT ====================
int OnInit()
{
   rsiHandle = iRSI(SymbolName, PERIOD_CURRENT, RSIPeriod, PRICE_CLOSE);
   bbHandle  = iBands(SymbolName, PERIOD_CURRENT, BB_Period, BB_Deviation, 0, PRICE_CLOSE);

   if(rsiHandle == INVALID_HANDLE || bbHandle == INVALID_HANDLE)
      return INIT_FAILED;

   return INIT_SUCCEEDED;
}

//================ TICK ====================
void OnTick()
{
   if(!SpreadOK()) return;
   if(PositionSelect(SymbolName)) return;

   double rsi[1];
   double upper[1], lower[1];
   double price = SymbolInfoDouble(SymbolName, SYMBOL_BID);

   CopyBuffer(rsiHandle, 0, 0, 1, rsi);
   CopyBuffer(bbHandle, 1, 0, 1, upper);
   CopyBuffer(bbHandle, 2, 0, 1, lower);

   // BUY CONDITION
   if(rsi[0] <= RSI_Buy_Level && price <= lower[0])
      OpenTrade(ORDER_TYPE_BUY);

   // SELL CONDITION
   if(rsi[0] >= RSI_Sell_Level && price >= upper[0])
      OpenTrade(ORDER_TYPE_SELL);
}

//================ SPREAD CHECK =================
bool SpreadOK()
{
   double spread = SymbolInfoDouble(SymbolName, SYMBOL_SPREAD);
   return spread <= MaxSpread;
}

//================ TRADE EXECUTION =================
void OpenTrade(ENUM_ORDER_TYPE type)
{
   MqlTradeRequest req;
   MqlTradeResult  res;
   ZeroMemory(req);

   double price = (type == ORDER_TYPE_BUY)
                  ? SymbolInfoDouble(SymbolName, SYMBOL_ASK)
                  : SymbolInfoDouble(SymbolName, SYMBOL_BID);

   req.action   = TRADE_ACTION_DEAL;
   req.symbol   = SymbolName;
   req.volume   = LotSize;
   req.type     = type;
   req.price    = price;
   req.sl       = (type == ORDER_TYPE_BUY)
                  ? price - StopLossPoints * _Point
                  : price + StopLossPoints * _Point;
   req.tp       = (type == ORDER_TYPE_BUY)
                  ? price + TakeProfitPoints * _Point
                  : price - TakeProfitPoints * _Point;
   req.deviation= 10;
   req.magic    = 111222;

   OrderSend(req, res);
}

//================ DEINIT =================
void OnDeinit(const int reason)
{
   IndicatorRelease(rsiHandle);
   IndicatorRelease(bbHandle);
}

Répondu

1
Développeur 1
Évaluation
(1)
Projets
0
0%
Arbitrage
2
0% / 50%
En retard
0
Travail
2
Développeur 2
Évaluation
Projets
0
0%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
3
Développeur 3
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Travail
4
Développeur 4
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 2 articles
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
I am looking for an experienced MQL5 developer to convert a complex TradingView Pine Script (will provide the script from tradingview) into a fully automated MT5 Expert Advisor -bot. The TradingView script includes: Market Structure (BOS, CHoCH, Swing BOS) Strong / Weak High & Low Equilibrium (Premium / Discount zones) Volumetric Order Blocks Fair Value Gaps (FVG / VI / OG) Accumulation & Distribution zones Equal
// Add this to your EA after ExportState() function void SendToBase44(const string state, const string dir, double entry, double sl, double tp) { string url = " https://preview-sandbox--ee0a32a725b788974de435e8cef40b7a.base44.app/api/functions/receiveEAState "; string headers = "Content-Type: application/json\r\n"; string json = "{" "\"symbol\":\""+_Symbol+"\","
Specifications – Development of an MQL5 Expert Advisor (Reverse Engineering) Project context: I have access to a real trading history consisting of more than 500 trades executed over a period of approximately 3 years. These trades have been exported into a CSV file containing all available information, including date, time, symbol, order type, entry price, and exit price. Important: I do not have access to the
1.Sinyal Perdagangan : Sinyal beli: garis MACD utama memotong garis sinyal ke atas (macd_current>signal_current && macd_previous<signal_previous). Sinyal jual: garis MACD utama memotong garis sinyal ke bawah (macd_current<signal_current && macd_previous>signal_previous). Gambar di bawah menunjukkan kasus beli dan jual. 2. Posisi ditutup pada sinyal yang berlawanan: Posisi beli ditutup pada sinyal jual, dan posisi
A trading expert that relies on specific signals such as price breaking a peak or trough, liquidity withdrawal, and retesting the signal. Lock the expert advisor with a code and create a subscriber base with a separate key for each subscriber
Stormbreaker 30 - 100 USD
✅ *Step-by-Step Strategy to Code – CRT + CISD (MT5 EA)* 🔧 *System Setup* *Timeframes Used:* - *D1* – Bias & CRT zones (High & Low) - *H1* – Confirm candle closes back inside CRT levels - *M5* – CISD pattern (entry trigger) --- 🟢 *Buy Setup – Logic* 1. *Detect D1 CRT Zone:* - Identify current day’s *High and Low* → define CRT levels. 2. *Wait for Sweep:* - Price must *break below D1 CRT Low* (wick). 3. *H1
EA for Gold 50 - 300 USD
Ea gold is specifically available for those willing to make huge profits very good and trustworthy very easier to use Buy signal: the main MACD line crosses the signal line upwards (macd_current>signal_current && macd_previous<signal_previous). Sell signal: the main MACD line crosses the signal line downwards (macd_current<signal_current && macd_previous>signal_previous). The below figure shows Buy and Sell cases

Informations sur le projet

Budget
30+ USD

Client

Commandes passées1
Nombre d'arbitrages0