UNRULY EA

MQL5 Experten

Spezifikation


//+------------------------------------------------------------------+
//|        RSI XAUUSDm PRO EA (Upgraded for small accounts)         |
//+------------------------------------------------------------------+
#property strict

//--- Inputs
input int RSIPeriod = 5;

input double BuyRSILevel  = 40;
input double SellRSILevel = 60;

input double RiskPercent = 1.0;

input double StopLossPoints  = 900;
input double TakeProfitPoints = 1200;

input double MaxSpreadPoints = 300;   // IMPORTANT for XAUUSDm

input bool UseTrendFilter = true;
input int TrendMAPeriod = 50;

input ENUM_TIMEFRAMES TimeFrame = PERIOD_M1;

//--- Handles
int rsiHandle;
int maHandle;

//+------------------------------------------------------------------+
int OnInit()
{
   rsiHandle = iRSI(_Symbol, TimeFrame, RSIPeriod, PRICE_CLOSE);
   maHandle  = iMA(_Symbol, TimeFrame, TrendMAPeriod, 0, MODE_EMA, PRICE_CLOSE);

   if(rsiHandle == INVALID_HANDLE || maHandle == INVALID_HANDLE)
   {
      Print("Indicator handle error");
      return(INIT_FAILED);
   }

   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
bool HasPosition()
{
   return PositionSelect(_Symbol);
}

//+------------------------------------------------------------------+
double GetLot()
{
   double balance = AccountInfoDouble(ACCOUNT_BALANCE);
   double riskMoney = balance * RiskPercent / 100.0;

   double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);

   double lot = riskMoney / (StopLossPoints * tickValue);

   double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
   double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);

   if(lot < minLot) lot = minLot;
   if(lot > maxLot) lot = maxLot;

   return NormalizeDouble(lot, 2);
}

//+------------------------------------------------------------------+
bool SpreadOK()
{
   double spread = (SymbolInfoDouble(_Symbol, SYMBOL_ASK) -
                    SymbolInfoDouble(_Symbol, SYMBOL_BID)) / _Point;

   return (spread <= MaxSpreadPoints);
}

//+------------------------------------------------------------------+
void SendBuy(double lot)
{
   MqlTradeRequest req;
   MqlTradeResult res;

   double price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);

   req.action = TRADE_ACTION_DEAL;
   req.type = ORDER_TYPE_BUY;
   req.symbol = _Symbol;
   req.volume = lot;
   req.price = price;
   req.sl = price - StopLossPoints * _Point;
   req.tp = price + TakeProfitPoints * _Point;
   req.deviation = 20;
   req.magic = 1111;

   OrderSend(req, res);

   if(res.retcode != 10009 && res.retcode != 10008)
      Print("BUY ERROR: ", res.retcode);
}

//+------------------------------------------------------------------+
void SendSell(double lot)
{
   MqlTradeRequest req;
   MqlTradeResult res;

   double price = SymbolInfoDouble(_Symbol, SYMBOL_BID);

   req.action = TRADE_ACTION_DEAL;
   req.type = ORDER_TYPE_SELL;
   req.symbol = _Symbol;
   req.volume = lot;
   req.price = price;
   req.sl = price + StopLossPoints * _Point;
   req.tp = price - TakeProfitPoints * _Point;
   req.deviation = 20;
   req.magic = 1111;

   OrderSend(req, res);

   if(res.retcode != 10009 && res.retcode != 10008)
      Print("SELL ERROR: ", res.retcode);
}

//+------------------------------------------------------------------+
void OnTick()
{
   if(HasPosition()) return;
   if(!SpreadOK()) return;

   double rsi[2];
   double ma[1];

   if(CopyBuffer(rsiHandle, 0, 0, 2, rsi) <= 0) return;
   if(UseTrendFilter && CopyBuffer(maHandle, 0, 0, 1, ma) <= 0) return;

   double currentRSI = rsi[0];
   double previousRSI = rsi[1];

   double price = SymbolInfoDouble(_Symbol, SYMBOL_BID);

   double lot = GetLot();

   bool uptrend = true;
   if(UseTrendFilter)
      uptrend = (price > ma[0]);

   bool downtrend = true;
   if(UseTrendFilter)
      downtrend = (price < ma[0]);

   // BUY
   if(previousRSI <= BuyRSILevel && currentRSI > BuyRSILevel && uptrend)
   {
      SendBuy(lot);
   }

   // SELL
   if(previousRSI >= SellRSILevel && currentRSI < SellRSILevel && downtrend)
   {
      SendSell(lot);
   }
}
//+------------------------------------------------------------------+

Bewerbungen

