Tarea técnica
Hello,
I see a good EA on tradingview and would like it translated to an mt5 EA.
EA should mimic trading of the pinescript ea as seen in screen shots
settings should be as those seen on included screen shots as well as tp and sl.
All the setting have to be changeable.
this is the pinescripted ea
// - There are drawing/painting issues in pinescript when working across resolutions/timeframes that I simply
// cannot fix here.. I will not be putting any further effort into developing this until such a time when
// workarounds become available.
// NOTE: Re-painting has been observed infrequently with default settings and seems OK up to Alternate
// multiplier of 5.
// Non-repainting mode is available by setting "Delay Open/Close MA" to 1 or more, but the reported
// performance will drop dramatically.
//
// R5.1 Changes by JustUncleL
// - Upgraded to Version 3 Pinescript.
// - Added option to select Trade type (Long, Short, Both or None)
// - Added bar colouring work around patch.
// - Small code changes to improve efficiency.
// - NOTE: To enable non-Repainting mode set "Delay Open/Close MA" to 1 or more.
// 9-Aug-2017
// - Correction on SuperSmooth MA calculation.
//
// R5 Changes by JustUncleL
// - Corrected cross over calculations, sometimes gave false signals.
// - Corrected Alternate Time calculation to allow for Daily,Weekly and Monthly charts.
// - Open Public release.
// R4 Changes By JustUncleL
// - Change the way the Alternate resolution in selected, use a Multiplier of the base Time Frame instead,
// this makes it easy to switch between base time frames.
// - Added TMA and SSMA moving average options. But DEMA is still giving the best results.
// - Using "calc_on_every_tick=false" ensures results between backtesting and real time are similar.
// - Added Option to Disable the coloring of the bars.
// - Updated default settings.
//
// R3 Changes by JustUncleL:
// - Returned a simplified version of the open/close channel, it shows strength of current trend.
// - Added Target Profit Option.
// - Added option to reduce the number of historical bars, overcomes the too many trades limit error.
// - Simplified the strategy code.
// - Removed Trailing Stop option, not required and in my opion does not work well in Trading View,
// it also gives false and unrealistic performance results in backtesting.
//
// R2 Changes:
// - Simplified and cleaned up plotting, now just shows a Moving Average derived from the average of open/close.
// - Tried very hard to alleviate painting issues caused by referencing alternate resolution..
//
// Description:
// - Strategy based around Open-Close Crossovers.
// Setup:
// - I have generally found that setting the strategy resolution to 3-4x that of the chart you are viewing
// tends to yield the best results, regardless of which MA option you may choose (if any) BUT can cause
// a lot of false positives - be aware of this
// - Don't aim for perfection. Just aim to get a reasonably snug fit with the O-C band, with good runs of
// green and red.
// - Option to either use basic open and close series data, or pick your poison with a wide array of MA types.
// - Optional trailing stop for damage mitigation if desired (can be toggled on/off)
// - Positions get taken automagically following a crossover - which is why it's better to set the resolution
// of the script greater than that of your chart, so that the trades get taken sooner rather than later.
// - If you make use of the stops, be sure to take your time tweaking the values. Cutting it too fine
// will cost you profits but keep you safer, while letting them loose could lead to more drawdown than you
// can handle.
// - To enable non-Repainting mode set "Delay Open/Close MA" to 1 or more.
//
// === INPUTS ===
useRes = input(defval=true, title='Use Alternate Resolution?')
intRes = input(defval=3, title='Multiplier for Alernate Resolution')
stratRes = timeframe.ismonthly ? str.tostring(timeframe.multiplier * intRes, '###M') : timeframe.isweekly ? str.tostring(timeframe.multiplier * intRes, '###W') : timeframe.isdaily ? str.tostring(timeframe.multiplier * intRes, '###D') : timeframe.isintraday ? str.tostring(timeframe.multiplier * intRes, '####') : '60'
basisType = input.string(defval='SMMA', title='MA Type: ', options=['SMA', 'EMA', 'DEMA', 'TEMA', 'WMA', 'VWMA', 'SMMA', 'HullMA', 'LSMA', 'ALMA', 'SSMA', 'TMA'])
basisLen = input.int(defval=8, title='MA Period', minval=1)
offsetSigma = input.int(defval=6, title='Offset for LSMA / Sigma for ALMA', minval=0)
offsetALMA = input.float(defval=0.85, title='Offset for ALMA', minval=0, step=0.01)
scolor = input(false, title='Show coloured Bars to indicate Trend?')
delayOffset = input.int(defval=0, title='Delay Open/Close MA (Forces Non-Repainting)', minval=0, step=1)
tradeType = input.string('BOTH', title='What trades should be taken : ', options=['LONG', 'SHORT', 'BOTH', 'NONE'])
// === /INPUTS ===
// Constants colours that include fully non-transparent option.
green100 = #008000FF
lime100 = #00FF00FF
red100 = #FF0000FF
blue100 = #0000FFFF
aqua100 = #00FFFFFF
darkred100 = #8B0000FF
gray100 = #808080FF
// === BASE FUNCTIONS ===
// Returns MA input selection variant, default to SMA if blank or typo.
variant(type, src, len, offSig, offALMA) =>
v1 = ta.sma(src, len) // Simple
v2 = ta.ema(src, len) // Exponential
v3 = 2 * v2 - ta.ema(v2, len) // Double Exponential
v4 = 3 * (v2 - ta.ema(v2, len)) + ta.ema(ta.ema(v2, len), len) // Triple Exponential
v5 = ta.wma(src, len) // Weighted
v6 = ta.vwma(src, len) // Volume Weighted
v7 = 0.0
sma_1 = ta.sma(src, len) // Smoothed
v7 := na(v7[1]) ? sma_1 : (v7[1] * (len - 1) + src) / len
v8 = ta.wma(2 * ta.wma(src, len / 2) - ta.wma(src, len), math.round(math.sqrt(len))) // Hull
v9 = ta.linreg(src, len, offSig) // Least Squares
v10 = ta.alma(src, len, offALMA, offSig) // Arnaud Legoux
v11 = ta.sma(v1, len) // Triangular (extreme smooth)
// SuperSmoother filter
// © 2013 John F. Ehlers
a1 = math.exp(-1.414 * 3.14159 / len)
b1 = 2 * a1 * math.cos(1.414 * 3.14159 / len)
c2 = b1
c3 = -a1 * a1
c1 = 1 - c2 - c3
v12 = 0.0
v12 := c1 * (src + nz(src[1])) / 2 + c2 * nz(v12[1]) + c3 * nz(v12[2])
type == 'EMA' ? v2 : type == 'DEMA' ? v3 : type == 'TEMA' ? v4 : type == 'WMA' ? v5 : type == 'VWMA' ? v6 : type == 'SMMA' ? v7 : type == 'HullMA' ? v8 : type == 'LSMA' ? v9 : type == 'ALMA' ? v10 : type == 'TMA' ? v11 : type == 'SSMA' ? v12 : v1
// security wrapper for repeat calls
reso(exp, use, res) =>
security_1 = request.security(syminfo.tickerid, res, exp, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
use ? security_1 : exp
// === /BASE FUNCTIONS ===
// === SERIES SETUP ===
closeSeries = variant(basisType, close[delayOffset], basisLen, offsetSigma, offsetALMA)
openSeries = variant(basisType, open[delayOffset], basisLen, offsetSigma, offsetALMA)
// === /SERIES ===
// === PLOTTING ===
// Get Alternate resolution Series if selected.
closeSeriesAlt = reso(closeSeries, useRes, stratRes)
openSeriesAlt = reso(openSeries, useRes, stratRes)
//
trendColour = closeSeriesAlt > openSeriesAlt ? color.green : color.red
bcolour = closeSeries > openSeriesAlt ? lime100 : red100
barcolor(scolor ? bcolour : na, title='Bar Colours')
closeP = plot(closeSeriesAlt, title='Close Series', color=trendColour, linewidth=2, style=plot.style_line, transp=20)
openP = plot(openSeriesAlt, title='Open Series', color=trendColour, linewidth=2, style=plot.style_line, transp=20)
fill(closeP, openP, color=trendColour, transp=80)
// === /PLOTTING ===
//
//
// === ALERT conditions
xlong = ta.crossover(closeSeriesAlt, openSeriesAlt)
xshort = ta.crossunder(closeSeriesAlt, openSeriesAlt)
longCond = xlong // alternative: longCond[1]? false : (xlong or xlong[1]) and close>closeSeriesAlt and close>=open
shortCond = xshort // alternative: shortCond[1]? false : (xshort or xshort[1]) and close<closeSeriesAlt and close<=open
// === /ALERT conditions.
// === STRATEGY ===
// stop loss
slPoints = input.int(defval=0, title='Initial Stop Loss Points (zero to disable)', minval=0)
tpPoints = input.int(defval=0, title='Initial Target Profit Points (zero for disable)', minval=0)
// Include bar limiting algorithm
ebar = input.int(defval=10000, title='Number of Bars for Back Testing', minval=0)
dummy = input(false, title='- SET to ZERO for Daily or Longer Timeframes')
//
// Calculate how many mars since last bar
tdays = (timenow - time) / 60000.0 // number of minutes since last bar
tdays := timeframe.ismonthly ? tdays / 1440.0 / 5.0 / 4.3 / timeframe.multiplier : timeframe.isweekly ? tdays / 1440.0 / 5.0 / timeframe.multiplier : timeframe.isdaily ? tdays / 1440.0 / timeframe.multiplier : tdays / timeframe.multiplier // number of bars since last bar
//
//set up exit parameters
TP = tpPoints > 0 ? tpPoints : na
SL = slPoints > 0 ? slPoints : na
// Make sure we are within the bar range, Set up entries and exit conditions
if (ebar == 0 or tdays <= ebar) and tradeType != 'NONE'
strategy.entry('long', strategy.long, when=longCond == true and tradeType != 'SHORT')
strategy.entry('short', strategy.short, when=shortCond == true and tradeType != 'LONG')
strategy.close('long', when=shortCond == true and tradeType == 'LONG')
strategy.close('short', when=longCond == true and tradeType == 'SHORT')
strategy.exit('XL', from_entry='long', profit=TP, loss=SL)
strategy.exit('XS', from_entry='short', profit=TP, loss=SL)
// === /STRATEGY ===
// eof
Han respondido
1
Evaluación
Proyectos
4
0%
Arbitraje
4
25%
/
75%
Caducado
1
25%
Libre
2
Evaluación
Proyectos
190
66%
Arbitraje
8
25%
/
50%
Caducado
2
1%
Libre
3
Evaluación
Proyectos
1
0%
Arbitraje
0
Caducado
0
Libre
Solicitudes similares
Port My MT5 Strategy to NinjaTrader 8 (NinjaScript)
500 - 1550 USD
I have a strategy currently running as an MT5 EA and want a faithful port to NinjaTrader 8 (NinjaScript). Same entry/exit logic, same risk model, matching backtest behavior as closely as the platform allows. I'll provide the MT5 source and a written spec of the rules. Please tell me the main differences I should expect between MT5 and NinjaTrader 8 (NinjaScript) for this kind of strategy
Hi, I am looking for an experienced MQL5 developer to modify an existing, fully functional MetaTrader 5 Expert Advisor (Source code .mq5 Version 2.62 will be provided). Brief Overview of the EA: It executes trades based on 4 custom Supply/Demand levels (R1, R2, S1, S2) which are inputted manually . It uses two custom indicators for confirmation: SPA (Price Action filter) and AMG (Volume/Momentum filter). The code
Description: I am looking for an experienced MQL5 developer to build a fully automated Expert Advisor (EA) for MT5 tailored for Prop Firm challenges and funded accounts. I need a robust, plug-and-play solution with rigorous risk controls. Key Requirements: Platform: MT5 Trading Logic: I am looking for a reliable strategy based either on a Breakout Strategy (e.g., London session breakout) or a Mean Reversion Strategy
I need someone to develop a very simple and basic Expert Advisor for MetaTrader 5. The EA should open and close trades based on a custom trading time schedule. I am a student and I do not have a budget, so I am kindly asking if someone can help me for free or as a beginner-friendly project. The EA does not need to be complicated. I only need basic settings for start time, end time, buy/sell option, lot size, stop
Profitable EA
50 - 5000 USD
I have been tired of losing money in forex for several years, I decided to buy an EA directly from the programmer , I am ready to put the right price for a real winning strategy, no matter which strategy is used. The main thing is that the strategy is profitable Send me a demo, I'll put it on the VPS. The most profitable strategy will be chosen after a week
Robots in C++ (cAlgo trading platform)
5000+ USD
I really like this platform. I am interested in trading and need funds for it. I enjoy both crypto and forex trading.I"really appreciate this platform. I am keen on trading and am looking for trading funds. I enjoy trading in both cryptocurrency and forex."
Titan Quantum Algo Engine V2🏆
30 - 200 USD
Titan Quantum Algo Engine V2 is an advanced MT5 Expert Advisor designed to identify high-probability market opportunities using trend analysis, breakout detection, and intelligent risk management. The EA automatically executes trades, manages stop-loss and take-profit levels, and helps traders maintain disciplined trading with optimized entry and exit strategies
The striker robot
30 - 2000 USD
I would like a trend and pullback strategy for the robot timeframe:15 minutes(m15) or 1 hour(h1) indicators:50 EMA (Exponential Moving Average)/200 EMA/RSI (14) BUY SET UP 1.Confirm The Trend .50 EMA must be above 200 EMA .Price must be above both EMAs 2.Wait for a pullback .Do not buy when the price shoots up. .Wait for the price to come back near the 50 EMA 3.Confirm entry .ENTER BUY WHEN: .A bullish candlestick
Need simple EA for XAU/USD
30+ USD
//+------------------------------------------------------------------+ //| Simple XAUUSD EA | //+------------------------------------------------------------------+ input double LotSize = 0.01; input int StopLoss = 500; // in points input int TakeProfit = 1000; // in points input int MAPeriod = 20; int maHandle; int OnInit() { maHandle = iMA(_Symbol, PERIOD_H1, MAPeriod, 0, MODE_SMA
Python MT5 Forex Trading Bot Development
30 - 49 USD
Hello, I need a Python-based MT5 forex trading bot developed. The bot should connect to MetaTrader 5, execute trades based on a predefined strategy, and support standard risk management features such as stop loss, take profit, and position sizing. Requirements: MT5 integration using Python Automated trade execution based on provided strategy rules Configurable risk management settings Support for major forex pairs
Información sobre el proyecto
Presupuesto
40+ USD
Plazo límite de ejecución
de 1 a 5 día(s)