Currency Strength Algorithm

MQL5 Experts

Job finished

Execution time 20 hours
Feedback from customer
I hired Navdeep to help me work on a personal project where my ability with MQL5 was lacking. He completed the job within a few hours and helped me with numerous questions after the handover
Feedback from employee
Happy to help

Specification

Hello,

I have developed a strategy but I'm struggling to write the MQL5 code and it's easier for me to get some help rather than continue struggling.

I will explain the part of the strategy I need help with in basic code but I need help writing this in MQL5 as 1. I can't figure out how to calculate the moving average of a source that isnt OHLC, and 2. I cant think how to store that as an array. I have commented the sections below:


lookback_period = 50

//------ Get RSI Values for all 28 Pairs

double audcad = rsi("AUDCAD",lookback_period)
double audchf = rsi("AUDCHF",lookback_period)
double audjpy = rsi("AUDJPY",lookback_period)
double audnzd = rsi("AUDNZD",lookback_period)
double audusd = rsi("AUDUSD",lookback_period)
double cadchf = rsi("CADCHF",lookback_period)
double cadjpy = rsi("CADJPY",lookback_period)
double chfjpy = rsi("CHFJPY",lookback_period)
double euraud = rsi("EURAUD",lookback_period)
double eurcad = rsi("EURCAD",lookback_period)
double eurchf = rsi("EURCHF",lookback_period)
double eurgbp = rsi("EURGBP",lookback_period)
double eurjpy = rsi("EURJPY",lookback_period)
double eurnzd = rsi("EURNZD",lookback_period)
double eurusd = rsi("EURUSD",lookback_period)
double gbpaud = rsi("GBPAUD",lookback_period)
double gbpcad = rsi("GBPCAD",lookback_period)
double gbpchf = rsi("GBPCHF",lookback_period)
double gbpjpy = rsi("GBPJPY",lookback_period)
double gbpnzd = rsi("GBPNZD",lookback_period)
double gbpusd = rsi("GBPUSD",lookback_period)
double nzdcad = rsi("NZDCAD",lookback_period)
double nzdchf = rsi("NZDCHF",lookback_period)
double nzdjpy = rsi("NZDJPY",lookback_period)
double nzdusd = rsi("NZDUSD",lookback_period)
double usdcad = rsi("USDCAD",lookback_period)
double usdchf = rsi("USDCHF",lookback_period)
double usdjpy = rsi("USDJPY",lookback_period)

//----- Find Individual Currency Strength

double aud = (audcad+audchf+(100-euraud)+(100-gbpaud)+audjpy+audnzd+audusd)/7;
double cad = ((100-audcad)+cadchf+(100-eurcad)+(100-gbpcad)+cadjpy+(100-nzdcad)+(100-usdcad))/7;
double chf = ((100-audchf)+(100-cadchf)+(100-eurchf)+(100-gbpchf)+chfjpy+(100-nzdchf)+(100-usdchf))/7;
double eur = (euraud,eurcad+eurchf+eurgbp+eurjpy+eurnzd+eurusd)/7;
double gbp = (gbpaud,gbpcad+gbpchf+(100-eurgbp)+gbpjpy+gbpnzd+gbpusd)/7;
double jpy = ((100-audjpy)+(100-cadjpy)+(100-chfjpy),(100-eurjpy)+(100-gbpjpy)+(100-nzdjpy)+(100-usdjpy))/7;
double nzd = ((100-audnzd)+nzdcad+nzdchf+(100-eurnzd)+(100-gbpnzd)+nzdjpy+nzdusd)/7;
double usd = ((100-audusd)+usdcad+usdchf+(100-eurusd)+(100-gbpusd)+usdjpy+(100-nzdusd))/7;



//---- Now I need a function to take one of the individual currency strengths and calculate 2 moving averages, subtracting the smaller moving average from the larger one. The problem is 1. finding the moving average of a source that isnt OHLC, and 2. storing that as an array to be able to identify crossovers etc:

