Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
- // © NKactive (replace with your name)
- // Original source code belongs to TopG Professor Michael from The Real World.
- //@version=5
- strategy("NK Michael's EMA BTC", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, slippage=1)
- import EliCobra/CobraMetrics/4 as cobra
- //// PLOT DATA
- disp_ind = input.string ("None" , title = "Display Curve" , tooltip = "Choose which data you would like to display", options=["Strategy", "Equity", "Open Profit", "Gross Profit", "Net Profit", "None"], group = "🐍 𝓒𝓸𝓫𝓻𝓪 𝓜𝓮𝓽𝓻𝓲𝓬𝓼 🐍")
- pos_table = input.string("Middle Left", "Table Position", options = ["Top Left", "Middle Left", "Bottom Left", "Top Right", "Middle Right", "Bottom Right", "Top Center", "Bottom Center"], group = "🐍 𝓒𝓸𝓫𝓻𝓪 𝓜𝓮𝓽𝓻𝓲𝓬𝓼 🐍")
- type_table = input.string("None", "Table Type", options = ["Full", "Simple", "None"], group = "🐍 𝓒𝓸𝓫𝓻𝓪 𝓜𝓮𝓽𝓻𝓲𝓬𝓼 🐍")
- plot(cobra.curve(disp_ind))
- cobra.cobraTable(type_table, pos_table)
- //
- // ****************************************************************************************************************************************************************
- // NK Michael's EMA
- // ****************************************************************************************************************************************************************
- // Inputs
- timeframe=input.timeframe(defval ='2D', group = "MichaelsEMA", tooltip = "Select a different timeframe for this series") // Use Alternative timeframe
- emaS_value = input.int(12, minval=1, title="EMA Small - Value", group = "MichaelsEMA")
- emaB_value = input.int(21, minval=1, title="EMA Big - Value", group = "MichaelsEMA")
- // Get close from selected timeframe
- src = request.security(syminfo.tickerid,timeframe, close)
- emaS = request.security(syminfo.tickerid,timeframe, ta.ema(close, emaS_value))
- emaB = request.security(syminfo.tickerid,timeframe, ta.ema(close, emaB_value))
- // Rules For Up and Down EMA trends
- EMA_UpTrend = emaS >= emaB
- EMA_DownTrend = emaS < emaB
- // Plot EMAs on chart
- EMA_UpTrend_color = color.green
- EMA_DownTrend_color = #ff0000
- plot(emaS, color=color.new(EMA_UpTrend ? EMA_UpTrend_color : EMA_DownTrend_color, 0), title="EMA Small", style=plot.style_line, linewidth=1, offset=0)
- plot(emaB, color=color.new(EMA_UpTrend ? EMA_UpTrend_color : EMA_DownTrend_color, 0), title="EMA Big", style=plot.style_line, linewidth=2, offset=0)
- // ****************************************************************************************************************************************************************
- // Call combine signals and execute buy/sell positions within timeframe
- //.****************************************************************************************************************************************************************
- // Date Range To Include
- startDate = timestamp("2018-01-01T00:00")
- endDate = time
- // Check if the current timestamp is within the restricted range
- inRestrictedRange = time >= startDate and time <= endDate
- //
- // Buy Signals on overbought and oversold
- //
- if inRestrictedRange and EMA_UpTrend// ADD OTHER BUY SIGNAL BOOLS
- strategy.entry("My Long Entry Id", strategy.long, 100)
- if inRestrictedRange and EMA_DownTrend // ADD OTHER BUY SIGNAL BOOLS
- strategy.entry("My Short Entry Id", strategy.short, 100)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement