TradingView
Gentleman-Goat
29 Jul 2023 pukul 14.39

TradingToolsLibrary 

Bitcoin / U.S. dollarBitstamp

Deskripsi

Library "TradingToolsLibrary"
Easily create advanced entries, exits, filters and qualifiers to simulate strategies. Supports DCA (Dollar Cost Averaging) Lines, Stop Losses, Take Profits (with trailing or without) & ATR.

method deepCopy(this)
  This creates a deep copy instead of a shallow copy of an entry_position. This does NOT deep copy the self_pyramiding_positions array reference, since only the master entry_position needs this to track the rest of its copies for efficiency reasons. This is to prevent a feedback loop.
  Namespace types: entry_position
  Parameters:
    this (entry_position)
  Returns: entry_position

method precision_fix(this, precision)
  Convert a floating point number to a precise floating point number with digit precision to avoid floating point errors in quantity calculations.
  Namespace types: series float, simple float, input float, const float
  Parameters:
    this (float)
    precision (int)
  Returns: float

xSellBuyMidInterpolation(_x, _high, _low, _sellRange, _buyRange)
  Creates an interpolation for a sell range and buy range but with an emphasis on reaching the _low the closer to the middle of the _sell and _buy range you go.
  Parameters:
    _x (float): is the value you want to use to control interpolation bewteen the _high and _low value. This will return the lowest percentage at the mid between high and low and highest percentage at the _high and _low.
    _high (float)
    _low (float)
    _sellRange (float)
    _buyRange (float)
  Returns: an interpolated float between the _high and _low supplied.

xSellBuyInterpolation(_x, _high, _low, _sellRange, _buyRange)
  Creates an interpolation a sell range and buy range
  Parameters:
    _x (float): is the value you want to use to control interpolation bewteen the _high and _low value.
    _high (float)
    _low (float)
    _sellRange (float)
    _buyRange (float)
  Returns: an interpolated float between the _high and _low supplied.

activate_entries_and_exits(_entries, _exits, _filters, _qualifiers, _equity)
  Determines activation for entries or exits. Does not place the actual orders.
  Parameters:
    _entries (entry_position[])
    _exits (exit_position[])
    _filters (filter[])
    _qualifiers (qualifier[])
    _equity (equity_management)
  Returns: void

create_entries_and_exits(_entries, _exits, _equity)
  Creates actual entry and exit orders if activated
  Parameters:
    _entries (entry_position[])
    _exits (exit_position[])
    _equity (equity_management)
  Returns: void

filter
  Fields:
    disabled (series__bool)
    filter_for_entries_or_exits (series__string)
    filter_for_groups (series__string)
    condition (series__bool)
    dynamic_condition (series__bool)
    use_dynamic_condition (series__bool)
    use_override_default_condition (series__bool)
    dynamic_condition_operator (series__string)
    dynamic_condition_source (series__float)
    dynamic_compare_source (series__float)
    dynamic_condition_source_prior (series__float)
    dynamic_compare_source_prior (series__float)
    use_dynamic_compare_source (series__bool)
    dynamic_condition_activate_value (series__string)
    expire_condition_activate_value (series__string)
    expire_condition_source (series__float)
    expire_condition_source_prior (series__float)
    expire_compare_source (series__float)
    expire_compare_source_prior (series__float)
    use_expire_compare_source (series__bool)
    expire_condition_operator (series__string)

qualifier
  Fields:
    disabled (series__bool)
    qualify_for_entries_or_exits (series__string)
    qualify_for_groups (series__string)
    disqualify (series__bool)
    condition (series__bool)
    dynamic_condition (series__bool)
    use_dynamic_condition (series__bool)
    use_override_default_condition (series__bool)
    dynamic_condition_operator (series__string)
    dynamic_condition_source (series__float)
    dynamic_compare_source (series__float)
    dynamic_condition_source_prior (series__float)
    dynamic_compare_source_prior (series__float)
    use_dynamic_compare_source (series__bool)
    dynamic_condition_activate_value (series__string)
    expire_after_x_bars (series__integer)
    use_expire_after_x_bars (series__bool)
    use_expire_condition (series__bool)
    use_override_expire_condition (series__bool)
    expire_condition_operator (series__string)
    expire_condition_source (series__float)
    expire_compare_source (series__float)
    expire_condition_source_prior (series__float)
    expire_compare_source_prior (series__float)
    use_expire_compare_source (series__bool)
    expire_condition_activate_value (series__string)
    active (series__bool)
    expire_after_bars_bar_index (series__integer)
    expire_after_bars_bar_index_prior (series__integer)
    expire_bar_count (series__integer)
    expire_bar_changed (series__bool)

