Tarea técnica

//+------------------------------------------------------------------+
//|                   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);
}

Han respondido

1
Desarrollador 1
Evaluación
(1)
Proyectos
0
0%
Arbitraje
2
0% / 50%
Caducado
0
Trabaja
2
Desarrollador 2
Evaluación
Proyectos
0
0%
Arbitraje
1
0% / 100%
Caducado
0
Libre
3
Desarrollador 3
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Trabaja
4
Desarrollador 4
Evaluación
(1)
Proyectos
1
0%
Arbitraje
0
Caducado
0
Libre
Ha publicado: 2 artículos
5
Desarrollador 5
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
Solicitudes similares
// 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+"\","
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
EA grid hunter 30 - 200 USD
1. Platform & Environment Platform: MetaTrader 5 (MT5 ONLY) Language: MQL5 Account type: ECN / Netting or Hedging Designed for broker rebate/commission return programs No DLLs, no external dependencies 2. Strategy Overview The EA is a high-frequency scalping Expert Advisor focused on maximizing the number of trades with minimal price movement, where the main source of profitability is broker rebate rather than market
Olá, preciso de um programador para montar um indicador com base na sobrevenda do estocastico, volume macd, para uma estrategia de reversão e falso rompimento com regioes de OB validos minimas e maximas de H1, H4, D1 e canais para confluencias, quero que seja didatico visualmente e com cores, sons de alertas e algum sinal de call ou put como setas indicando reversões e falsos rompimentos e continuidade

Información sobre el proyecto

Presupuesto
30+ USD

Cliente

Encargos realizados1
Número de arbitrajes0