Lavoro terminato
Tempo di esecuzione 31 minuti
Feedback del cliente
absolutely brilliant everything i ask for and more, and all done within a couple of hours. I would use again without hesitation
Feedback del dipendente
Very thanks for order! Please let me know if you need programmer!
Specifiche
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); } //+------------------------------------------------------------------+
Con risposta
1
Valutazioni
Progetti
1462
63%
Arbitraggio
21
57%
/
10%
In ritardo
43
3%
Gratuito
2
Valutazioni
Progetti
16
0%
Arbitraggio
8
13%
/
75%
In ritardo
3
19%
Gratuito
3
Valutazioni
Progetti
644
26%
Arbitraggio
92
72%
/
14%
In ritardo
12
2%
In elaborazione
Pubblicati: 1 codice
4
Valutazioni
Progetti
114
26%
Arbitraggio
7
29%
/
57%
In ritardo
5
4%
Gratuito
5
Valutazioni
Progetti
53
17%
Arbitraggio
7
0%
/
100%
In ritardo
5
9%
Gratuito
Ordini simili
Trade XAUUSD only Support MT5 Use Buy Stop and Sell Stop pending orders around a configurable breakout range. When the market breaks the range, activate the corresponding trade. Automatically place Stop Loss and Take Profit immediately with every order. Automatically cancel the opposite pending order after one side is triggered. No Martingale No Grid No averaging down No loss recovery system No unlimited position
Converting MT4 to MT5 Project
30 - 3000 USD
Hey guys, I’ve got an MT4 HFT EA that’s showing strong results on an IC Markets demo account, and I'm looking to move it over to MT5. Does anyone have a solid MT5 version that performs well on IC Markets? Having the source code (MQL5) included would be awesome. Thanks for any leads
Hello! I want to automatically trade on Sierra Charts (IronBeam Brokerage). NQ ($20 per "handle") or MNQ ($2 per point or handle) - futures Broker: IronBeam mostly for the low capital requirement for futures Chart: Sierra Charts I almost exclusively trade a 5-20 bracket with 2 contracts (first contract closes at a +5 and second bracket closes at a +20.) When the +5 is reached, I move my stop from -15 to BE
Let’s use Chart M3. Stochastic 8,3,3. 85/15 trigger for sell stochastic >85, and the reversal move need to engulf the last bar for 1 point. SL over the engulfed bar. Same trigger for buys… Stochastic <15, engulfed bar by 1 point = entrance. SL under the engulfed bar… more details as soon we start to work on it
Scalping EA/straddle
30 - 200 USD
Title: Custom EA: Dynamic Trailing Limit Grid with Volatility/Velocity Filter and Auto SL/TP Description: I am looking for an experienced MQL5 programmer to develop a high-performance, robust Expert Advisor (EA) for MetaTrader 5. The strategy relies on dynamic trailing limit orders that automatically adjust to market price changes, featuring a safety buffer during high-velocity price spikes. The EA must include the
EA Recovery Layer
30+ USD
Freelance Task — EA Recovery Layer Hello. I have a ready-made MQL5 EA. The signals, SL/TP and lot calculation should essentially not be touched. I need a recovery system added. I am not a programmer — below is how the robot should behave. What stays Entry only from an EA signal. Stop-loss is not a new signal. Trailing is already built into my EA — recovery does not implement its own trailing. If trailing is disabled
Watcher position
30 - 100 USD
//+------------------------------------------------------------------+ //| synthetic tick generator based on two assets | //+------------------------------------------------------------------+ class CSyntheticTickGenerator { private : string symbol_a; string symbol_b; string synth_name; double ratio; double last_price_a; double
# SNRZ BOT — SESSION PROGRESS LOG Last updated: 2026-09-16 (local late-evening session) ## SAN BOT (new — cloned from SNRZ) - `MQL5\Experts\AutomatedOrderBot_SAN.mq5` / `.ex5` — v1.0, compiled 0 errors/0 warnings - Signal source: custom indicator "SAN" (InpSANName, buy buf 0 / sell buf 1, target bar 1), same SNRZ-style read, MA fallback if missing - Magic number 234567 (separate from SNRZ 123456 so both bots can run
Multi-Asset EA (XAUUSD / FRA40) with Time Filters, High-Impact News Avoidance, Advanced Risk/Lot Sizing, and H1 Breakout Strategy 1. RISK SETTINGS * Max Daily Loss Limit: (bool) Toggle true/false. If true, input double for max loss in currency (e.g., $500). If hit, close all positions and stop trading until next day. * Lot Sizing Mode: Dropdown menu: 1. Fixed Lots (e.g. 0.10); 2. Percentage Risk (%) based on Account
Should be as it but no alarms, also we need to add a deep search so he can see all the preves candles and a memory function so its not slowing down the indicator. for higher time frames daily 4h 1h around 365 days and for lower time frames we do up to 20k bars but both flexible so i can change it later. the memory is important so the indicator is not always recalculating everything when a new candle shows especially
Informazioni sul progetto
Budget
30+ USD