pandora-sulfate0a

AdaptivePNL

Library "Adaptive Profit And Loss"
Provide Take profit and Stop loss values depending on source.

TakeProfitPriceTypes()
  Provides supported Take profit sources
  Returns: Supported Take profit sources

StopLossPriceTypes()
  Provides supported Take profit sources
  Returns: Supported Take profit sources

Price(type)
  Get price value by selected price type
  Parameters:
    type (string): price type from @TakeProfitPriceTypes() or @StopLossPriceTypes()
  Returns: Required price value.

LinearProfit(initPerc, stepPerc)
  Lineary changed profit
  Parameters:
    initPerc (float): Initial profit value in percent unit
    stepPerc (float): Amount of change per every bar since last entry. Posiitive value will decrease profit in time.
  Returns: Profit value lineary increased/decreased since last entry. If there is no opened trade, value is NaN

AdaptedProfit(initPerc, stepPerc, source)
  Profit adapted to lowest/highest value of given source and lineary changes after it
  Parameters:
    initPerc (float): Initial profit value in percent unit
    stepPerc (float): Amount of change per every bar since last entry. Posiitive value will decrease profit in time.
    source (float): Source according to is profit adapted. If it reach high, profit is increased for long positions, same for low and short positions.
  Returns: Profit value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN

LinearStopLoss(initPerc, stepPerc)
  Lineary changed stop loss
  Parameters:
    initPerc (float): Initial stop loss value in percent unit
    stepPerc (float): Amount of change per every bar since last entry. Posiitive value will increase stop loss in time.
  Returns: Stop loss value lineary increased/decreased since last entry. If there is no opened trade, value is NaN

AdaptedStopLoss(initPerc, stepPerc, source)
  Stop loss adapted to highest/lowest value of given source and lineary changes after it
  Parameters:
    initPerc (float): Initial stop loss value in percent unit
    stepPerc (float): Amount of change per every bar since last entry. Posiitive value will increase stop loss in time.
    source (float): Source according to is stop loss adapted. If it reach high, stop loss is increased for long positions, same for low and short positions.
  Returns: Stop loss value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN
Release Notes:
v2

Added:
TakeProfit(initPerc, stepPerc, source)
  Profit adapted to lowest/highest value of given source and lineary changes after it
  Parameters:
    initPerc (float): Initial profit value in percent unit
    stepPerc (float): Amount of change per every bar since last entry. Posiitive value will decrease profit in time.
    source (float): Source according to is profit adapted. If it reach high, profit is increased for long positions, same for lowest price and short positions.
  Returns: Profit value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN

StopLoss(initPerc, stepPerc, source)
  Stop loss adapted to highest/lowest value of given source and lineary changes after it
  Parameters:
    initPerc (float): Initial stop loss value in percent unit
    stepPerc (float): Amount of change per every bar since last entry. Posiitive value will increase stop loss in time.
    source (float): Source according to is stop loss adapted. If it reach high, stop loss is increased for long positions, same for low and short positions.
  Returns: Stop loss value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN

Removed:
LinearProfit(initPerc, stepPerc)
  Lineary changed profit

AdaptedProfit(initPerc, stepPerc, source)
  Profit adapted to lowest/highest value of given source and lineary changes after it

LinearStopLoss(initPerc, stepPerc)
  Lineary changed stop loss

AdaptedStopLoss(initPerc, stepPerc, source)
  Stop loss adapted to highest/lowest value of given source and lineary changes after it
Release Notes:
v3

Updated:
TakeProfit(initPerc, stepPerc, source)
  Profit adapted to lowest/highest value of given source and lineary changes after it
  Parameters:
    initPerc (simple float): Initial profit value in percent unit
    stepPerc (simple float): Amount of change per every bar since last entry. Posiitive value will decrease profit in time.
    source (float): Source according to is profit adapted. If it reach high, profit is increased for long positions, same for lowest price and short positions.
  Returns: Profit value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN

StopLoss(initPerc, stepPerc, source)
  Stop loss adapted to highest/lowest value of given source and lineary changes after it
  Parameters:
    initPerc (simple float): Initial stop loss value in percent unit
    stepPerc (simple float): Amount of change per every bar since last entry. Posiitive value will increase stop loss in time.
    source (float): Source according to is stop loss adapted. If it reach high, stop loss is increased for long positions, same for low and short positions.
  Returns: Stop loss value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN

Removed:
TakeProfitPriceTypes()
  Provides supported Take profit sources

StopLossPriceTypes()
  Provides supported Take profit sources
Release Notes:
v4

Added:
TruncateQuantity(price, digits)
  Truncate quantity to required number of digits. It's truncate, not round, it simply zeroes digits after required amount. Truncate did not exceeds amount.
  Parameters:
    price (float): Price at which position is opened. Close price for market orders or stop price for stop limit orders.
    digits (int): Number of digits.
  Returns: Quantity truncate

PriceToPips(price)
  Concerts given price to number of pips. Useful for parameters which reauires pips count, e.g. Convert relative price like `price * offset_percent / 100` to trail_offset.
  Parameters:
    price (float): Price will be converted to number of pips.
  Returns: Number of pips which represents given price.
Release Notes:
v5

Updated:
Price(type, relativePrice, atrLen)
  Get price value by selected price type
  Parameters:
    type (string): price type from @TakeProfitPriceTypes() or @StopLossPriceTypes()
    relativePrice (float): price to which is added/substracted ATR value
    atrLen (simple int): ATR length
  Returns: Requested price value
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

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.