Job finished
Execution time 31 minutes
Feedback from customer
absolutely brilliant everything i ask for and more, and all done within a couple of hours. I would use again without hesitation
Feedback from employee
Very thanks for order! Please let me know if you need programmer!
Specification
I would like someone who could change this indicator onto an expert adviser.
i want it to buy when the red histogram changes to green and see when green changes to red. i know that this is not a great strategy but i can add other indicators later.
I want the mql5 an ex5 files please
//+------------------------------------------------------------------+ //| SqueezeMomentumIndicator.mq5 | //| Copyright 2020, Andrei Novichkov. | //| http://fxstill.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, Andrei Novichkov." #property description "Translate from Pine: Squeeze Momentum Indicator [LazyBear]" /********************************************************************************************************* This is a derivative of John Carter's "TTM Squeeze" volatility indicator, as discussed in his book "Mastering the Trade" (chapter 11). Black crosses on the midline show that the market just entered a squeeze ( Bollinger Bands are with in Keltner Channel). This signifies low volatility , market preparing itself for an explosive move (up or down). Gray crosses signify "Squeeze release". Mr.Carter suggests waiting till the first gray after a black cross, and taking a position in the direction of the momentum (for ex., if momentum value is above zero, go long). Exit the position when the momentum changes (increase or decrease - signified by a color change). Mr.Carter uses simple momentum indicator , while I have used a different method (linreg based) to plot the histogram. More info: - Book: Mastering The Trade by John F Carter *********************************************************************************************************/ #property link "http://fxstill.com" #property version "1.00" #property indicator_separate_window #property indicator_buffers 5 #property indicator_plots 2 #property indicator_label1 "SqueezeMomentum" #property indicator_type1 DRAW_COLOR_HISTOGRAM #property indicator_color1 clrLimeGreen, clrGreen, clrRed, clrMaroon #property indicator_style1 STYLE_SOLID #property indicator_width1 3 #property indicator_label2 "SqueezeMomentumLine" #property indicator_type2 DRAW_COLOR_LINE #property indicator_color2 clrDodgerBlue, clrBlack, clrGray #property indicator_style2 STYLE_SOLID #property indicator_width2 5 //--- input parameters input int lengthBB = 20; // Bollinger Bands Period input double multBB = 2.0; // Bollinger Bands MultFactor input int lengthKC = 20; // Keltner Channel Period input double multKC = 1.5; // Keltner Channel MultFactor input ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE; // type of price or handle double iB[], iC[], lB[], lC[]; double srce[]; int kc, bb; static int MINBAR = MathMax(lengthBB, lengthKC) + 1; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { SetIndexBuffer(0, iB, INDICATOR_DATA); SetIndexBuffer(1, iC, INDICATOR_COLOR_INDEX); SetIndexBuffer(2, lB, INDICATOR_DATA); SetIndexBuffer(3, lC, INDICATOR_COLOR_INDEX); SetIndexBuffer(4, srce, INDICATOR_CALCULATIONS); ArraySetAsSeries(iB, true); ArraySetAsSeries(iC, true); ArraySetAsSeries(srce, true); ArraySetAsSeries(lB, true); ArraySetAsSeries(lC, true); IndicatorSetString(INDICATOR_SHORTNAME,"SQZMOM"); IndicatorSetInteger(INDICATOR_DIGITS,_Digits); kc = iCustom(NULL, 0, "KeltnerChannel", lengthKC, multKC, false, MODE_SMA, applied_price); if (kc == INVALID_HANDLE) { Print("Error while open KeltnerChannel"); return(INIT_FAILED); } bb = iBands(NULL, 0, lengthBB, 0, multBB, applied_price); if (bb == INVALID_HANDLE) { Print("Error while open BollingerBands"); return(INIT_FAILED); } return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { IndicatorRelease(kc); IndicatorRelease(bb); } void GetValue(const double& h[], const double& l[], const double& c[], int shift) { double bbt[1], bbb[1], kct[1], kcb[1]; if (CopyBuffer(bb, 1, shift, 1, bbt) <= 0) return; if (CopyBuffer(bb, 2, shift, 1, bbb) <= 0) return; if (CopyBuffer(kc, 0, shift, 1, kct) <= 0) return; if (CopyBuffer(kc, 2, shift, 1, kcb) <= 0) return; bool sqzOn = (bbb[0] > kcb[0]) && (bbt[0] < kct[0]); bool sqzOff = (bbb[0] < kcb[0]) && (bbt[0] > kct[0]); bool noSqz = (sqzOn == false) && (sqzOff == false); int indh = iHighest(NULL, 0, MODE_HIGH, lengthKC, shift); if (indh == -1) return; int indl = iLowest(NULL, 0, MODE_LOW, lengthKC, shift); if (indl == -1) return; double avg = (h[indh] + l[indl]) / 2; avg = (avg + (kct[0] + kcb[0]) / 2) / 2; srce[shift] = c[shift] - avg; double error; iB[shift] = LinearRegression(srce, lengthKC, shift, error); if (iB[shift] > 0){ if(iB[shift] < iB[shift + 1]) iC[shift] = 1; } else { if(iB[shift] < iB[shift + 1]) iC[shift] = 2; else iC[shift] = 3; } if (!noSqz) { lC[shift] = (sqzOn)? 1: 2; } } double LinearRegression(const double& array[], int period, int shift, double& error) { double sx = 0, sy = 0, sxy = 0, sxx = 0, syy = 0, y = 0; int param = (ArrayIsSeries(array) )? -1: 1; for (int x = 0; x < period; x++) { y = array[shift + param * x]; sx += x; sy += y; sxx += x * x; sxy += x * y; syy += y * y; }//for (int x = 1; x <= period; x++) double slope = (period * sxy - sx * sy) / (sx * sx - period * sxx); double intercept = (sy - slope * sx) / period; error = MathSqrt((period * syy - sy * sy - slope * slope * (period * sxx - sx*sx)) / (period * (period - 2)) ); return intercept + slope * period; }//double LinearRegression(const double& array[], int shift) //+------------------------------------------------------------------+ //| 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[]) { if(rates_total <= 4) return 0; ArraySetAsSeries(close,true); ArraySetAsSeries(high,true); ArraySetAsSeries(low,true); int limit = rates_total - prev_calculated; if (limit == 0) { //A new tick has come } else if (limit == 1) { // A new bar is formed GetValue(high, low, close, 1); } else if (limit > 1) { // The first call of the indicator, changing the timeframe, loading data from history ArrayInitialize(iB, EMPTY_VALUE); ArrayInitialize(iC, 0); ArrayInitialize(lB, 0); ArrayInitialize(lC, 0); ArrayInitialize(srce, 0); limit = rates_total - MINBAR; for(int i = limit; i >= 1 && !IsStopped(); i--){ GetValue(high, low, close, i); }//for(int i = limit + 1; i >= 0 && !IsStopped(); i--) return(rates_total); } // GetValue(high, low, close, 0); return(rates_total); } //+------------------------------------------------------------------+
Responded
1
Rating
Projects
1462
63%
Arbitration
21
57%
/
10%
Overdue
43
3%
Free
2
Rating
Projects
16
0%
Arbitration
8
13%
/
75%
Overdue
3
19%
Free
3
Rating
Projects
643
26%
Arbitration
92
72%
/
14%
Overdue
12
2%
Working
Published: 1 code
4
Rating
Projects
114
26%
Arbitration
7
29%
/
57%
Overdue
5
4%
Free
5
Rating
Projects
53
17%
Arbitration
7
0%
/
100%
Overdue
5
9%
Free
Similar orders
Purpose: Capture price reversals when the market becomes overextended. This is a mean-reversion strategy , entering trades when the price moves outside Bollinger Bands and RSI confirms an overbought/oversold condition. Indicators Used: Bollinger Bands (20, 2) – detect overextension RSI (14) – confirm momentum extremes Logic: Buy Conditions: Price closes below the lower Bollinger Band RSI < 30 No existing open
I am looking for an experienced NinjaTrader developer to help confirm and later develop two trading strategies based on custom indicator logic. The first strategy is based on an existing MBox Wave indicator , which provides around 11 output values . The strategy must be able to read these indicator outputs at bar close and use them to make trading decisions. The second strategy is an auction-state logic , designed to
I'm looking for an experience developer that can help develop an EA based Strategy below into 1 EA itself no issues if used martingale & fix lot . Symbol : XAUUSD 1m-5m-15m i will explain to the developer more datils before doing the EA. i will send the indicator and the set point. 1- indicator extreme 2- stochastic Oscillator 3- stochastic indicator good luck
MT5 INDICATOR PROJECT
100+ USD
I’m looking for an experienced MQL4 / MQL5 developer to help with an indicator project. Project overview: I have an existing MT4 arrow indicator that I’ve used for several years. The indicator is compiled only (.ex4) — source code is not available. It does not repaint . The indicator has stopped displaying properly (likely outdated). What I need: Rebuild the indicator from scratch by analyzing its behavior and
Missy
30 - 600 USD
Develop an Expert Advisor trading trend reversals. Reversal signals will be generated based on Price Action patterns. Trend will be determined based on ADX, Alligator and MACD, while the indicator selection should be available in the EA's input parameters
Hello, I’m looking for a professional MQL4/MQL5 developer to review, backtest, and optimize an EMA-based Expert Advisor to improve its win rate. The EA is already developed, and the task involves analyzing the existing logic, optimizing parameters, and providing performance improvements with clear results. Experience with strategy optimization and scalping systems is required
I am looking for an experienced MQL5 developer with strong skills in AI/Deep Learning integration to build a next-generation Expert Advisor (EA) for MetaTrader 5. 1. Project Overview We are seeking a highly skilled and experienced developer to build a next-generation Forex Expert Advisor (EA) for MetaTrader 5. The core innovation of this project is an EA that relies 100% on a custom deep learning AI model
Hi 👋 I’m looking for an MQL5 programmer to help me with a very simple task 😊 📌 What needs to be done: Convert an existing Python trading strategy into a simple MT5 Expert Advisor Logic is already finished and tested in Python ✅ EA only needs to execute trades based on given rules (no fancy UI, no over‑engineering) Intraday strategy, one symbol, one timeframe ⏱️ 📌 What I provide: Full Python code 📄 Exact trading
ICT Sell-Only Execution EA
100+ USD
Below is the same information written as a continuous, professional text , clear and suitable for a requirements description field. This project consists of adjusting an existing Expert Advisor for MetaTrader 5, written in MQL5. The original EA structure, logic, and trading methodology must be fully preserved, with no rewriting, simplification, or replacement of the strategy. The only required functional change is to
MT5 EXPERT By Jim
100+ USD
//+------------------------------------------------------------------+ //| MT5 Forex Scalping EA | //| Trend Pullback Scalper | //+------------------------------------------------------------------+ #property strict #include <Trade/Trade.mqh> CTrade trade; // ===== INPUTS ===== input double RiskPercent = 0.5; input int EMAFast = 20; input int EMASlow = 50; input int RSIPeriod
Project information
Budget
30+ USD