Ea required using ma and price channels-source i have from pinescript based on ma and price channels

Spezifikation

i have a pinescript indicator i would like to change to a mt5ea - see code below

the signal on pine script uses ma and donchian or price channels

indicator has a few options - to use

ma/trend or channel/breakout

long and short options separately selectable

variables

lookback period ema

lookback period breakout

stop multiple 

trail lookback

max leverage- not required nt5 will manage

annualised vol - not req dont understand it

compounding- mt5 will manage



the signals on pinescript need to be executed on mt5 with the option of a reverse feature. i.e  buy when the sell signal appears

code the buy or sell order on the  ea the opposite of the pinescript signal. then please add --reverse-- tick box/option for reverse signal 

mm will be-- input-- lot size entered per --input---$ amount of capital as there is no fixed or trailing stop loss.

say risk 0.1 lot per $1000

i require the source code

my broker is ic markets- i require the signals to match the tradingview ic market chart to the mt5 chart


pinescript code can be found on tradingview


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Crunchster1

//@version=5
strategy(title="Crunchster's Turtle and Trend System", shorttitle="Turtle Trend", overlay=true, slippage=10, pyramiding=1, precision = 4, calc_on_order_fills = false, calc_on_every_tick = false, default_qty_value = 0.1, initial_capital = 1000, commission_value = 0.06, process_orders_on_close = true)

// Inputs and Parameters
src = input(close, 'Source', group='Strategy Settings')
length = input.int(title="Lookback period for fast EMA", defval=10, minval=2, group='Strategy Settings', tooltip='This sets the lookback period for the fast exponential moving average. The slow EMA is 5x the fast EMA length')
blength = input.int(title="Lookback period for Breakout", defval=20, minval=5, step=5, group='Strategy Settings')

long = input(true, 'Long', inline='08', group='Strategy toggle')
short = input(true, 'Short', inline='08', group='Strategy toggle', tooltip='Toggle long/short strategy on/off')

EMAwt = input(false, 'Trend', inline='01', group='Strategy toggle')
breakwt = input(true, 'Breakout', inline='01', group='Strategy toggle', tooltip='Toggle trend/breakout strategy on/off')

stopMultiple = input.float(2, 'Stop multiple', step=0.5, group='Risk Management Settings', tooltip='Multiple for ATR, setting hard stop loss from entry price')
trail = input.int(10, 'Trail lookback', step=5, group='Risk Management Settings', tooltip='Lookback period for the trailing stop')
lev = input.float(1, 'Max Leverage', step=0.5, group='Risk Management Settings', tooltip='Max leverage sets maximum allowable leverage of total capital (initial capital + any net profit), capping maximum volatility adjusted position size')
riskT = input.float(15, maxval=75, title='Annualised Volatility Target %', group='Risk Management Settings', tooltip='Specify annual risk target, used to determine volatility adjusted position size. Annualised daily volatility is referenced to this value and position size adjusted accordingly')
comp = input(true, 'Compounding', inline='09', group='Risk Management Settings')
Comppct = input.float(50, '%', step=5, inline='09', group='Risk Management Settings', tooltip='Toggle compounding of profit, and set % of profit to compound')

// Backtesting period
FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31, inline='04', group='Backtest range')
FromMonth = input.int(defval=1, title='From Mon', minval=1, maxval=12, inline='04', group='Backtest range')
FromYear = input.int(defval=2018, title='From Yr', minval=1900, inline='04', group='Backtest range', tooltip='Set start of backtesting period')
ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31, inline='05', group='Backtest range')
ToMonth = input.int(defval=1, title='To Mon', minval=1, maxval=12, inline='05', group='Backtest range')
ToYear = input.int(defval=9999, title='To Yr', minval=1900, inline='05', group='Backtest range', tooltip='Set end of backtesting period')

start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window = time >= start and time <= finish

