PINE LIBRARY

strategy

מעודכן
Library "strategy"
Library containing few key calculations for strategy involving leveraged limit and stop orders

getQty(entry, stop, riskPercentage)
  calculate qty and leverage based on entry and stop price for given risk percentage.
  Parameters:
    entry: Entry Price
    stop: Stop Price
    riskPercentage: risk percentage per trade
  Returns: [quantity, leverage] - Quantity based on the risk and calculated leverage on position including existing positions

bracketOrder(entry, stop, target, maxLeverage, isLimitOrder, riskPercentage)
  Calculates position size based on risk and creates bracket orders for given entry/stop/target
  Parameters:
    entry: Entry Price
    stop: Stop Price
    target: Target Price
    maxLeverage: Maximum leverage allowed
    isLimitOrder: if true, places limit order for entry, else places stop order.
    riskPercentage: risk percentage per trade
  Returns: orderPlaced - true if orders successfully placed, false otherwise.

order(entry, stop, maxLeverage, isLimitOrder, riskPercentage)
  Calculates position size based on risk and creates order for given entry/stop
  Parameters:
    entry: Entry Price
    stop: Stop Price
    maxLeverage: Maximum leverage allowed
    isLimitOrder: if true, places limit order for entry, else places stop order.
    riskPercentage: risk percentage per trade
  Returns: orderPlaced - true if orders successfully placed, false otherwise.
הערות שחרור
v2

Added:
bracketOrderWithoutLeverage(id, entry, stop, target, isLimitOrder)
  Creates bracket orders for given entry/stop/target without leverage and qty calculation. (Uses the values from strategy definition)
  Parameters:
    id
    entry: Entry Price
    stop: Stop Price
    target: Target Price
    isLimitOrder: if true, places limit order for entry, else places stop order.
  Returns: orderPlaced - true if orders successfully placed, false otherwise.
הערות שחרור
v3
הערות שחרור
v4

Updated:
getQty(entry, stop, riskAmount, riskType)
  calculate qty and leverage based on entry and stop price for given risk percentage.
  Parameters:
    entry: Entry Price
    stop: Stop Price
    riskAmount: risk percentage per trade or risk cash per trade
    riskType: Can be either trategy.percent_of_equity or strategy.cash
  Returns: [quantity, leverage] - Quantity based on the risk and calculated leverage on position including existing positions

bracketOrder(id, entry, stop, target, maxLeverage, isLimitOrder, riskAmount, riskType)
  Calculates position size based on risk and creates bracket orders for given entry/stop/target
  Parameters:
    id
    entry: Entry Price
    stop: Stop Price
    target: Target Price
    maxLeverage: Maximum leverage allowed
    isLimitOrder: if true, places limit order for entry, else places stop order.
    riskAmount: risk percentage per trade or risk cash per trade
    riskType: Can be either trategy.percent_of_equity or strategy.cash
  Returns: orderPlaced - true if orders successfully placed, false otherwise.

order(id, entry, stop, maxLeverage, isLimitOrder, riskAmount, riskType)
  Calculates position size based on risk and creates order for given entry/stop
  Parameters:
    id
    entry: Entry Price
    stop: Stop Price
    maxLeverage: Maximum leverage allowed
    isLimitOrder: if true, places limit order for entry, else places stop order.
    riskAmount: risk percentage per trade or risk cash per trade
    riskType: Can be either trategy.percent_of_equity or strategy.cash
  Returns: orderPlaced - true if orders successfully placed, false otherwise.
הערות שחרור
v5

Corrected calculation logic for newPosition in getQty function. Thanks to serkany88 for highlighting
hewhomustnotbenamedstrategiestrendoscope

ספריית Pine

ברוח TradingView אמיתית, המחבר פרסם קוד Pine זה כספריית קוד פתוח כדי שמתכנתי Pine אחרים מהקהילה שלנו יוכלו לעשות בו שימוש חוזר. כל הכבוד למחבר! אתה יכול להשתמש בספרייה זו באופן פרטי או בפרסומים אחרים בקוד פתוח, אך שימוש חוזר בקוד זה בפרסום כפוף לכללי הבית.

כתב ויתור