Convert a Trading View Pine Script a MT5 Expert Adviser (EA)

MQL5 Experts

Termos de Referência

Hi,

I need to convert the Open Close Cross Strategy R5.1 from Tradingview Pine Script to Meta Trader5 EA, so that it can open and close orders on its own.

Here is the original code:

//@version=3
//
 
strategy(title = "Open Close Cross Strategy R5.1 revised by JustUncleL", shorttitle = "OCC Strategy R5.1", overlay = true, 
  pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, calc_on_every_tick=false)
 
//
// Revision:        5
// Original Author: @JayRogers
// Revision Author: JustUncleL revisions 3, 4, 5
//
// *** USE AT YOUR OWN RISK ***
//  - 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    = ismonthly? tostring(interval*intRes,"###M") : isweekly? tostring(interval*intRes,"###W") : isdaily?  tostring(interval*intRes,"###D") : isintraday ? tostring(interval*intRes,"####") : '60'
basisType   = input(defval = "SMMA", title = "MA Type: ", options=["SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA", "SMMA", "HullMA", "LSMA", "ALMA", "SSMA", "TMA"])
basisLen    = input(defval = 8, title = "MA Period", minval = 1)
offsetSigma = input(defval = 6, title = "Offset for LSMA / Sigma for ALMA", minval = 0)
offsetALMA  = input(defval = 0.85, title = "Offset for ALMA", minval = 0, step = 0.01)
scolor      = input(false, title="Show coloured Bars to indicate Trend?")
delayOffset = input(defval = 0, title = "Delay Open/Close MA (Forces Non-Repainting)", minval = 0, step = 1)
tradeType   = input("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 = sma(src, len)                                                  // Simple
    v2 = ema(src, len)                                                  // Exponential
    v3 = 2 * v2 - ema(v2, len)                                          // Double Exponential
    v4 = 3 * (v2 - ema(v2, len)) + ema(ema(v2, len), len)               // Triple Exponential
    v5 = wma(src, len)                                                  // Weighted
    v6 = vwma(src, len)                                                 // Volume Weighted
    v7 = 0.0
    v7 := na(v7[1]) ? sma(src, len) : (v7[1] * (len - 1) + src) / len    // Smoothed
    v8 = wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))   // Hull
    v9 = linreg(src, len, offSig)                                       // Least Squares
    v10 = alma(src, len, offALMA, offSig)                               // Arnaud Legoux
    v11 = sma(v1,len)                                                   // Triangular (extreme smooth)
    // SuperSmoother filter
    // © 2013  John F. Ehlers
    a1 = exp(-1.414*3.14159 / len)
    b1 = 2*a1*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) => use ? security(tickerid, res, exp, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) : 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) ? green : red
bcolour     = (closeSeries > openSeriesAlt) ? lime100 : red100
barcolor(scolor?bcolour:na, title = "Bar Colours")
closeP=plot(closeSeriesAlt, title = "Close Series", color = trendColour, linewidth = 2, style = line, transp = 20)
openP=plot(openSeriesAlt, title = "Open Series", color = trendColour, linewidth = 2, style = line, transp = 20)
fill(closeP,openP,color=trendColour,transp=80)
 
// === /PLOTTING ===
//
 