1
Entwickler 1
Bewertung
(104)
Projekte
127
24%
Schlichtung
23
30% / 52%
Frist nicht eingehalten
8
6%
Frei
2
Entwickler 2
Bewertung
(3)
Projekte
3
0%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
0
Frei
3
Entwickler 3
Bewertung
(250)
Projekte
460
26%
Schlichtung
139
20% / 60%
Frist nicht eingehalten
100
22%
Frei
4
Entwickler 4
Bewertung
(169)
Projekte
202
48%
Schlichtung
5
20% / 60%
Frist nicht eingehalten
2
1%
Frei
5
Entwickler 5
Bewertung
(62)
Projekte
90
29%
Schlichtung
24
13% / 58%
Frist nicht eingehalten
7
8%
Arbeitet
6
Entwickler 6
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
7
Entwickler 7
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
8
Entwickler 8
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
9
Entwickler 9
Bewertung
(7)
Projekte
9
0%
Schlichtung
2
0% / 100%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Artikel
10
Entwickler 10
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
11
Entwickler 11
Bewertung
(242)
Projekte
285
77%
Schlichtung
13
69% / 0%
Frist nicht eingehalten
4
1%
Arbeitet
12
Entwickler 12
Bewertung
(45)
Projekte
63
52%
Schlichtung
5
0% / 40%
Frist nicht eingehalten
1
2%
Frei
13
Entwickler 13
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
14
Entwickler 14
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
I need help configuring my Sierra charts to run real time data, at the moment it’s running delayed data even though I have the proper subscriptions in place. I am at a last resort effort now where I want to get this problem solved efficiently. And build indicators. I need to find someone with flawless years of experience with Sierra who can accurately guide me and help me trouble shoot
ART 1: NUMBER OF TRADES ALLOWED IN ONE DIRECTION: Maximum number of trades in one direction = ------------------------------ ------------------------------ ------------------------------ -------------- par PART 2 PARTIAL CLOSURE OF STOPLOSS: Total STOPLOSS =------ Pips 1a: Percentage of Stoploss =--% 1b Percentage of Lot size =--% 2a: Percentage oe of Lot size =--% f Stoploss =--% 2b
MT5 Expert Advisor (EA) Acquisition Request – Proven XAUUSD Martingale / Grid EA I am looking to purchase a fully developed, actively traded, and proven MT5 Expert Advisor for XAUUSD (Gold) that uses Martingale, Grid, Averaging, Recovery, or Hybrid Recovery techniques. Mandatory Verification Requirement To be considered, please provide: - MT5 Investor Password (Read-Only Access) for verification - Account Number /
I'm looking to connect with an experienced MT5 developer who has previously built or worked on advanced trade copier systems beyond standard master-slave copying. Requirements: • Strong MT5 and MQL5 experience • Experience developing trade copiers • Familiarity with manual trade replication concepts • Knowledge of MT5 terminal architecture and execution workflows • Experience integrating MT5 with external
Hello, I have two Expert Advisors (EAs) that I'm migrating to my MQL5 VPS. I need a program that I can run on a separate chart or other interface to: - Allow EA #2 (with the magic number) to trade only during the Asian session. Therefore, EA #2 needs to be blocked during all other sessions. - Allow EA #1 to trade without restriction. Thank you
Labouchere System has many series and can transfer the Units to any other Series when needed (this function is very important). Building a dedicated SeriesManager class to handle all eight arrays would be very useful to make the unit transfers "atomic," so the logic is bulletproof and we never have to worry about data errors during the series transitions. The coders who really knows this cancellation sytem can apply
Project Overview I need an MQL5 developer to review and confirm their understanding of this project before providing a quote. Objective: Backtest an Opening Range Breakout (ORB) strategy on NAS100USD and generate detailed trade documentation. Requirements: Instrument NAS100USD only. Backtesting Run the ORB strategy on historical data. Target a minimum of 200 trades if the available data allows. Advise how much
Looking to buy profitable MT4/MT5 Expert Advisors (EAs). Requirements: • Fully automated • 6+ months backtest • 100+ trades • No martingale or grid systems Send: • Backtest report • Max drawdown • Markets traded • Brief strategy summary Only original EAs developed by you. Long-term collaboration available
Hi, We are an experienced team of quants with products top ranked in MQL5 but who needs to gain audience on 10K+ communities to advertise EA to get more traffic on mql5. Thanks
We are looking to purchase Expert Advisors (EAs) for MetaTrader 4 and MetaTrader 5. Requirements: -Minimum 6 months of history (12+ months preferred). -Forex pairs, Gold (XAUUSD), Indices, Commodities, or Crypto CFDs are all acceptable. -Fully automated. -No martingale. -No grid systems. -No lot multiplication or position size scaling based on previous wins or losses. -Not dependent on extremely low spreads/slippage

Projektdetails

Budget
30 - 1000 USD
Ausführungsfristen
von 1 bis 30 Tag(e)

Kunde

Veröffentlichte Aufträge1
Anzahl der Schlichtungen0