PINE LIBRARY
Güncellendi threengine_global_automation_library

Library "threengine_global_automation_library"
A collection of functions used for trade automation
getBaseCurrency()
Gets the base currency for the chart's ticker. Supported trade pairs are USD, USDT, USDC, BTC, and PERP.
Returns: Base currency as a string
getChartSymbol()
Get the current chart's symbol without the base currency appended to it. Supported trade paris are USD, USDT, USDC, BTC, and PERP.
Returns: Ssymbol and base currency
getDecimals()
Calculates how many decimals are on the quote price of the current market
Returns: The current deimal places on the market quote price
checkVar()
Plot a string as a label on the chart to test variable value. Use str.tostring() for any variable that isn't a string.
Returns: Label with stringified variable
getStrategyAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a long entry
taGetAdx()
Calculates the Average Directional Index
Returns: The value of ADX as a float
taGetEma()
Calculates the EMA based on a type, source, and length. Supported types are EMA, SMA, RMA, and WMA.
Returns: The value of the selected EMA
isBetweenTwoTimes()
Checks to see if within a rage based on two times
@retunrs true/false boolean
getAllTradeIDs()
This gets all closed trades and open trades
@retunrs an array of all open and closed trade ID's
getOpenTradeIDs()
This gets all open trades
@retunrs an array of all open trade ID's
orderAlreadyExists()
This checks to see if a provided order id uses the getAllTradeIDs() function to check
@retunrs an array of all open and closed trade ID's
orderCurrentlyExists()
This checks to see if a provided order id uses the getAllTradeIDs() function to check
Returns: an array of all open and closed trade ID's
getContractCount()
calulates the number of contracts you can buy with a set amount of capital and a limit price
Returns: number of contracts you can buy based on amount of capital you want to use and a price
getLadderSteps()
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
A collection of functions used for trade automation
getBaseCurrency()
Gets the base currency for the chart's ticker. Supported trade pairs are USD, USDT, USDC, BTC, and PERP.
Returns: Base currency as a string
getChartSymbol()
Get the current chart's symbol without the base currency appended to it. Supported trade paris are USD, USDT, USDC, BTC, and PERP.
Returns: Ssymbol and base currency
getDecimals()
Calculates how many decimals are on the quote price of the current market
Returns: The current deimal places on the market quote price
checkVar()
Plot a string as a label on the chart to test variable value. Use str.tostring() for any variable that isn't a string.
Returns: Label with stringified variable
getStrategyAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a long entry
taGetAdx()
Calculates the Average Directional Index
Returns: The value of ADX as a float
taGetEma()
Calculates the EMA based on a type, source, and length. Supported types are EMA, SMA, RMA, and WMA.
Returns: The value of the selected EMA
isBetweenTwoTimes()
Checks to see if within a rage based on two times
@retunrs true/false boolean
getAllTradeIDs()
This gets all closed trades and open trades
@retunrs an array of all open and closed trade ID's
getOpenTradeIDs()
This gets all open trades
@retunrs an array of all open trade ID's
orderAlreadyExists()
This checks to see if a provided order id uses the getAllTradeIDs() function to check
@retunrs an array of all open and closed trade ID's
orderCurrentlyExists()
This checks to see if a provided order id uses the getAllTradeIDs() function to check
Returns: an array of all open and closed trade ID's
getContractCount()
calulates the number of contracts you can buy with a set amount of capital and a limit price
Returns: number of contracts you can buy based on amount of capital you want to use and a price
getLadderSteps()
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
Sürüm Notları
v2Added:
getLadderInSteps()
Constructs arrays used for creating strategy entry orders via a for loop
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
getLadderOutSteps()
Constructs arrays used for creating strategy exit orders via a for loop
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
Removed:
getLadderSteps()
Sürüm Notları
v3Sürüm Notları
v4Sürüm Notları
v5Added:
getPriceOfFirstClosedTradeSince()
This gets all closed trades since a provided bar number
@retunrs three arrays: closed trade IDs, closing bar number, and closing price
Sürüm Notları
v6Added:
getClosedTradeSince()
This gets all closed trades since a provided bar number
@retunrs three arrays: closed trade IDs, closing bar number, and closing price
Removed:
getPriceOfFirstClosedTradeSince()
This gets all closed trades since a provided bar number
@retunrs three arrays: closed trade IDs, closing bar number, and closing price
Sürüm Notları
v7Updated:
getClosedTradeSince()
This gets all closed trades since a provided bar number
@retunrs three arrays: closed trade IDs, closing bar number, and closing price
Sürüm Notları
v8Added:
getLadderStart()
Detect when the ladder has started to fill so that the ladder start can be locked to the initial strategy entry price. After trades close, reset it back to zero.
Returns: Locked ladder start price and the bar number that the first ladder was filled on
getAveragePriceOfFilledLadders()
Keeps count of the number of ladder orders that have been filled for an strategy entry
Returns: maximum number of ladder orders filled
Sürüm Notları
v9Added:
getLockedLadderStart()
Detect when the ladder has started to fill so that the ladder start can be locked to the initial strategy entry price. After trades close, reset it back to zero.
Returns: Locked ladder start price and the bar number that the first ladder was filled on
Removed:
getLadderStart()
Detect when the ladder has started to fill so that the ladder start can be locked to the initial strategy entry price. After trades close, reset it back to zero.
Sürüm Notları
v10Added:
orderAlreadyClosedSince()
Checks to see if a trade has already closed since a past bar number
@retunrs boolean of whether provided trade id has already closed since provided bar number
Sürüm Notları
v11Added:
taGetVwap()
Calculates VWAP based on provided src, anchor, and multiplier
Returns: VWAP, lower band, and upper band
Sürüm Notları
v12Sürüm Notları
v13Sürüm Notları
v14Updated:
taGetVwap()
Calculates VWAP based on provided src, anchor, and multiplier
Returns: VWAP, lower band, and upper band
Sürüm Notları
v15Added:
getAlertatronAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a long entry
Sürüm Notları
v16Updated:
getAlertatronAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a long entry
Sürüm Notları
v17Added:
getAlertatronExitMessage()
Generates stringified JSON for a limit Exit that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a exit entry
Sürüm Notları
v18Updated:
getAlertatronAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for an entry.
Returns: Stringifed JSON for an entry
getAlertatronExitMessage()
Generates stringified JSON for a limit Exit that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a exit entry
Sürüm Notları
v19Added a forward slash (/) between the symbol and the base currency to match Alertatron formatting.
Sürüm Notları
v20Sürüm Notları
v21Added:
getAlertatronEntryMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for an entry.
Returns: Stringifed JSON for an entry
Removed:
getAlertatronAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for an entry.
Sürüm Notları
v22Changed ladder lot size to be a standard size for each rung instead of splitting a total amount across the number of rungs.
Sürüm Notları
v23Added:
getRateOfChange()
Calulates the rate of change of a series based on a look back length
Returns: the rate of change as a float
Sürüm Notları
v24Updated:
getAlertatronEntryMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for an entry.
Returns: Stringifed JSON for an entry
getAlertatronExitMessage()
Generates stringified JSON for a limit Exit that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a exit entry
Sürüm Notları
v25Added:
getPairDividerForExchange()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a long entry
Sürüm Notları
v26Updated function description.
Sürüm Notları
v27Split exchange settings out into two functions to fix a bug.
Sürüm Notları
v28Updated getAlertatronExitMessage() to include 'reduceOnly=true' so that the exchange doesn't open a short/long when TV is trying to exit a position.
Sürüm Notları
v29update getAlertatronEntryMessage() to include reduceOnly=true on the stop loss.
Sürüm Notları
v30Made avgPrice := na when not in a position
Sürüm Notları
v31Added:
getCountOfClosedTradeSince()
This gets the count of closed trades since a provided bar index
@retunrs three arrays: closed trade IDs, closing bar number, and closing price
Sürüm Notları
v32Added:
closeUnfilledEntriesAfter()
Constructs arrays used for creating strategy exit orders via a for loop
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
Sürüm Notları
v33Added:
getAlertatronEntryMessageV2()
Generates a string for a limit order that can be passed to the strategy alert_message for an entry.
Returns: string that represents a block of entries for alertatron
Sürüm Notları
v34Added:
getOrderAlertMessage()
Generates a string for one or more orders to be placed on exchange using Alertatron
Returns: string to be passed to Alertatron
getCancelUnfilledOrdersAlertMessage()
Generates a string for the alert message needed to place a stopLimit order when a strategy produces an exit signal after hitting a trailing stop
Returns: string to be passed to Alertatron
getTrailingStopAlertMessage()
Generates a string for the alert message needed to cancel all unfilled orders with the matching strategy tag
Returns: string to be passed to Alertatron
Sürüm Notları
v35Added:
formatEntryPrices()
Formats array of entry prices to supported format
Returns: CSV string of properly formated entry prices
Sürüm Notları
v36Add getEntryNames() function
Sürüm Notları
v37Added:
getEntryNames()
Gets an array of entry names for number of desired entries
Returns: array of entry name strings
Sürüm Notları
v38Sürüm Notları
v39Updated:
checkVar()
Plot a string as a label on the chart to test variable value. Use str.tostring() for any variable that isn't a string.
Returns: Label with stringified variable
Sürüm Notları
v40Updated:
checkVar()
Plot a string as a label on the chart to test variable value. Use str.tostring() for any variable that isn't a string.
Returns: Label with stringified variable
getOrderAlertMessage()
Generates a string for one or more orders to be placed on exchange using Alertatron
Returns: string to be passed to Alertatron
getTrailingStopAlertMessage()
Generates a string for the alert message needed to cancel all unfilled orders with the matching strategy tag
Returns: string to be passed to Alertatron
Sürüm Notları
v41Sürüm Notları
v42Added "%p" to profitTargetAmounts
Sürüm Notları
v43Added \n to end of each alert message part to see if I can force some line breaks in the code.
Sürüm Notları
v44Sürüm Notları
v45Sürüm Notları
v46Sürüm Notları
v47Updated:
getOrderAlertMessage()
Generates a string for one or more orders to be placed on exchange using Alertatron
Returns: string to be passed to Alertatron
getTrailingStopAlertMessage()
Generates a string for the alert message needed to trail the best price a certain distance
Returns: string to be passed to Alertatron
Sürüm Notları
v48Sürüm Notları
v49Sürüm Notları
v50Updated:
getLadderInSteps()
Constructs arrays used for creating strategy entry orders via a for loop
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
Sürüm Notları
v51Sürüm Notları
v52Updated:
getLadderOutSteps()
Constructs arrays used for creating strategy exit orders via a for loop
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
Sürüm Notları
v53Sürüm Notları
v54Sürüm Notları
v55Sürüm Notları
v56Sürüm Notları
v57Sürüm Notları
v58Sürüm Notları
v59Merged all of the Alertatron alert message functions into a single one.
Sürüm Notları
v60Removed old functions not being used anymore
Sürüm Notları
v61trying to fix a bug.
Sürüm Notları
v62Added:
taGetDirectionalIndex()
Calculates the Directional Index based on a DI Length
Returns: directional index (float)
Sürüm Notları
v64Added:
getAlertatronMarketEntryMessage()
Generates Alertatron alert message for a market entry
Returns: string of instructions for Alertatron to market enter
side, amount, position, reduceOnly) =>
getAlertatronMarketExitMessage()
Generates Alertatron alert message for a market exit
Returns: string of instructions for Alertatron to market close a position
Sürüm Notları
v65Fixed the offset and limit offset.
Sürüm Notları
v66Added:
taGetExtremes()
Calculates and average, min, and max for provided series using a lookback period and sample size
Returns: Min, Max, and Average values
getLeveragedPercentAmount()
Calulates the amount for an etnry based on leverage and percent of account you want to use
Returns: float
Sürüm Notları
v67Updating library to fix issue where using "Percent of Account" and leverage don't use correct quantity on bybit.
Sürüm Notları
v68Hotfix for leverage percent calulation.
Removed:
getLeveragedPercentAmount()
Calulates the amount for an etnry based on leverage and percent of account you want to use
Sürüm Notları
v69Hot fix to fix issue where Stop limit and stop limit offset were reversed on the exchange.
Sürüm Notları
v70removing adjustment of lot size so we can use the standard lot size input in a strategy.
Sürüm Notları
v71Update Alertatron Market orders to include tags for the pair and cancel any existing orders before placing new ones.
Fixes issue where conditional orders were left on the exchange.
Sürüm Notları
v74Added:
convertTimeframeToString()
Sürüm Notları
v75Added Support/Resistance functions to the lib.
Sürüm Notları
v76small update to the S/R function names.
Sürüm Notları
v77Added:
taGetPercentDif()
Calculate the percent difference between two numbers
@retunrs the percentage difference between the two numbers
Sürüm Notları
v78Updated:
taGetDirectionalIndex()
Calculates the Plust and Minus Directional Index and the distance betwen the two
Returns: The value of DI Plus, DI Minus, & Distance between them
Sürüm Notları
v79Updated convertTimeframeToString() to support current chart timeframe
Sürüm Notları
v80Added:
getAlertatronAlertMessageMarketClosePercentOfPosition()
Sürüm Notları
v81Includes a function to get the entry amount and contract count for TradingView Strategies and alert messages to Alertatron.
Added:
getLotSize()
Sürüm Notları
v82Added function to get Alertatron pair override provided in strategy settings.
Added:
getPairOverrides()
Sürüm Notları
Fixed the overloaded function issue that was introduced with the latest version of Pine.Sürüm Notları
v84Fixed a bug that was introduced when TV added the "P" to the end of "USDT.P" recently.
Sürüm Notları
v85Fixed the getChartSymbol() function by adding support for "USDT.P"
Sürüm Notları
v86Base Currency Bug fix
Sürüm Notları
v87Adding support for USD.P currency.
Sürüm Notları
v88Fixing issue where traditional stocks don't work because they don't have a base currency listed as part of the pair.
Sürüm Notları
v89Added:
getAlertatronOcoMessage()
Generates Alertatron alert message for a market entry with a stop loss and profit target
Returns: string of instructions for Alertatron to create an OCO order
Sürüm Notları
v90Fixed stop stopLimitOffset in getStop when using "price" as the type.
Sürüm Notları
v91Added:
taGetSmoothedVwap()
Sürüm Notları
v92Updated:
- getAlertatronMarketEntryMessage()
- getAlertatronMarketExitMessage()
Changes:
- Functions now require a "strategyKey" to be passed which is used to add additional clarity to the tagging structure. This allows multiple strategies to share a single account on the same trading pair.
Sürüm Notları
v95Added:
wavetrend(source, channelLength, avg, movingAverageLength, oversoldLevel, overboughtLevel)
Calculates Wavetrend
Parameters:
source
channelLength
avg
movingAverageLength
oversoldLevel
overboughtLevel
Returns: Tupple [waveTrend1, waveTrend2, wtOversold, wtOverbought, wtCross, wtCrossUp, wtCrossDown]
Pine kitaplığı
Gerçek TradingView ruhuyla, yazar bu Pine kodunu açık kaynaklı bir kütüphane olarak yayınladı, böylece topluluğumuzdaki diğer Pine programcıları onu yeniden kullanabilir. Yazara saygı! Bu kütüphaneyi özel olarak veya diğer açık kaynaklı yayınlarda kullanabilirsiniz, ancak bu kodun bir yayında yeniden kullanımı Site Kuralları tarafından yönetilmektedir.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.
Pine kitaplığı
Gerçek TradingView ruhuyla, yazar bu Pine kodunu açık kaynaklı bir kütüphane olarak yayınladı, böylece topluluğumuzdaki diğer Pine programcıları onu yeniden kullanabilir. Yazara saygı! Bu kütüphaneyi özel olarak veya diğer açık kaynaklı yayınlarda kullanabilirsiniz, ancak bu kodun bir yayında yeniden kullanımı Site Kuralları tarafından yönetilmektedir.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.