//
// === ALERT conditions
xlong       = crossover(closeSeriesAlt, openSeriesAlt)
xshort      = 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(defval = 0, title = "Initial Stop Loss Points (zero to disable)", minval = 0)
tpPoints    = input(defval = 0, title = "Initial Target Profit Points (zero for disable)", minval = 0)
// Include bar limiting algorithm
ebar            = input(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       := ismonthly? tdays/1440.0/5.0/4.3/interval : isweekly? tdays/1440.0/5.0/interval : isdaily? tdays/1440.0/interval : tdays/interval // 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


Respondido

1
Desenvolvedor 1
Classificação
(132)
Projetos
178
39%
Arbitragem
4
25% / 50%
Expirado
14
8%
Livre
2
Desenvolvedor 2
Classificação
(15)
Projetos
34
24%
Arbitragem
4
0% / 50%
Expirado
2
6%
Trabalhando
3
Desenvolvedor 3
Classificação
(31)
Projetos
56
21%
Arbitragem
12
67% / 8%
Expirado
2
4%
Livre
4
Desenvolvedor 4
Classificação
(13)
Projetos
21
24%
Arbitragem
1
100% / 0%
Expirado
3
14%
Livre
5
Desenvolvedor 5
Classificação
(171)
Projetos
195
42%
Arbitragem
13
8% / 54%
Expirado
9
5%
Livre
Publicou: 3 códigos
6
Desenvolvedor 6
Classificação
(14)
Projetos
19
11%
Arbitragem
1
0% / 100%
Expirado
5
26%
Livre
7
Desenvolvedor 7
Classificação
(45)
Projetos
91
13%
Arbitragem
34
26% / 59%
Expirado
37
41%
Livre
8
Desenvolvedor 8
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
Publicou: 9 códigos
Pedidos semelhantes
Lo oking for an expert that manages other expert s according to market condition and equity curve , including : Turn ON/OFF experts in certain market conditions(indicator based), equity reach certian level , close all orders and restart ea again. Main chart with basic account statistic information needed, including status information of each experts Experts must be separated to more than 2 groups, each group of
Need a EA developer in conversion's I have a MT4 EA but I need it to be converted and to work in MT5 Nothing has to be removed Nothing has to be added Simply Make sure that when a copy is made in MT5 that the EA works the exact same way as it works in MT4 Its not a hard EA, AI can do this around %90 but there is a few lines in MT5 that AI do not understand and I have 0 coding skills NOT A
I have the Strategy and full spec any developer can run test to confirm. I need a developer to code it Claude AI has never given a score 11/10. "4.4 PROFIT FACTOR EA - CLAUDE AI CERTIFIED Scorpio Sniper Elite v1.4 - COMPLETE production spec ready: • 60% win rate | $100-190 daily expectancy • 50yr Monte Carlo validated • CLAUDE AI robustness certified [ATTACH ONLY: YOUR 11/10 CERTIFICATE
EA gold sniper 30 - 150 USD
I need an EA specialized for scalping XAUUSD, with short TP and SL in the range of 20–50 pips (equivalent to 2–5 gold price units). No DCA Martingale, no holding/averaging down positions, no grid trading, and no simultaneous buy and sell orders. The strategy and methodology will be yours, and I also require the full source code upon completion
Need EA Scalping Gold Xau 500 - 1000 USD
I need an EA specialized for scalping XAUUSD, with short TP and SL in the range of 20–50 pips (equivalent to 2–5 gold price units). No DCA Martingale, no holding/averaging down positions, no grid trading, and no simultaneous buy and sell orders. The strategy and methodology will be yours, and I also require the full source code upon completion
Mt5 or mt4 bot 200 - 600 USD
MetaTrader 5 Expert Advisor Manual Start – Auto Hedge – Dynamic Lot Sequence – Price-Based SL/TP 1. Platform & Account - Platform: MetaTrader 5 - Account type: Hedging - Broker: Exness - Must work on Cent and Standard accounts - Symbol: XAUUSD - Must support different symbol digits automatically 2. First Trade (Manual Only) - EA must NOT open the first trade - First trade is opened manually by the trader - Direction
Profitable Gold bot Requirement Able to achieve at least 5% profit per week with any type of strategy Proper risk management with SL Able to back test for at least 6 month proven result No martingale/ No grid Avoid high impact news Reward Willing to pay more if able to achieve higher profits with acceptable drawdown. (Not small reward) very welcome long term cooperation with good rewards Testing is compulsory before
Attached Files Can be used for reference. Please thoroughly understand the requirements and mql5 & set files before accepting the request. 1. Only Accept the job request if you are able to complete on time 2. I want you to show me demo of the Bot created and tested in Demo account for at least 3 days 3. I want you to show me the back tested results for last 5 years 4. 2 bots Need to be created Bot 1 with attached
🤖 A robot trading indicator typically requires specific parameters to function effectively. 📊 For Forex daily trading with a Moving Average (MA) focus and risk management, the indicator should include: MA type (e.g., Simple, Exponential), MA periods (e.g., 50-day, 200-day), risk management rules (e.g., stop-loss, take-profit), and signal logic (e.g., crossover, trend-following). The indicator should also account
I’m looking for a profitable MT5 grid trading strategy with strong risk management that is designed to avoid account blowouts . The strategy can trade on any symbol, as long as capital preservation is the top priority. I’m interested in purchasing the EA together with the full source code , provided it meets my requirements. Please let me know if you have a suitable solution available. PLEASE READ THE JOB POST

Informações sobre o projeto

Orçamento
30 - 100 USD
Prazo
de 1 para 30 dias