This Framework allows Pine Coders to quickly code Study() based signal/strategy and validate its viability before proceed to code with more advance/complex customized rules for entry, exit, trailstop, risk management etc..
This is somewhat an upgraded version of my earlier personal template with different strategy used, cleaner code and additional features.
█ USE CASES
- You have an idea for trade signal and need a quick way to verify its potential before writing lengthy/complicated code - You found a study script for trading signal in public library and want to validate it profitability with minimum effort before including it in your trading playbook
█ FEATURES
- Alert: Ready to use alert function based on signals from your custom indicator. - Visual Backtest: Auto-plot entry, stop-loss and take profit for simple strategy performance analysis - Backtest Statistic: Provide basic key metrics based on backtest strategy - BTE External Signal Protocol: Ready to use code that will supply required state to PineCoders Backtesting & Trading Engine if you wish to have more advance and sophisticated backtesting engine Notes: All of the above features have On/Off toggle
█ Description & How To Use
This Framework consist of 5 Modules but you only need to edit the first 2 Modules:
Tips: The source-code includes collapsible block by module for easy navigating
Module1: Indicator: ----------------------------------------------------------------------------------- Main Module. Place custom indicator input parameter/calculation/indicator plotting here
Sample Strategy: Double MACD Crossover MACD Signal: 1st MACD Cross above signal line indicate Buy Signal 1st MACD Cross below signal line indicate Sell Signal MACD Filter: 2nd MACD is above 0 line indicate Uptrend 2nd MACD is below 0 line indicate Downtrend
Module2: Framework Input Protocol: ----------------------------------------------------------------------------------- Use this module to connect main indicator/signal calculated in Module1 to the rest of the framework's module 4 variables needed to be defined here: 1. Uptrend 2. Dntrend 3. BuySignal 4. SellSignal i'm not sure how to place a code snippet here to show you example so in the source code i already put a comment in Module2 on which part u need to edit. I hope its pretty simple to use.
Module3: Alert Module Description: ----------------------------------------------------------------------------------- As long as the variables in Module2 properly defined, the alert module is ready to use without any further modification.
Input: Enable Alert --> Enable TV's alert and plot signal to chart Alert Type --> Set to take Buy only, Sell only or Both alert
Module4: Backtest Module Description: ----------------------------------------------------------------------------------- As long as the variables in Module2 properly defined, the backtest module is ready to use without any further modification.
Input: Backtest Stat --> Enable Backtest Statistic Label Backtest Visual --> Enable Backtest visual simulation Backtest Type --> Set to take Buy only or Sell only or both SL Type --> ATR : Set SL in ATR times Multiplier below entry price Fixed : Set SL in fixed point below entry point (in 'Dollar'). e.g. for Stocks -> 0.5 equals to 50cent while for EURUSD currency -> 0.005 equal to 50 pips HiLo Bar: Set SL at highest/lowest wick of previous [x] bar plus/minus Fixed point. e.g. EURUSD HiLo=3 and Fixed Point = 0.0005, buy trade will place SL 5 Pips below lowest of previous 3 bar SL ATR Multi --> Set Lookback Period used for SL's ATR calculation SL ATR Multi --> Set ATR Multiplier for SL SL Fixed --> Set Fixed Level for SL SL Bar --> Set Number of previous bar to check for SL placement TP RR Ratio --> Set TP based on RR multiplier. e.g. 2 means TP level will be twice further from entry point compared to Entry-SL distance. Notes: The point is for preliminary testing, so it only supports 1 trade at a time and no Trailing Stop
Module5: [PineCoders] Backtest & Trading Engine Description: ----------------------------------------------------------------------------------- As long as the variables in Module2 properly defined, the Pinecoders BTE module is ready to use without any further modification.
Input: External Signal Protocol --> Set ESP State to send to "Backtesting & Trading Engine [PineCoders]" Signal With Filter --> Use this to send entry signal that already filtered by this study indicator (without stoploss level) Signal Without Filter --> Use this to send raw entry signal that are NOT YET FILTERED by this study indicator (without stoploss level) Signal and Stop With Filter --> Use this to send entry signal WITH StopLoss that already filtered by this study indicator (with stoploss level) Signal and Stop Without Filter --> Use this to send raw entry signal WITH StopLoss that are NOT YET FILTERED by this study indicator (with stoploss level) Notes: Backtesting & Trading Engine [PineCoders] already have built-in Filter, Entries and Stop Level. e.g. Unselect all their filter state if only want to use custom filter and make sure send Signal with Filter (with or without SL level)
█ DISCLAIMER:
This framework main objective is to create my personal indicator template so that i just have to modify the indicator module for preliminary testing in future. The sample strategy included are for educational purpose only. Use at your own risk
credit: LucF/PineCoders for a lot of his scripts that i use as a guide to complete this
發布通知
i was experimenting with array and decided to add on additional backtest information to get the profit ratio.