Ultimate Strategy Template (Advanced Edition) by Daveatt

By Daveatt

Performance Metrics

Description

Nov 22, 2022Hello tradersThis script is an upgraded version of that one belowhttps://www.tradingview.com/script/2lGyzYkC-Ultimate-Strategy-Template/New features- Upgraded to Pinescript version 5- Added the exit SL/TP now in real-time - Added text fields for the alerts - easier to send the commands to your trading botsStep 1: Create your connectorAdapt your indicator with only 2 lines of code and then connect it to this strategy template.For doing so:1) Find in your indicator where are the conditions printing the long/buy and short/sell signals.2) Create an additional plot as belowI'm giving an example with a Two moving averages cross.Please replicate the same methodology for your indicator wether it's a MACD , ZigZag , Pivots , higher-highs, lower-lows or whatever indicator with clear buy and sell conditions.Pine Script®//@version=5indicator(title='Moving Average Cross', shorttitle='Moving Average Cross', overlay=true, precision=6, max_labels_count=500, max_lines_count=500)type_ma1 = input.string(title='MA1 type', defval='SMA', options=['RMA', 'SMA', 'EMA'])length_ma1 = input(10, title='[ALL but VWAP] MA1 length')type_ma2 = input.string(title='MA2 type', defval='SMA', options=['RMA', 'SMA', 'EMA'])length_ma2 = input(100, title='[ALL but VWAP] MA2 length')// MAf_ma(smoothing, src, length) => rma_1 = ta.rma(src, length) sma_1 = ta.sma(src, length) ema_1 = ta.ema(src, length) iff_1 = smoothing == 'EMA' ? ema_1 : src iff_2 = smoothing == 'SMA' ? sma_1 : iff_1 smoothing == 'RMA' ? rma_1 : iff_2MA1 = f_ma(type_ma1, close, length_ma1)MA2 = f_ma(type_ma2, close, length_ma2)// buy and sell conditionsbuy = ta.crossover(MA1, MA2)sell = ta.crossunder(MA1, MA2)plot(MA1, color=color.new(color.green, 0), title='Plot MA1', linewidth=3)plot(MA2, color=color.new(color.red, 0), title='Plot MA2', linewidth=3)plotshape(buy, title='LONG SIGNAL', style=shape.circle, location=location.belowbar, color=color.new(color.green, 0), size=size.normal)plotshape(sell, title='SHORT SIGNAL', style=shape.circle, location=location.abovebar, color=color.new(color.red, 0), size=size.normal)/////////////////////////// SIGNAL FOR STRATEGY /////////////////////////Signal = buy ? 1 : sell ? -1 : 0plot(Signal, title='🔌Connector🔌', display = display.data_window)Expand 30 linesBasically, I identified my buy, sell conditions in the code and added this at the bottom of my indicator codePine Script®Signal = buy ? 1 : sell ? -1 : 0plot(Signal, title="🔌Connector🔌", transp=100)Important Notes🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal, and -1 for the bearish signalNow you can connect your indicator to the Strategy Template using the method below or that oneStep 2: Connect the connector1) Add your updated indicator to a TradingView chart2) Add the Strategy Template as well to the SAME chart3) Open the Strategy Template settings and in the Data Source field select your 🔌Connector🔌 (which comes from your indicator)From then, you should start seeing the signals and plenty of other stuff on your chart🔥 Note that whenever you'll update your indicator values, the strategy statistics and visual on your chart will update in real-timeSettings- Color Candles: Color the candles based on the trade state ( bullish , bearish , neutral)- Close positions at market at the end of each session: useful for everything but cryptocurrencies- Session time ranges: Take the signals from a starting time to an ending time- Close Direction: Choose to close only the longs, shorts, or both- Date Filter: Take the signals from a starting date to an ending date- Set the maximum losing streak length with an input- Set the maximum winning streak length with an input- Set the maximum consecutive days with a loss- Set the maximum drawdown (in % of strategy equity)- Set the maximum intraday loss in percentage- Limit the number of trades per day- Limit the number of trades per week- Stop-loss: None or Percentage or Trailing Stop Percentage or ATR - I'll add shortly multiple options for the trailing stop loss- Take-Profit: None or Percentage or ATR - I'll add also a trailing take profit- Risk-Reward based on ATR multiple for the Stop-Loss and Take-ProfitSpecial ThanksSpecial thanks to @JosKodify as I borrowed a few risk management snippets from his website: kodify.net/tradingview-programming-articles/BestDaveFeb 10, 2023Release NotesVersion 2Fixed an issue with the TP1 logic and position sizesFeb 18, 2023Release Notes- Added the alerts txt fields for the custom close long/short eventsFeb 18, 2023Release NotesVersion 3- Added a table displaying the opened trades data - works even with multiple opened trades- the table is fully customisable: colors, location, text size, and much more....- Added a sample script commented at the beginning of the scriptFeb 23, 2023Release NotesVersion 5Fixed an issue with the TPs when pyramiding > 1 is enabledIt was recalculating the TPs for every new pyramiding signalIt's common usage that the TPs and SL are calculated at the first signal of the trendFeb 24, 2023Release NotesVersion 5.1Fixed an issue with the SL and TPs (again)Now it works as expectedFeb 26, 2023Release NotesVersion 5.2Added the ability to create alerts using the "alert() function call only mode" which aren't based on the backtest orders fills but on my custom conditionsSometimes, the backtest fills the orders too late, especially during very quick price action eventsExample: imgur.com/a/NiH0MeTFeb 27, 2023Release NotesVersion 6- Added a Stop-Loss to Breakeven logic- Added a custom optional exit logic closing closing the opened trade(s) after X barsMar 1, 2023Release NotesFixed and Improved the trailing SL logicMar 24, 2023Release NotesVersion 7Removed the TP2 logic as it prevented the exit SL/TP1 orders to get executed in real-timeMay 16, 2023Release Notes- Fixed the SL to Breakeven logic

Browse all 5,900+ TradingView Pine Script strategies

View on TradingView