entry_position
  Fields:
    disabled (series__bool)
    activate (series__bool)
    active (series__bool)
    override_occured (series__bool)
    passDebug (array__bool)
    initial_activation_price (series__float)
    dca_done (series__bool)
    condition (series__bool)
    dynamic_condition (series__bool)
    use_dynamic_condition (series__bool)
    use_override_default_condition (series__bool)
    dynamic_condition_operator (series__string)
    dynamic_condition_source (series__float)
    dynamic_compare_source (series__float)
    dynamic_condition_source_prior (series__float)
    dynamic_compare_source_prior (series__float)
    use_dynamic_compare_source (series__bool)
    dynamic_condition_activate_value (series__string)
    use_cash (series__bool)
    use_percent_equity (series__bool)
    percent_equity_amount (series__float)
    cash_amount (series__float)
    position_size (series__float)
    total_position_size (series__float)
    prior_total_position_size (series__float)
    equity_remaining (series__float)
    prior_equity_remaining (series__float)
    initial_equity (series__float)
    use_martingale (series__bool)
    martingale_win_ratio (series__float)
    martingale_lose_ratio (series__float)
    martingale_win_limit (series__integer)
    martingale_lose_limit (series__integer)
    martingale_limit_reset_mode (series__string)
    use_dynamic_percent_equity (series__bool)
    dynamic_percent_equity_amount (series__float)
    initial_dynamic_percent_equity_amount (series__float)
    dynamic_percent_equity_source (series__float)
    dynamic_percent_equity_min (series__float)
    dynamic_percent_equity_max (series__float)
    dynamic_percent_equity_source_sell_range (series__float)
    dynamic_percent_equity_source_buy_range (series__float)
    dynamic_equity_interpolation_method (series__string)
    total_bars (series__integer)
    bar_index_at_activate (series__integer)
    bars_since_active (series__integer)
    time_at_activate (series__integer)
    time_since_active (series__integer)
    bar_index_at_activated (series__integer)
    bar_index_at_pyramid_change (series__integer)
    name (series__string)
    id (series__string)
    group (series__string)
    pyramiding_limit (series__integer)
    self_pyramiding_limit (series__integer)
    self_pyramiding_positions (array__|entry_position|#OBJ)
    new_pyramid_cancels_dca (series__bool)
    num_active_long_positions (series__integer)
    num_active_short_positions (series__integer)
    num_active_positions (series__integer)
    position_remaining (series__float)
    prior_position_remaining (series__float)
    direction (series__string)
    allow_flip_position (series__bool)
    flip_occurred (series__bool)
    ignore_flip (series__bool)
    use_dca (series__bool)
    dca_use_limit (series__bool)
    dca_num_positions (series__integer)
    dca_positions (array__float)
    dca_deviation_percentage (series__float)
    dca_scale (series__float)
    dca_percentages (series__string)
    dca_close_cancels (series__bool)
    dca_active_positions (series__integer)
    use_atr_deviation (series__bool)
    dca_atr_length (series__integer)
    dca_atr_mult (series__float)
    dca_atr_updates_dca_positions (series__bool)
    close_price_at_order (series__float)
    dca_use_deviation_atr_min (series__bool)
    dca_position_quantities (array__float)
    use_dca_dynamic_percent_equity (series__bool)
    dca_in_use (array__bool)
    dca_activated (array__bool)
    dca_money_used (array__float)
    dca_lines (array__line)
    dca_color (series__color)
    show_dca_lines (series__bool)
    atr_value (series__float)
    atr_value_at_activation (series__float)
    use_cooldown_bars (series__bool)
    cooldown_bars (series__integer)
    cooldown_bar_changed (series__bool)
    cooldown_bar_index (series__integer)
    cooldown_bar_index_prior (series__integer)
    cooldown_bar_change_count (series__integer)
    expire_condition_activate_value (series__string)
    expire_condition_source (series__float)
    expire_condition_source_prior (series__float)
    expire_compare_source (series__float)
    expire_compare_source_prior (series__float)
    use_expire_compare_source (series__bool)
    expire_condition_operator (series__string)

exit_position
  Fields:
    disabled (series__bool)
    id (series__string)
    group (series__string)
    exit_for_entries (series__string)
    exit_for_groups (series__string)
    total_bars (series__integer)
    name (series__string)
    condition (series__bool)
    dynamic_condition (series__bool)
    use_dynamic_condition (series__bool)
    use_override_default_condition (series__bool)
    dynamic_condition_operator (series__string)
    dynamic_condition_source (series__float)
    dynamic_compare_source (series__float)
    dynamic_condition_source_prior (series__float)
    dynamic_compare_source_prior (series__float)
    use_dynamic_compare_source (series__bool)
    dynamic_condition_activate_value (series__string)
    activate (series__bool)
    active (series__bool)
    reset_equity (series__bool)
    use_limit (series__bool)
    use_alerts (series__bool)
    reset_entry_cooldowns (series__bool)
    prevent_new_entries_on_partial_close (series__bool)
    show_activation_zone (series__bool)
    use_average_position (series__bool)
    source_value (series__float)
    trigger_x_times (series__integer)
    amount_of_times_triggered (series__integer)
    quantity_percent (series__float)
    trade_qty (series__float)
    exit_amount (series__float)
    entries_exiting_for (array__|entry_position|#OBJ)
    atr_value (series__float)
    update_atr (series__bool)
    use_activate_after_bars (series__bool)
    show_activate_after_bars (series__bool)
    activate_after_bars (series__integer)
    activate_after_bars_bar_changed (series__bool)
    activate_after_bars_bar_index (series__integer)
    activate_after_bars_bar_index_prior (series__integer)
    activate_after_bars_bar_change_count (series__integer)
    all_conditions_pass (series__bool)
    use_close_if_profit_only (series__bool)
    profit_value (series__float)
    exit_type (series__string)
    exit_modifier (series__string)
    update_atr_with_new_pyramid (series__bool)
    percentage (series__float)
    activation_percentage (series__float)
    atr_multiplier (series__float)
    use_cancel_if_percent (series__bool)
    cancel_if_percent (series__float)
    activation_value (series__float)
    activation_value_crossed (series__bool)
    exit_value (series__float)
    hypo_long_exit_value (series__float)
    hypo_short_exit_value (series__float)
    close_exit_value (series__float)
    debug (series__float)
    expire_condition_activate_value (series__string)
    expire_condition_source (series__float)
    expire_condition_source_prior (series__float)
    expire_compare_source (series__float)
    expire_compare_source_prior (series__float)
    use_expire_compare_source (series__bool)
    expire_condition_operator (series__string)

equity_management
  Fields:
    equity (series__float)
    prior_equity (series__float)
    position_used (series__float)
    prior_position_used (series__float)
    prevent_future_entries (series__bool)
    minimum_order_size (series__float)
    decimal_rounding_precision (series__integer)
    direction (series__string)
    show_order_info_in_comments (series__bool)
    show_order_info_in_labels (series__bool)
    allow_longs (series__bool)
    allow_shorts (series__bool)
    override_occured (series__bool)
    flip_occured (series__bool)
    num_concurrent_wins (series__integer)
    num_concurrent_losses (series__integer)
    first_entry (|entry_position|#OBJ)
    num_win_trades (series__integer)
    num_losing_trades (series__integer)
Komentar
PineCoders
In the name of all TradingViewers, thank you for your valuable contribution to the community, and congrats!
Gentleman-Goat
@PineCoders, Thank you for this :)
serkany88
Amazing work, a simple example strategy of a usage would be even better to understand how stuff connect to each other.
Gentleman-Goat
I'll be adding in commission (flat fee or percentage) W/Minimum commission support today.
PineCoders
This publication is now featured in our Editors' Picks: tradingview.com/scripts/editors-picks/?script_type=libraries
Gentleman-Goat
@PineCoders, Thanks for helping get the word out :), I'll be working to improve this daily from here out.
Gentleman-Goat
Note, to use this library you will want to create an array of (entry, filter, qualifier and exits) with the correct settings. You also need to create an equity_management object specifying the money that will be used and other technical factors. I will try and get an example submitted that uses the library with every feature available for testing. If you have questions, please ask me here and I'll be more then glad to help :).
serkany88
@Gentleman-Goat, Library looks great but an example would be even better to understand overall logic of how things connect to each other.
Lebih lanjut