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
Asian trade session filter program
30 - 60 USD
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
Developers needed for mt4, mt5 EAs
45 - 50 USD
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
DESCRIPTION: I require an experienced MQL5 developer to build a fully automated, multi‑engine, multi‑asset trend‑following trading system for MetaTrader 5. The system includes: Multiple TrendEngine instances (one per symbol) A PortfolioController that manages all engines Volatility‑regime detection Dual‑timeframe confirmation ATR‑based breakout logic ATR‑based stop management Micropyramiding Risk‑weighted satellites
Description: I need a semi-automatic Expert Advisor (EA) developed for MetaTrader 5 (Hedging account, optimized for Exness Cent accounts) to manage my manual trades on Gold (XAUUSD) using a positive pyramiding trend-following strategy. Detailed Specifications: 1. Multi-Basket Management (Crucial): The EA does NOT open the initial trade. It waits for me to open a manual trade (Buy or Sell). If I open another manual
Live chart [ expert is not executing trades on xauusd ] , Deleting Existing Parameter not in use , Live Chart Adjustments Only , No Need to Change anything else , expert will be live testing Throughout
El 3aksiyat 0
35+ USD
//@version=6 indicator("منظومة El_3aksiiya 0 المتكاملة", overlay=true, max_labels_count=500, max_boxes_count=500, max_lines_count=500) // الألوان color_accum = color.new(#0000FF, 85) color_manip = color.new(#FFFF00, 80) color_dist = color.new(#FFC0CB, 80) color_elliot = #FF8C00 color_fib = #FFFF00 color_entry = #00FFFF color_tp = #00FF00 rsiVal = ta.rsi(close, 14) // نموذج AMD var int barCount = 0 if
Informazioni sul progetto
Budget
30+ USD