Hamster-Coder

OrderLib

Library "OrderLib"
TODO: add library description here

removeOrderView(view)
  Parameters:
    view (orderView)

createOrderView(model, length, profit_color, loss_color, enter_color)
  Parameters:
    model (orderModel)
    length (simple int)
    profit_color (simple color)
    loss_color (simple color)
    enter_color (simple color)

createOrder(enter, tp, sl)
  Parameters:
    enter (float)
    tp (float)
    sl (float)

createOrderByRR(enter, sl, rr)
  Parameters:
    enter (float)
    sl (float)
    rr (float)

createOrderByRR(enter, sl, rr, commision_percent)
  Parameters:
    enter (float)
    sl (float)
    rr (simple float)
    commision_percent (simple float)

orderModel
  Fields:
    enter (series__float)
    sl (series__float)
    tp (series__float)

orderView
  Fields:
    enter (series__line)
    sl (series__line)
    tp (series__line)
Release Notes:
v2

Обновлено:
createOrder(enter, sl, tp)
  Parameters:
    enter (float)
    sl (float)
    tp (float)
Release Notes:
v3
Release Notes:
v4

Добавлено:
updateOrderView(src, topPrice, bottomPrice, removeCompleted)
  Parameters:
    src (orderView)
    topPrice (float)
    bottomPrice (float)
    removeCompleted (bool)

Обновлено:
createOrderView(src, profit_color, loss_color, enter_color)
  Parameters:
    src (orderModel)
    profit_color (simple color)
    loss_color (simple color)
    enter_color (simple color)

removeOrderView(src)
  Parameters:
    src (orderView)
Release Notes:
v5

Добавлено:
updateOrderViews(views, topPrice, bottomPrice, removeCompleted)
  Parameters:
    views (orderView)
    topPrice (float)
    bottomPrice (float)
    removeCompleted (bool)
Release Notes:
v6

Добавлено:
repaintView(views, remove_completed)
  Parameters:
    views (orderView)
    remove_completed (bool)

updateOrderState(model, top_price, bottom_price)
  Parameters:
    model (orderModel)
    top_price (float)
    bottom_price (float)

updateOrderStates(orders, top_price, bottom_price, remove_completed)
  Parameters:
    orders (orderModel)
    top_price (float)
    bottom_price (float)
    remove_completed (bool)

configureEnterPoint(src, price, amount, amount_usd)
  Parameters:
    src (orderModel)
    price (float)
    amount (float)
    amount_usd (float)

configureStopLoss(src, price, offset, max_loss)
  Parameters:
    src (orderModel)
    price (float)
    offset (float)
    max_loss (float)

addTakeProfit(src, piece, price, rr)
  Parameters:
    src (orderModel)
    piece (float)
    price (float)
    rr (float)

configureBreakeven(src, target_offset)
  Parameters:
    src (orderModel)
    target_offset (float)

configureTrailingStop(src, trigger_offset, lag_offset)
  Parameters:
    src (orderModel)
    trigger_offset (float)
    lag_offset (float)

orderPointModel
  Fields:
    price (series__float)
    offset (series__float)
    amount (series__float)
    amount_usd (series__float)
    order_piece (series__float)
    income (series__float)
    is_completed (series__bool)
    completed_bar_index (series__integer)

breakevenModel
  Fields:
    price (series__float)
    offset (series__float)
    target_price (series__float)
    target_offset (series__float)
    is_completed (series__bool)
    completed_bar_index (series__integer)

trailingStopModel
  Fields:
    price (series__float)
    offset (series__float)
    lag_offset (series__float)

enterPointModel
  Fields:
    price (series__float)
    amount (series__float)
    amount_usd (series__float)

Обновлено:
createOrder(ticker, side, enter, max_amount_usd, sl, rr, max_loss, leverage)
  Parameters:
    ticker (string)
    side (int)
    enter (float)
    max_amount_usd (float)
    sl (float)
    rr (float)
    max_loss (float)
    leverage (int)

Удалено:
updateOrderView(src, topPrice, bottomPrice, removeCompleted)

