Job finished
Execution time 3 hours
Feedback from customer
Great dev, delivered fast + good communication
Feedback from employee
Very nice working experience
Specification
Link to External Description:
Here is the Pinescript code below:
Key Task is to convert from the standard RSI indicator:
Steps:
1) Deliver in a quick timeframe - should be straight forward (within 24 - 48 hrs max)
2) May extend to add it in an EA (after the source code is shown). But for now it is just making the indicator the same as the Pinescript version
See the code below:
// This source code is free to use, copy, and alter in any way you choose. // ...but credit is always nice :) //@version=4 //@author=JayRogers study( "HARSI", "HARSI 🐙", false, format.price, 2 ) //////////////////////////////////////////////////////////////////////////////// // // // ====== ABOUT THIS INDICATOR // // // // - RSI based Heikin Ashi candle oscillator // // // // ====== ARTICLES and FURTHER READING // // // // - https://www.investopedia.com/terms/h/heikinashi.asp // // // // "Heikin-Ashi is a candlestick pattern technique that aims to reduce // // some of the market noise, creating a chart that highlights trend // // direction better than typical candlestick charts" // // // // ====== REASON FOR STUDY // // // // - Mostly experimental. I wanted to see if I could translate RSI into a // // Heikin Ashi function and retain it's oscillating nature. That goal // // was met more easily than I anticipated with quite delightful results. // // // // ====== DISCLAIMER // // // // Any trade decisions you make are entirely your own responsibility. // // I've made an effort to squash all the bugs, but you never know! // // // //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// // // // ====== TOOLTIPS ====== // // // //////////////////////////////////////////////////////////////////////////////// string TT_HARSI = "Period for the RSI calculations used to generate the" + "candles. This seperate from the RSI plot/histogram length." string TT_PBIAS = "Smoothing feature for the OPEN of the HARSI candles." + "\n\nIncreases bias toward the prior open value which can" + " help provide better visualisation of trend strength." + "\n\n** By changing the Open values, High and Low can also" + " be distorted - however Close will remain unchanged." string TT_SMRSI = "This option smoothes the RSI in a manner similar to HA" + " open, but uses the realtime rsi rather than the prior" + " close value." string TT_STOCH = "Uses the RSI generated by the above settings, and as such" + " will be affected by the smoothing option." string TT_STFIT = "Adjusts the vertical scaling of the stochastic, can help" + " to prevent distortion of other data in the channel." + "\n\nHas no impact cross conditions." //////////////////////////////////////////////////////////////////////////////// // // // ====== INPUTS ====== // // // //////////////////////////////////////////////////////////////////////////////// // -- Candle config string GROUP_CAND = "Config » HARSI Candles" i_lenHARSI = input( 14, "Length", input.integer, group = GROUP_CAND, minval = 1, tooltip = TT_HARSI ) i_smoothing = input( 6, "Open Smoothing", input.integer, group = GROUP_CAND, minval = 1, maxval = 100, tooltip = TT_PBIAS ) string INLINE_COL = "Colour Pallette" i_colUp = input( color.teal, "Colour Pallette ", input.color, group = GROUP_CAND, inline = INLINE_COL ) i_colDown = input( color.red, " ", input.color, group = GROUP_CAND, inline = INLINE_COL ) i_colWick = input( color.gray, " ", input.color, group = GROUP_CAND, inline = INLINE_COL ) // -- RSI plot config string GROUP_PLOT = "Config » RSI Plot" i_source = input( ohlc4, "Source", input.source, group = GROUP_PLOT ) i_lenRSI = input( 7, "Length", input.integer, group = GROUP_PLOT, minval = 1 ) i_mode = input( true, "Smoothed Mode RSI?", input.bool, group = GROUP_PLOT, tooltip = TT_SMRSI ) i_showPlot = input( true, "Show RSI Plot?", input.bool, group = GROUP_PLOT ) i_showHist = input( true, "Show RSI Histogram?", input.bool, group = GROUP_PLOT ) // -- Stochastic RSI plots config string GROUP_STOCH = "Config » Stochastic RSI Plot" string INLINE_STDS = "Stoch Draw States" i_showStoch = input( false, "Show Stochastic? ", input.bool, group = GROUP_STOCH, inline = INLINE_STDS, tooltip = TT_STOCH ) i_ribbon = input( true, "Ribbon?", input.bool, group = GROUP_STOCH, inline = INLINE_STDS ) i_smoothK = input( 3, "Smoothing K", input.integer, group = GROUP_STOCH, minval = 1 ) i_smoothD = input( 3, "Smoothing D", input.integer, group = GROUP_STOCH, minval = 1 ) i_stochLen = input( 14, "Stochastic Length", input.integer, group = GROUP_STOCH, minval = 1 ) i_stochFit = input( 80, "Stoch Scaling %", input.integer, group = GROUP_STOCH, minval = 1, maxval = 100, tooltip = TT_STFIT ) // -- Channel OB/OS config string GROUP_CHAN = "Config » OB/OS Boundaries" i_upper = input( 20, "OB", input.integer, group = GROUP_CHAN, inline = "OB", minval = 1, maxval = 50 ) i_upperx = input( 40, "OB Extreme", input.integer, group = GROUP_CHAN, inline = "OB", minval = 1, maxval = 50 ) i_lower = input( -20, "OS", input.integer, group = GROUP_CHAN, inline = "OS", minval = -50, maxval = -1 ) i_lowerx = input( -40, "OS Extreme", input.integer, group = GROUP_CHAN, inline = "OS", minval = -50, maxval = -1 ) //////////////////////////////////////////////////////////////////////////////// // // // ====== FUNCTIONS ====== // // // //////////////////////////////////////////////////////////////////////////////// // zero median rsi helper function, just subtracts 50. f_zrsi( _source, _length ) => rsi( _source, _length ) - 50 // zero median stoch helper function, subtracts 50 and includes % scaling f_zstoch( _source, _length, _smooth, _scale ) => float _zstoch = stoch( _source, _source, _source, _length) - 50 float _smoothed = sma( _zstoch, _smooth ) float _scaled = ( _smoothed / 100 ) * _scale // mode selectable rsi function for standard, or smoothed output f_rsi( _source, _length, _mode ) => // get base rsi float _zrsi = f_zrsi( _source, _length ) // smoothing in a manner similar to HA open, but rather using the realtime // rsi in place of the prior close value. var float _smoothed = na _smoothed := na( _smoothed[1] ) ? _zrsi : ( _smoothed[1] + _zrsi ) / 2 // return the requested mode _mode ? _smoothed : _zrsi // RSI Heikin-Ashi generation function f_rsiHeikinAshi( _length ) => // get close rsi float _closeRSI = f_zrsi( close, _length ) // emulate "open" simply by taking the previous close rsi value float _openRSI = nz( _closeRSI[1], _closeRSI ) // the high and low are tricky, because unlike "high" and "low" by // themselves, the RSI results can overlap each other. So first we just go // ahead and get the raw results for high and low, and then.. float _highRSI_raw = f_zrsi( high, _length ) float _lowRSI_raw = f_zrsi( low, _length ) // ..make sure we use the highest for high, and lowest for low float _highRSI = max( _highRSI_raw, _lowRSI_raw ) float _lowRSI = min( _highRSI_raw, _lowRSI_raw ) // ha calculation for close float _close = ( _openRSI + _highRSI + _lowRSI + _closeRSI ) / 4 // ha calculation for open, standard, and smoothed/lagged var float _open = na _open := na( _open[ i_smoothing ] ) ? ( _openRSI + _closeRSI ) / 2 : ( ( _open[1] * i_smoothing ) + _close[1] ) / ( i_smoothing + 1 ) // ha high and low min-max selections float _high = max( _highRSI, max( _open, _close ) ) float _low = min( _lowRSI, min( _open, _close ) ) // return the OHLC values [ _open, _high, _low, _close ] //////////////////////////////////////////////////////////////////////////////// // // // ====== SERIES, LINES and LABELS ====== // // // //////////////////////////////////////////////////////////////////////////////// // standard, or ha smoothed rsi for the line plot and/or histogram float RSI = f_rsi( i_source, i_lenRSI, i_mode ) // stoch stuff float StochK = f_zstoch( RSI, i_stochLen, i_smoothK, i_stochFit ) float StochD = sma( StochK, i_smoothD ) // get OHLC values to use in the plotcandle() [ O, H, L, C ] = f_rsiHeikinAshi( i_lenHARSI ) // candle body colouring color bodyColour = C > O ? i_colUp : i_colDown color wickColour = i_colWick // shadow, invisible color colShadow = color.rgb( 0, 0, 0, 20 ) color colNone = color.rgb( 0, 0, 0, 100 ) // rsi color color colRSI = color.rgb( 250, 200, 50, 0 ) // stoch ribbon fill color colStochK = color.new( #0094FF, 0 ) color colStochD = color.new( #FF6A00, 0 ) color colStochFill = StochK >= StochD ? color.new( colStochK, 50 ) : color.new( colStochD, 50 ) //////////////////////////////////////////////////////////////////////////////// // // // ====== DRAWING and PLOTTING ====== // // // //////////////////////////////////////////////////////////////////////////////// // zero median RSI channel hlines upperx = hline( i_upperx, "OB Extreme", color.new( color.silver, 60 ) ) upper = hline( i_upper, "OB", color.new( color.silver, 80 ) ) median = hline( 0, "Median", color.orange, hline.style_dotted ) lower = hline( i_lower, "OS", color.new( color.silver, 80 ) ) lowerx = hline( i_lowerx, "OS Extreme", color.new( color.silver, 60 ) ) // channel fill fill( upper, upperx, color.new( color.red, 90 ), title = "Background Fill OB" ) fill( upper, lower, color.new( color.blue, 90 ), title = "Background Channel" ) fill( lower, lowerx, color.new( color.green, 90 ), title = "Background Fill OS" ) // make our HA rsi candles plotcandle( O, H, L, C, "HARSI", bodyColour, wickColour, bordercolor = bodyColour ) // RSI overlay plot plot( i_showPlot ? RSI : na, "RSI Shadow", colShadow, 3 ) plot_rsi = plot( i_showPlot ? RSI : na, "RSI Overlay", colRSI, 1 ) buy = C < O and O > 18 and RSI > i_upper and falling(RSI,1) sell = C > O and O < -18 and RSI < i_lower and rising(RSI,1) buy1 = C > O and C < -7 and rising(RSI,2) sell2 = C < O and C > 7 and falling(RSI,2) plotshape(sell, style=shape.circle, size=size.tiny, color=color.lime, location =location.bottom) plotshape(buy, style=shape.circle, size=size.tiny, color=color.red, location =location.top) plotshape(buy1, style=shape.circle, size=size.tiny, color=color.orange, location =location.bottom) plotshape(sell2, style=shape.circle, size=size.tiny, color=color.orange, location =location.top) alertcondition(sell, "Buy") alertcondition(buy, "Sell") alertcondition(buy1, "Close Short") alertcondition(sell2, "Close Long") // -- PEANUT
Responded
1
Rating
Projects
17
29%
Arbitration
3
67%
/
33%
Overdue
0
Loaded
2
Rating
Projects
421
63%
Arbitration
5
40%
/
0%
Overdue
4
1%
Free
3
Rating
Projects
570
36%
Arbitration
64
20%
/
58%
Overdue
147
26%
Free
4
Rating
Projects
78
55%
Arbitration
0
Overdue
0
Free
5
Rating
Projects
160
36%
Arbitration
4
25%
/
50%
Overdue
13
8%
Free
6
Rating
Projects
96
24%
Arbitration
9
22%
/
22%
Overdue
12
13%
Working
7
Rating
Projects
931
47%
Arbitration
301
59%
/
25%
Overdue
123
13%
Working
Similar orders
FXWAVE
40+ USD
NAME OF EA : FXWAVE EA base on correlation hedging between 2 pairs (symbol 1 and symbol 2) , and entry rule will base on chart overlay indicator... EA should be able to trade both positive and negative correlation. user will be able to select 2 pairs of choice Trading Rule for Positive correlation: EA will open buy for pair that is s up on the overlay chart and sell for the pair that is down on the overlay chart
CANDLES STICK DEPENDANTS EA .
30 - 100 USD
Dear sir/madam, I am in need of programmer who can create trading robot { EA } which is candlestick dependents, also can open 5 trades per signal, have global take profit and global stop loss, also able to select which session to trade, account percentage column
Breakeven Trade Manager EA
50 - 100 USD
Expert Advisor "Breakeven Manager" Magic 1234; Magic 1234; An expert advisor that manages open hedged trades using a magic number. In a hedged position for example "BUY/Sell, EUR/USD". If the buy or sell trade closes then the remaining open trade automatically goes to break even. This break even price will be hidden. BUY if SELL Trade Closes then (Ask <=OrderOpenPrice()+0) SELL if BUY Trade Closes then (Bid
Needed simple Muti currencies EA
30+ USD
I needed one MT4 multicurrency’s connected Following FIFO Rule, No Hedging, with panel box EA. If making profit total 1%, 2%, 3% whatever setup of the total balance/equity then automatically close all open positions and, immediately open new trade positions (sell/buy.. buy/sell as setup). only for really good understandable, giving time and high professional good quality Developer. I’ll sent Everything in detail, we
I need to create something that will allow me to transfer information about the transaction (entry moment, Tp and SL levels) from the indicator I have on tradingview to metatrader 5. Additionally, I would like to be able to set trading hours, transaction risk in percentage, enter into transactions only with a trend, and the ability to enable and turning off the trailing stop loss
MT5 Robot- Code Correction for my Broker
50 - 100 USD
1. **Trade Execution:** - The bot should be capable of entering and exiting trades based on predefined signals from my trading strategy. 2. **Take Profit:** - Implement mechanisms to take profit at specific levels as defined by my strategy. ### Additional Features: - The bot should be able to handle multiple trades simultaneously. - It must have a user-friendly interface for monitoring and adjustments. -
Simple EA to open and close trades
100+ USD
Buy orders with take profit, and then EA TO replace buy line everytine that the take profit was activated no stop loss needed min us alt only playing gold vs usd doller
MT5 | Rencko chart EA | Modify
50+ USD
I have a renko chart generator EA and I want to modify it: 1. I would like it to have a start date where I can give the start time based on the year, month, day, hour, minute, second. 2. I would like to include a "type" section where I can specify whether to calculate the Renko bricks from the "opening" or "closing" price. The Renko EA generator is attached. Thank you
MT4 Indi modification
30+ USD
hello great developer I have an mt4 indicator that stopped working with the new mt4 build. Can you fix it to work with the new mt4 build? I do not have the source code. i will looing for great developer that wil bid for it quickly
Help me improve expert advisor
30+ USD
Do not Apply If you can't do this within my budget as I have a lot of projects to consider. the source code is attached below. currently I have 15 different lot size functions: I'd like to reduce this and keep the same functionality I have so many because this expert advisor has 5 strategies with 3 different lot size calculations currently i have 15 buy position custom functions: I'd like to reduce this and keep the
Project information
Budget
30+ USD
For the developer
27
USD
Deadline
to 1 day(s)