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.
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.
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.
Corrected calculation logic for newPosition in getQty function. Thanks to serkany88 for highlighting
Biblioteca Pine
Siguiendo fielmente el espíritu de TradingView, el autor ha publicado este código Pine como una biblioteca de código, permitiendo que otros programadores de Pine en nuestra comunidad puedan volver a utilizarlo. ¡Un brindis por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero tenga en cuenta que la reutilización de este código en publicaciones se rige por las Normas internas.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Exención de responsabilidad
Biblioteca Pine
Siguiendo fielmente el espíritu de TradingView, el autor ha publicado este código Pine como una biblioteca de código, permitiendo que otros programadores de Pine en nuestra comunidad puedan volver a utilizarlo. ¡Un brindis por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero tenga en cuenta que la reutilización de este código en publicaciones se rige por las Normas internas.
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io