updateOrderViews(views, topPrice, bottomPrice, removeCompleted)

createOrderByRR(enter, sl, rr, commision_percent)
Release Notes:
v7

Добавлено:
createOrderWithEnterPoint(ticker, side, enter, max_amount_usd, leverage)
  Creates order with enter point
  Parameters:
    ticker (string): (string) Name of the ticker
    side (int): (int) "1" - buy , "-1" - sell
    enter (float): (float) enter point price
    max_amount_usd (float): (float) Maximum order amount in USDT
    leverage (int): (int) Order leverage (default x1)

createOrderWithEST(ticker, side, enter, max_amount_usd, sl, rr, max_loss, leverage, commision_percent)
  Creates order with enter point, stop loss and take profit
  Parameters:
    ticker (string)
    side (int)
    enter (float)
    max_amount_usd (float)
    sl (float)
    rr (float)
    max_loss (float)
    leverage (int)
    commision_percent (float)

Обновлено:
addTakeProfit(src, piece, price, rr, commision_percent)
  Parameters:
    src (orderModel)
    piece (float)
    price (float)
    rr (float)
    commision_percent (float)

configureBreakeven(src, target_price, target_offset, commision_percent)
  Parameters:
    src (orderModel)
    target_price (float)
    target_offset (float)
    commision_percent (float)

configureTrailingStop(src, lag_offset, trigger_offset, trigger_price, commision_percent)
  Parameters:
    src (orderModel)
    lag_offset (float)
    trigger_offset (float)
    trigger_price (float)
    commision_percent (float)

createOrder(ticker, side, leverage)
  Creates empty order
  Parameters:
    ticker (string)
    side (int)
    leverage (int)
Release Notes:
v8
Release Notes:
v9
Release Notes:
v10
Release Notes:
v11
Release Notes:
v12
Release Notes:
v13
Release Notes:
v14
Release Notes:
v15

Добавлено:
cleanOrderView(src)
  Parameters:
    src (orderView)

repaintViews(views, remove_completed)
  Parameters:
    views (orderView)
    remove_completed (bool)

lineView
  Fields:
    _line (series__line)
    labels (array__label)
    is_completed (series__bool)
    color (series__color)