// Breakout strategy
lower = ta.lowest(low[1], blength)
upper = ta.highest(high[1], blength)
basis = math.avg(upper, lower)
signal = 20*(close - basis) / (upper - lower)

// Trend strategy
fEMA = ta.ema(close[1], length)
sEMA = ta.ema(close[1], length*5)
emadiff = fEMA - sEMA
nemadiff = 5*emadiff/(ta.stdev(close - close[1], 252))

//Risk Management formulae

tr = math.max(high - low, math.abs(high - close), math.abs(low - close)) //True range
stopL = ta.sma(tr, 14) //Average true range
stdev = ta.stdev(close-close[1], 14) //volatility of recent returns
maxcapital = strategy.initial_capital+strategy.netprofit //Maximum capital available to invest - initial capital net of profit
annvol = 100*math.sqrt(365)*stdev/close //converts recent volatility of returns into annualised volatility of returns - assumes daily timeframe

risk = 1.1
if comp
    risk := (strategy.initial_capital+(Comppct*strategy.netprofit/100))//adjust investment capital to include compounding
else
    risk := strategy.initial_capital

shares = (risk * (riskT/annvol)) / close //calculates volatility adjusted position size, dependent on user specified annualised risk target
if ((shares*close) > lev*maxcapital) //ensures position size does not exceed available capital multiplied by user specified maximum leverage
    shares := lev*maxcapital/close

//To set the price at the entry point of trade
Posopen() =>
    math.abs(strategy.position_size[1]) <= 0 and math.abs(strategy.position_size) > 0

var float openN = na
if Posopen()
    openN := stopL

// Trailing stop
tlower = ta.lowest(low[1], trail)
tupper = ta.highest(high[1], trail)
tbasis = math.avg(tupper, tlower)
tsignal = 20*(close - tbasis) / (tupper - tlower)

// Strategy Rules
if EMAwt
    if long
        longCondition2 = (nemadiff >2 and nemadiff[1] <2) and window
        exitlong = tsignal <= -10
        if (longCondition2)
            strategy.entry('Trend Long!', strategy.long, qty=shares)
        if strategy.position_size > 0    
            strategy.exit('Stop Long', from_entry = 'Trend Long!', stop=(strategy.opentrades.entry_price(0) - (openN * stopMultiple)))
        if (exitlong)
            strategy.close('Trend Long!', immediately = true)

    if short
        shortCondition2 = (nemadiff <-1 and nemadiff[1] >-1) and window
        exitshort = tsignal >= 10
        if (shortCondition2)
            strategy.entry('Trend Short!', strategy.short, qty=shares)
        if strategy.position_size < 0  
            strategy.exit('Stop Short', from_entry = 'Trend Short!', stop=(strategy.opentrades.entry_price(0) + (openN * stopMultiple)))
        if (exitshort)
            strategy.close('Trend Short!', immediately = true)

if breakwt
    if long
        longCondition1 = (signal >= 10) and window
        exitlong = tsignal <= -10
        if (longCondition1)
            strategy.entry('Break Long!', strategy.long, qty=shares)
        if strategy.position_size > 0    
            strategy.exit('Stop Long', from_entry = 'Break Long!', stop=(strategy.opentrades.entry_price(0) - (openN * stopMultiple)))
        if (exitlong)
            strategy.close('Break Long!', immediately = true)

    if short
        shortCondition1 = (signal <= -10) and window
        exitshort = tsignal >= 10
        if (shortCondition1)
            strategy.entry('Break Short!', strategy.short, qty=shares)
        if strategy.position_size < 0  
            strategy.exit('Stop Short', from_entry = 'Break Short!', stop=(strategy.opentrades.entry_price(0) + (openN * stopMultiple)))
        if (exitshort)
            strategy.close('Break Short!', immediately = true)

// Visuals of trend and direction
plot(nemadiff, title='EMA Forecast', color=color.black, display=display.none)
plot(ta.sma(ta.median(math.sqrt(math.pow(nemadiff,2)), 700), 350), 'Forecast mean', color=color.rgb(245, 0, 0), display=display.none)

