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
643
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
EA fix
30 - 60 USD
Current behavior: • The EA opens an initial position (Buy or Sell) with SL and TP. • If price goes against it (10/20/30 pips), opposite positions are opened (hedging). • Only the first position has SL and TP. • When the first position hits SL or TP, all positions are closed at once. • Because of gold slippage and execution delay, this sometimes causes 10–20 pips extra loss. What I need: 1. Every opened position
//+------------------------------------------------------------------+ //| INDICES SCALPING BOT | //+------------------------------------------------------------------+ #property strict input double RiskPercent = 4.0; input int EMAtrend = 50; input int EMAPullback = 20; input int RSIPeriod = 14; input double ATRMultiplierSL = 3.0; input double ATRMultiplierTP = 2.5; double LotSize(double
Create a Profitable MT5 EA for XAUUSD(Gold)
30 - 200 USD
I am looking for a bot that has been created and tested and confirmed profitable in a live market for Gold. The bot must be profitable and have a low drawdown. The developer will send a demo EA which I can test for myself. I am looking for more of a partnership with an experienced developer. Please no EA on demo accounts. The EA must be verifiable on real account
Profitable GOLD EA BOT
30+ USD
I am looking for a bot that has been created and tested and confirmed profitable in a live market for Gold. The bot must be profitable and be verifiable on real account and have a low drawdown. The developer will send a demo of the EA which I can test for myself. I am looking for more of an experienced developer. Please no EA on demo account
Development Request – AI Precision Enhancement
30 - 72 USD
📌 Development Request – AI Precision Enhancement I would like to clarify my request clearly and precisely. The current trading strategy is strong, stable, and effective , and I do not want to modify or replace the core strategy logic in any way . The goal is only to enhance entry and exit precision , not to redesign the system. ✅ Scope of Work (Required) Please keep the existing strategy exactly as it is , and add
Are you looking for a professional and reliable MT5 Trading Bot (Expert Advisor)? I will develop a custom MT5 EMA Crossover EA based on a proven scalping strategy. 🚀 Strategy Features: ✔ 5 EMA & 9 EMA crossover entries ✔ Buy Stop / Sell Stop pending orders ✔ Fixed lot size (0.01 – no martingale) ✔ Configurable stop loss & entry distance ✔ Pending orders auto-expire after 10 seconds ✔ Works on M1 timeframe ✔ Clean
Build Alpha - Strategy Factory Setup
100 - 300 USD
Hi, I’m looking for someone with real Build Alpha experience to help set up an index-trading ruleset inside Build Alpha. Important: This work cannot be done without full access to Build Alpha . You must already own a Build Alpha licence and actively use the platform. Please do not apply if you do not currently have Build Alpha. What needs to be set up in Build Alpha 1. Session and Time Rules • Fixed GMT trading
Fix and optimize an existing Bybit trading bot so the profit target closes and reopens trades continuously (accumulation cycle) , while the withdrawal threshold pauses the bot, converts funds, withdraws profit, resets accumulation, and resumes trading . Current issue: the bot stops after hitting profit , which must be corrected. Demo video required after completion
Fix and optimize an existing Bybit trading bot so the profit target closes and reopens trades continuously (accumulation cycle) , while the withdrawal threshold pauses the bot, converts funds, withdraws profit, resets accumulation, and resumes trading . Current issue: the bot stops after hitting profit , which must be corrected. Demo video required after completion
Oluwaleye Blessing Olumide
30+ USD
We're looking for a highly motivated and detail-oriented individual to fill a key position in our team. The successful candidate will be responsible for driving projects forward, analyzing complex data, and collaborating with cross-functional teams to achieve business objectives. The role requires exceptional problem-solving skills, effective communication, and adaptability in a fast-paced environment. If you're a
Informazioni sul progetto
Budget
30+ USD