lineViewCollection
  Fields:
    collection (array__|lineView|#OBJ)
    color (series__color)
    is_completed (series__bool)

Обновлено:
repaintView(src)
  Parameters:
    src (orderView)

Удалено:
removeOrderView(src)
Release Notes:
v16
Release Notes:
v17

Обновлено:
configureBreakeven(src, target_price, target_offset, trigger_price, trigger_offset, commision_percent)
  Parameters:
    src (orderModel)
    target_price (float)
    target_offset (float)
    trigger_price (float)
    trigger_offset (float)
    commision_percent (float)
Release Notes:
v18

Обновлено:
configureTrailingStop(src, lag_offset, trigger_offset, trigger_price, commision_percent)
  Configures "Trailing Stop"
  Parameters:
    src (orderModel): (orderModel, required) target order model
    lag_offset (float): (float, percent, required) Execute stop order if price reverse back on percents
    trigger_offset (float): (float, percent) "Trailing Stop" starts working if price moved by related to
    trigger_price (float): (float) "Trailing Stop" starts working if price moved to
    commision_percent (float): (float, percent, required, default) Exchange commision for open + close orders togather (default = 0.08)
Release Notes:
v19
Release Notes:
v20

bar_index references removed
Release Notes:
v21

Добавлено:
configureTrailingStopByStopLoss(src, lag_offset_rr, trigger_offset_rr, commision_percent)
  Parameters:
    src (orderModel)
    lag_offset_rr (float)
    trigger_offset_rr (float)
    commision_percent (float)

Обновлено:
configureStopLoss(src, price, offset, max_loss, commision_percent)
  Parameters:
    src (orderModel)
    price (float)
    offset (float)
    max_loss (float)
    commision_percent (float)
Release Notes:
v22
Release Notes:
v23

Добавлено:
feesBinanceFutures()

configureStopLossByPrice(src, price_value, max_loss, fees)
  Parameters:
    src (tradePositionModel)
    price_value (float)
    max_loss (float)
    fees (exchangeFeesModel)

addTakeProfitByRR(src, rr, position_piece_prc, fees)
  Parameters:
    src (tradePositionModel)
    rr (float)
    position_piece_prc (float)
    fees (exchangeFeesModel)

configureBreakevenBySL(src, fees)
  Parameters:
    src (tradePositionModel)
    fees (exchangeFeesModel)

createTradePosition(ticker, side, started_on, leverage)
  Creates empty order
  Parameters:
    ticker (string)
    side (int)
    started_on (int)
    leverage (int)

exchangeFeesModel
  Fields:
    market_order_prc (series__float)
    limit_order_prc (series__float)

orderPriceModel
  Fields:
    price (series__float)
    price_with_commision (series__float)
    offset (series__float)
    offset_with_commision (series__float)

orderAmountModel
  Fields:
    coins (series__float)
    value (series__float)
    position_piece_prc (series__float)

orderStateModel
  Fields:
    is_completed (series__bool)
    completed_on (series__integer)

breakevenOrderModel
  Fields:
    target (|orderPointModel|#OBJ)
    trigger (|orderPriceModel|#OBJ)

trailingStopOrderModel
  Fields:
    trigger (|orderPriceModel|#OBJ)
    lag_offset (series__float)

tradePositionModel
  Fields:
    ticker (series__string)
    side (series__integer)
    leverage (series__integer)
    created_on (series__integer)
    enter (|orderPointModel|#OBJ)
    stop_loss (|orderPointModel|#OBJ)
    breakeven (|breakevenOrderModel|#OBJ)
    trailing_stop (|trailingStopOrderModel|#OBJ)
    take_profit_collection (array__|orderPointModel|#OBJ)
    state (|orderStateModel|#OBJ)

Обновлено:
createOrderView(src, profit_color, loss_color, enter_color)
  Parameters:
    src (tradePositionModel)
    profit_color (simple color)
    loss_color (simple color)
    enter_color (simple color)

repaintView(src, time_now)
  Parameters:
    src (orderView)
    time_now (int)

repaintViews(views, time_now, remove_completed)
  Parameters:
    views (orderView)
    time_now (int)
    remove_completed (bool)

updateOrderState(src, top_price, bottom_price, time_now)
  Parameters:
    src (tradePositionModel)
    top_price (float)
    bottom_price (float)
    time_now (int)

updateOrderStates(models, top_price, bottom_price, time_now, remove_completed)
  Parameters:
    models (tradePositionModel)
    top_price (float)
    bottom_price (float)
    time_now (int)
    remove_completed (bool)

configureEnterPoint(src, price, amount)
  Parameters:
    src (tradePositionModel)
    price (orderPriceModel)
    amount (orderAmountModel)

configureStopLoss(src, price, amount)
  Parameters:
    src (tradePositionModel)
    price (orderPriceModel)
    amount (orderAmountModel)

addTakeProfit(src, price, amount)
  Parameters:
    src (tradePositionModel)
    price (orderPriceModel)
    amount (orderAmountModel)

configureBreakeven(src, target, trigger)
  Parameters:
    src (tradePositionModel)
    target (orderPointModel)
    trigger (orderPriceModel)

configureTrailingStop(src, trigger, lag_offset, exchange_fees)
  Configures "Trailing Stop"
  Parameters:
    src (tradePositionModel): (orderModel, required) target order model
    trigger (orderPriceModel)
    lag_offset (float): (float, percent, required) Execute stop order if price reverse back on percents
    exchange_fees (exchangeFeesModel)

Удалено:
configureTrailingStopByStopLoss(src, lag_offset_rr, trigger_offset_rr, commision_percent)

createOrder(ticker, side, leverage)
  Creates empty order

createOrderWithEnterPoint(ticker, side, enter, max_amount_usd, leverage)
  Creates order with enter point

createOrderWithEST(ticker, side, enter, max_amount_usd, sl, rr, max_loss, leverage, commision_percent)
  Creates order with enter point, stop loss and take profit

breakevenModel

trailingStopModel

enterPointModel

orderModel
Release Notes:
v24

Добавлено:
createOrderPriceByPrice(price, enter_price, commision_prc)
  Parameters:
    price (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByPriceWithCommision(value_with_commision, enter_price, commision_prc)
  Parameters:
    value_with_commision (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffset(offset, enter_price, commision_prc)
  Parameters:
    offset (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffsetWithCommision(offset_with_commision, enter_price, commision_prc)
  Parameters:
    offset_with_commision (float)
    enter_price (float)
    commision_prc (float)

createOrderAmountFromCoins(coins, price)
  Parameters:
    coins (float)
    price (float)

createOrderAmountFromValue(value, price)
  Parameters:
    value (float)
    price (float)

createOrderAmountFromOther(other, price, piece_prc)
  Parameters:
    other (orderAmountModel)
    price (float)
    piece_prc (float)

configureMarketOpenOrderByPrice(src, price_value, amount_value, exchange_fees)
  Parameters:
    src (tradePositionModel)
    price_value (float)
    amount_value (float)
    exchange_fees (exchangeFeesModel)
Release Notes:
v25

Добавлено:
createOrderPriceByValue(side, value, enter_price, commision_prc)
  Parameters:
    side (int): (int) Order side. "1" - buy order, "-1" sell order
    value (float)
    enter_price (float)
    commision_prc (float)

Обновлено:
createOrderPriceByPriceWithCommision(side, value_with_commision, enter_price, commision_prc)
  Parameters:
    side (int)
    value_with_commision (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffset(side, offset, enter_price, commision_prc)
  Parameters:
    side (int)
    offset (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffsetWithCommision(side, offset_with_commision, enter_price, commision_prc)
  Parameters:
    side (int)
    offset_with_commision (float)
    enter_price (float)
    commision_prc (float)

Удалено:
createOrderPriceByPrice(price, enter_price, commision_prc)
Release Notes:
v26
Release Notes:
v27

Обновлено:
createOrderPriceByValue(position_side, order_side, value, enter_price, commision_prc)
  Parameters:
    position_side (int)
    order_side (int)
    value (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByPriceWithCommision(position_side, order_side, value_with_commision, enter_price, commision_prc)
  Parameters:
    position_side (int)
    order_side (int)
    value_with_commision (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffset(order_side, offset, enter_price, commision_prc)
  Parameters:
    order_side (int)
    offset (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffsetWithCommision(order_side, offset_with_commision, enter_price, commision_prc)
  Parameters:
    order_side (int)
    offset_with_commision (float)
    enter_price (float)
    commision_prc (float)
Release Notes:
v28

Добавлено:
configureTrailingStopByStopLoss(src, lag_offset_rr, trigger_offset_rr, exchange_fees)
  Parameters:
    src (tradePositionModel)
    lag_offset_rr (float)
    trigger_offset_rr (float)
    exchange_fees (exchangeFeesModel)

Обновлено:
addTakeProfitByRR(src, rr, position_piece_prc, exchange_fees)
  Parameters:
    src (tradePositionModel)
    rr (float)
    position_piece_prc (float)
    exchange_fees (exchangeFeesModel)

configureBreakevenBySL(src, target_offset, exchange_fees)
  Parameters:
    src (tradePositionModel)
    target_offset (float)
    exchange_fees (exchangeFeesModel)

configureTrailingStop(src, trigger, lag_offset)
  Configures "Trailing Stop"
  Parameters:
    src (tradePositionModel): (orderModel, required) target order model
    trigger (orderPriceModel)
    lag_offset (float): (float, percent, required) Execute stop order if price reverse back on percents
Release Notes:
v29

Добавлено:
configureBreakevenByValue(src, trigger_price, target_offset, exchange_fees)
  Parameters:
    src (tradePositionModel)
    trigger_price (float)
    target_offset (float)
    exchange_fees (exchangeFeesModel)

configureBreakevenByOffset(src, trigger_offset, target_offset, exchange_fees)
  Parameters:
    src (tradePositionModel)
    trigger_offset (float)
    target_offset (float)
    exchange_fees (exchangeFeesModel)

Обновлено:
configureBreakevenBySL(src, target_offset, rr, exchange_fees)
  Parameters:
    src (tradePositionModel)
    target_offset (float)
    rr (float)
    exchange_fees (exchangeFeesModel)
Release Notes:
v30
Release Notes:
v31

Добавлено:
createPositionView(src, profit_color, loss_color, enter_color)
  Parameters:
    src (tradePositionModel)
    profit_color (simple color)
    loss_color (simple color)
    enter_color (simple color)

disposePositionView(src)
  Parameters:
    src (orderView)

disposePositionViews(src, skip)
  Parameters:
    src (orderView)
    skip (int)

Удалено:
createOrderView(src, profit_color, loss_color, enter_color)

cleanOrderView(src)
Release Notes:
v32

Добавлено:
createTradePositionView(src, profit_color, loss_color, enter_color)
  Parameters:
    src (tradePositionModel)
    profit_color (simple color)
    loss_color (simple color)
    enter_color (simple color)

disposeTradePositionView(src)
  Parameters:
    src (tradePositionView)

disposeTradePositionViews(src, skip)
  Parameters:
    src (tradePositionView)
    skip (int)

repaintTradePositionView(src, time_now)
  Parameters:
    src (tradePositionView)
    time_now (int)

repaintTradePositionViews(views, time_now, remove_completed)
  Parameters:
    views (tradePositionView)
    time_now (int)
    remove_completed (bool)

updateTradePositionState(src, top_price, bottom_price, time_now)
  Parameters:
    src (tradePositionModel)
    top_price (float)
    bottom_price (float)
    time_now (int)

updateTradePositionStates(models, top_price, bottom_price, time_now, remove_completed)
  Parameters:
    models (tradePositionModel)
    top_price (float)
    bottom_price (float)
    time_now (int)
    remove_completed (bool)

tradePositionView
  Fields:
    enter (|lineView|#OBJ)
    stop_loss (|lineView|#OBJ)
    take_profit_collection (|lineViewCollection|#OBJ)
    is_completed (series__bool)
    model (|tradePositionModel|#OBJ)

Удалено:
createPositionView(src, profit_color, loss_color, enter_color)

disposePositionView(src)

disposePositionViews(src, skip)

repaintView(src, time_now)

repaintViews(views, time_now, remove_completed)

updateOrderState(src, top_price, bottom_price, time_now)

updateOrderStates(models, top_price, bottom_price, time_now, remove_completed)

orderView
Release Notes:
v33

Обновлено:
createOrderPriceByOffset(position_side, order_side, offset, enter_price, commision_prc)
  Parameters:
    position_side (int)
    order_side (int)
    offset (float)
    enter_price (float)
    commision_prc (float)

createOrderPriceByOffsetWithCommision(position_side, order_side, offset_with_commision, enter_price, commision_prc)
  Parameters:
    position_side (int)
    order_side (int)
    offset_with_commision (float)
    enter_price (float)
    commision_prc (float)
Release Notes:
v34
Release Notes:
v35
Release Notes:
v36
Release Notes:
v37

Обновлено:
disposeTradePositionViews(src, completed_only, skip)
  Parameters:
    src (tradePositionView)
    completed_only (bool)
    skip (int)
Release Notes:
v38
Release Notes:
v39
Release Notes:
v40

Добавлено:
tradeStatisticsModel
  Fields:
    income (series__float)
    error (series__integer)
    completed (series__integer)
    in_progress (series__integer)
    win (series__integer)
    win_partial (series__integer)
    loss (series__integer)

tradeDebugDataModel
  Fields:
    updated_views (series__integer)
    updated_models (series__integer)
    updated_statistics (series__integer)
Release Notes:
v41
Release Notes:
v42
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.