MAColor = fEMA > sEMA ? #00ff00 : #ff0000
MA1 = plot(fEMA, title='Fast EMA', color=MAColor)
MA2 = plot(sEMA, title='Slow EMA', color=MAColor)
fill(MA1, MA2, title='Band Filler', color=MAColor)


Bewerbungen

1
Entwickler 1
Bewertung
(13)
Projekte
17
12%
Schlichtung
7
14% / 57%
Frist nicht eingehalten
4
24%
Frei
2
Entwickler 2
Bewertung
Projekte
1
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
3
Entwickler 3
Bewertung
(14)
Projekte
32
25%
Schlichtung
3
0% / 33%
Frist nicht eingehalten
1
3%
Arbeitet
4
Entwickler 4
Bewertung
(14)
Projekte
13
15%
Schlichtung
6
17% / 0%
Frist nicht eingehalten
3
23%
Überlastet
5
Entwickler 5
Bewertung
Projekte
1
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
6
Entwickler 6
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
hello My great developer This is my strategy Features: Capital allocation: Test account (10%): Strategy testing with multiple currency pairs. Conservative (30%): Low risk (lot sizes: 0.1-0.25). Medium risk (30%): Balanced strategy (lot sizes: 0.2-0.25). High risk (30%): Aggressive strategy (lot sizes: 0.3-0.35). Safety account (10%): Reserve for margin protection. Indicators: Stochastic Oscillator: Signal at %K
Need A profitable EA 100 - 150 USD
I am seeking an experienced MQL5 developer to create a sophisticated trading robot that can generate significant profits across various financial markets, including forex, stocks, cryptocurrencies, commodities, and indices. The goal is to design a robot that can adapt to changing market conditions and capitalize on profitable opportunities. **Key Requirements:** 1. **Strategy:** I am open to any profitable strategy
Hello Everyone here, I need an expert programmer who knows everything about thinkorswim thinkscript, I have make a video for all the modifications i will send the video when you message me, Thank you
I want to convert this indicator to mt5 file. I’m not good at english but i want you to keep the inputs and signals of the indicator. It is a volume- based indicator to create support and risistance leves
I have existing Indicator that i want you to make into ea with some additional strategy in mt4, Please check my budget before you bid for it and also will need demo trial before placing order Thanks
its a very easy strategy , i will explain it to a coder who decides to help me its a simple but profitable idea but it has to be coded to be very precise, i dont have any money on hand at all, so i finally found a strategy to make money,and really help myself carrer wise, so please if you feel touched to help me please click on the add and i will explain it to you for your coding assistance ,,, Thank you
i want to convert it Mt4 indicator to Mt5 and i want it to be the same thing i dont want any error in it i want it to be perfect no to repaint
I want someone to help me to develop an EXPERT ADVISOR for RSIOMA CROSSOVERS whereby it opens positions according to the RSIOMA CROSSING and closes the current position after the execution of the new signal and there is no take profit and stop loss and Don't consider any levels
Hello Am looking for a robot that executes a trade if the trendlines i manually draw are touched on mt5 and on all brokers. Let me know if you can provide or ask any question. The bot shd set lot size i prefer,sl/tp etc Kind regards Praymore
Best Algo for Gold 40 - 100 USD
i want trade on god using either ready-made / custom made EA in the market that may require some modification to fit my goal which is : 1- one or two trades per day either sell or buy 2- i m open to try any system gives me alert once or twice a day to perform trade according to egypt time 6 am untill 10 pm 3- i m tired from following the price up or down during the whole day hour by hour 4- i want this bot best time

Projektdetails

Budget
200 - 400 USD
Ausführungsfristen
von 5 bis 10 Tag(e)

Kunde

Veröffentlichte Aufträge1
Anzahl der Schlichtungen0