PINE LIBRARY

eStrategy

Updated
Library "eStrategy"
Library contains methods which can help build custom strategy for continuous investment plans and also compare it with systematic buy and hold.

sip(startYear, initialDeposit, depositFrequency, recurringDeposit, buyPrice) Depicts systematic buy and hold over period of time
  Parameters:
    startYear: Year on which SIP is started
    initialDeposit: Initial one time investment at the start
    depositFrequency: Frequency of recurring deposit - can be monthly or weekly
    recurringDeposit: Recurring deposit amount
    buyPrice: Indicatinve buy price. Use high to be conservative. low, close, open, hl2, hlc3, ohlc4, hlcc4 are other options.
  Returns: totalInvestment - initial + recurring deposits
totalQty - Quantity of units held for given instrument
totalEquity - Present equity

customStrategy(startYear, initialDeposit, depositFrequency, recurringDeposit, buyPrice, sellPrice, initialInvestmentPercent, recurringInvestmentPercent, signal, tradePercent) Allows users to define custom strategy and enhance systematic buy and hold by adding take profit and reloads
  Parameters:
    startYear: Year on which SIP is started
    initialDeposit: Initial one time investment at the start
    depositFrequency: Frequency of recurring deposit - can be monthly or weekly
    recurringDeposit: Recurring deposit amount
    buyPrice: Indicatinve buy price. Use high to be conservative. low, close, open, hl2, hlc3, ohlc4, hlcc4 are other options.
    sellPrice: Indicatinve sell price. Use low to be conservative. high, close, open, hl2, hlc3, ohlc4, hlcc4 are other options.
    initialInvestmentPercent: percent of amount to invest from the initial depost. Keep rest of them as cash
    recurringInvestmentPercent: percent of amount to invest from recurring deposit. Keep rest of them as cash
    signal: can be 1, -1 or 0. 1 means buy/reload. -1 means take profit and 0 means neither.
    tradePercent: percent of amount to trade when signal is not 0. If taking profit, it will sell the percent from existing position. If reloading, it will buy with percent from cash reserve
  Returns: totalInvestment - initial + recurring deposits
totalQty - Quantity of units held for given instrument
totalCash = Amount of cash held
totalEquity - Overall equity = totalQty*close + totalCash
Release Notes
v2

Added:
getEquityAthAndDrawdown(equity) Calculates max equity, current drawdown from equity ATH and max drawdown
  Parameters:
    equity: Present equity value
  Returns: equityAth - Equity all time high
drawdown - Present drawdown percentage from equity ATH
maxDrawdown - Max drawdown percentage
Release Notes
v3

Added:
getAverageCashPercent(cash, equity) Calculates average cash holding percent for strategy
  Parameters:
    cash: Present cash holding
    equity: Present equity value
  Returns: currentCashPercent - Cash Percent of Equity
avgCashPercent - Average cash percent of equity
Release Notes
v4

Updated: Added dividends to equation
hewhomustnotbenamedstatisticsstrategiesstrategytestingtrendoscope

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer