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
I want to create a EA based on an existing EA.
100 - 500 USD
I want to create a EA based on an existing EA. I want to create a COPY of same EA. This is a Grid based EA and do averaging when market goes against it. While doing Averaging it keeps on taking trades and booking profits
Make me an MQL5 EA for MT5
50 - 200 USD
Make me an MQL5 EA for MT5 Pair: XAUUSD Timeframe: M15 Strategy: Buy when EMA 50 crosses above EMA 200 AND RSI 14 is above 50. Sell when EMA 50 crosses below EMA 200 AND RSI 14 is below 50. Risk Management: SL = $2, TP = $4. Auto calculate lot size with 4% risk from $50 account. Max 1 trade at a time. Trade only on M15
User looking For Robot
100 - 3500 USD
i am looking for an profitable ea which i can use on any account type and the ea grow monthly 5% minimum must be well following risk management auto everything and make sure you can give 1week trail you must provide 10 years back test reports on different testing algorithm's read again if you dont have anything to fulfill my needs do what you are doing on your way
Hi everyone, I am looking for an experienced MQL5 developer who has a proven and well-thought-out recovery strategy for an Expert Advisor. The goal is not to build a typical martingale or grid EA. I am looking for someone who has a solid recovery concept that can intelligently manage and recover losing trades after a predefined adverse price movement (for example, after X pips ). Project Requirements Works on both
Full and specific details will be if selected for the task. This is the general description of the EA Create an expert advisor with two options. Either send email to buy or sell... or make a trade. Create an expert advisor which sends email for a buy alert or make a trade when all three of the following criteria are met: * CCI goes more than 100 ( or more than any other set value) * MACD shows green bar or
Akram boushaba
30 - 500 USD
مرحبا كيف حالكم انا اكرم مهتم بالتداول احاول ان اصمم برنامج روبوت قادر على التداول من تلقاء نفسه من يمكنه ان يساعدني او يعلمني كيف استطيع فهل ذلك وسأكون ممتناً له وشكرا لكم
I am in need of a profitable scalping EA for gold. No grid or martingale strategy pls. If you have one fully developed and working, pls reach out. You should be able to provide trial version
Modification on exiting EA
30+ USD
I need some modification on exiting EA. its open pending order upside and down side, but when close order any side than other side pending trad not come closer running price. so it should be delete one pending order from other last side & open one order running price side
The Terminator
40 - 150 USD
The Terminator EA The Terminator EA is a smart Forex trading robot designed to trade with discipline, consistency, and strong risk management. Its main purpose is to identify high-probability trading opportunities while protecting the trading account from unnecessary risk. The robot should only enter trades when several conditions agree. It should use strategies such as trend analysis, support and resistance, market
Romeo Tlotliso
30 - 2000 USD
Romeo is me.i am a trader using robot to make my trading journey way easy. therefore it can correct me when am wrong.Building a robot is not easy because some of them can be wrong and only minimum of them can be good
Informazioni sul progetto
Budget
30+ USD