int signal(double data_currency)
{
        int signal_output = 0;

        delta[] = ema(data_currency,50) - ema(data_currency,200) // This needs to be an array so that I can calculate when delta crosses above or below 0. This is the entry criteria
        
        if(delta[0] > 0 && delta[1] < 0) //delta crosses above 0
                signal_output = 1;

        if(delta[0] < 0 && delta[1]) > 0 //delta below above 0
                signal_output = -1;

        return(signal_output);
}
    


This should be a simple fix for someone who knows the solution!


Responded

1
Developer 1
Rating
(322)
Projects
499
67%
Arbitration
5
40% / 0%
Overdue
4
1%
Free
Published: 8 codes
2
Developer 2
Rating
(5)
Projects
7
29%
Arbitration
0
Overdue
0
Free
Similar orders
I buy EA for USDEUR or XAUUSD for FTMO with proven backtest. Send me images with backtest reports where daily max dd is 1% on 200k account. I can buy several eas if you have them with proofs. Need images of backtesting for 5 years
Cerco uno sviluppatore MQL5 esperto per lavorare su un Expert Advisor (EA) XAUUSD per MetaTrader 5 già esistente , versione attuale XAU_V59.mq5 . L'obiettivo è modificare, correggere e sviluppare il codice esistente senza stravolgere la logica già presente , mantenendo le regole ei parametri già definiti, salvo le modifiche espressamente richieste. REQUISITI FONDAMENTALI Il codice deve essere scritto in MQL5 nativo e
Project Title: Modular Session Breakout & Multi-MA EA with Anti-Whipsaw Filters Requirements: Please build an EA where every feature can be individually turned ON/OFF via an independent toggle switch and configured via adjustable parameters. The EA should function as an efficient "Entry Engine" that works in tandem with external risk managers (e.g., KT Equity Protector). 1. Global Settings Master Switch: Global
I need an MT5 Expert Advisor for a mean-reversion strategy on EURUSD: single entry at local price extremes, fixed stop loss and take profit, no grid and no averaging. Position size must be calculated automatically so that risk per trade is capped at a fixed USD amount, with a daily loss limit and a pause after consecutive losses. I will send the full specification — entry conditions, filters and all input parameters
I’m seeking a high‑reliability Expert Advisor that operates on ADX and Moving Average signals, capable of executing trades with strict error‑handling to ensure every operation is processed safely and efficiently. The EA should base its entry and exit logic on the direction of the Moving Average and the latest candle price , use ADX to confirm trend strength, allow a customizable lot size , and maintain robust
Upgrade the existing advisor from work #245622 (Martingale EA) for use on FOREX currency pairs. Martingale-based advisor with risk management elements. Management of trading account ID and expiration time. Details in the technical specifications
I trade NAS 100 using Harmonic Patterns. I want to create a MT5 EA to trade based on this indicator: https://www.mql5.com/en/market/product/78325?source=Site +Market+MT5+Indicator+Search+Rating006%3abasic+harmonic+patterns I want the EA to have the same take profit levels as indicator: TP1, TP2, TP3 (select in inputs which TP to use). The EA should also use the same Stop Loss as indicator, with the option to adjust
I am looking for a professional and market-savvy MQL developer to build a disciplined, stable Scalping Expert Advisor (EA). The ideal developer must have a solid understanding of Trend Identification, Fibonacci Levels, and Technical Indicators , alongside strict risk management implementation. Key Focus Areas & Developer Requirements: Market & Analysis Expertise: ⚬ Deep understanding of Trend direction (Market
NYC 30+ USD
I need a ready-made professional trading EA similar to my current scalping bot, but improved for consistent profit and better risk control. Requirements: - Works on XAUUSD (M5 timeframe) - Fixed lot option (start with 0.01) - Opens only one trade at a time (no multiple positions) - Small, fast entries (scalping style) - Better risk-reward (SL must NOT be bigger than TP) - Breakeven function - Trailing stop to secure
Looking for an experienced MQL4 developer to restore functionality for an MT4 Expert Advisor I've used for 3 years. The software is showing a startup validation error, and I cannot reach the original developer. I'll provide all necessary files and proof of ownership. I don't have the code source just the .ex4 file. Scope of work: - Diagnose the startup validation error of the Expert Advisor - Restore normal

Project information

Budget
30+ USD
Deadline
from 1 to 2 day(s)