PINE LIBRARY
Updated SAT_BACKTEST @description TODO: Regroupement of useful functions

Library "SAT_BACKTEST"
ex_timezone(tz)
switch case return exact timezone for timezone input
Parameters:
tz (simple string)
Returns: syminfo.timezone or tz
if_in_date_range(usefromDate, fromDate, usetoDate, toDate, src_timezone, dst_timezone)
if_in_date_range : check if @time_close is range [fromDate, toDate]
Parameters:
usefromDate (simple bool)
fromDate (simple int)
usetoDate (simple bool)
toDate (simple int)
src_timezone (simple string)
dst_timezone (simple string)
Returns: true if @time_close is range [fromDate, toDate]
if_in_session(useSessionStart, sessionStartHour, sessionStartMinute, useSessionEnd, sessionEndHour, sessionEndMinute, useSessionDay, mon, tue, wed, thu, fri, sat, sun, src_timezone, dst_timezone)
if_in_session : check if @time_close is range [(sessionStartHour, sessionStartMinute), (sessionEndHour, sessionEndMinute)]
Parameters:
useSessionStart (simple bool)
sessionStartHour (simple int)
sessionStartMinute (simple int)
useSessionEnd (simple bool)
sessionEndHour (simple int)
sessionEndMinute (simple int)
useSessionDay (simple bool)
mon (simple bool)
tue (simple bool)
wed (simple bool)
thu (simple bool)
fri (simple bool)
sat (simple bool)
sun (simple bool)
src_timezone (simple string)
dst_timezone (simple string)
Returns: true if @time_close is range [(sessionStartHour, sessionStartMinute), (sessionEndHour, sessionEndMinute)]
ex_timezone(tz)
switch case return exact timezone for timezone input
Parameters:
tz (simple string)
Returns: syminfo.timezone or tz
if_in_date_range(usefromDate, fromDate, usetoDate, toDate, src_timezone, dst_timezone)
if_in_date_range : check if @time_close is range [fromDate, toDate]
Parameters:
usefromDate (simple bool)
fromDate (simple int)
usetoDate (simple bool)
toDate (simple int)
src_timezone (simple string)
dst_timezone (simple string)
Returns: true if @time_close is range [fromDate, toDate]
if_in_session(useSessionStart, sessionStartHour, sessionStartMinute, useSessionEnd, sessionEndHour, sessionEndMinute, useSessionDay, mon, tue, wed, thu, fri, sat, sun, src_timezone, dst_timezone)
if_in_session : check if @time_close is range [(sessionStartHour, sessionStartMinute), (sessionEndHour, sessionEndMinute)]
Parameters:
useSessionStart (simple bool)
sessionStartHour (simple int)
sessionStartMinute (simple int)
useSessionEnd (simple bool)
sessionEndHour (simple int)
sessionEndMinute (simple int)
useSessionDay (simple bool)
mon (simple bool)
tue (simple bool)
wed (simple bool)
thu (simple bool)
fri (simple bool)
sat (simple bool)
sun (simple bool)
src_timezone (simple string)
dst_timezone (simple string)
Returns: true if @time_close is range [(sessionStartHour, sessionStartMinute), (sessionEndHour, sessionEndMinute)]
Release Notes
v2Added:
CheckLevels(lvl, entry, isTake, inLong, inShort, inTrade)
if_in_session : Check if the SL/TP is reached
Parameters:
lvl (float)
entry (float)
isTake (bool)
inLong (bool)
inShort (bool)
inTrade (bool)
Returns: float level
Release Notes
v3Added:
CheckLevels2(lvl, isTake, inLong, inShort, inTrade)
if_in_session : Check if the SL/TP is reached
Parameters:
lvl (float)
isTake (bool)
inLong (bool)
inShort (bool)
inTrade (bool)
Returns: bool achievement_status
Release Notes
v4Added:
strategy_table(showTable, showHodl)
if strategy return table strategy table
Parameters:
showTable (bool)
showHodl (bool)
Returns: table strategy table
Release Notes
v5Updated:
strategy_table(showTable, darkTheme)
if strategy return table strategy table
Parameters:
showTable (bool)
darkTheme (bool)
Returns: table strategy table
Release Notes
v6Release Notes
v7Added:
quick_tp_check(goLong, goShort, entry, tp1x, tp2x, tp3x, tp4x, tp5x, tp6x, slx)
Track TakeProfits and StopLoss achievement for one or many of your buy/sell conditions. CHECK the commented section: "Function managetrade" (lines: 14 - 64) for Description
Parameters:
goLong (bool)
goShort (bool)
entry (float)
tp1x (float)
tp2x (float)
tp3x (float)
tp4x (float)
tp5x (float)
tp6x (float)
slx (float)
Returns: TP_achievment status for 6 tps: [uno_hit,dos_hit, tres_hit, quatro_hit, cinco_hit, six_hit, stop_hit]
Release Notes
v8Added:
plot_tpz(darkTheme, useSignal, inLong, inShort, TP1_touched, TP2_touched, TP3_touched, TP4_touched, TP5_touched, TP6_touched, SL_touched)
Track TakeProfits and StopLoss achievement for one or many of your buy/sell conditions. CHECK the commented section: "Function managetrade" (lines: 14 - 64) for Description
Parameters:
darkTheme (bool)
useSignal (bool)
inLong (bool)
inShort (bool)
TP1_touched (bool)
TP2_touched (bool)
TP3_touched (bool)
TP4_touched (bool)
TP5_touched (bool)
TP6_touched (bool)
SL_touched (bool)
Returns: check commented section: "Function managetrade" (lines: 14 - 64).
Release Notes
v9Added:
TP_SL_math(tpType, useTp2, useTp3, useTp4, useTp5, useTp6, rr_pt, reward, tp1x, tp2x, tp3x, tp4x, tp5x, tp6x, slr)
TP_SL_MATH
Parameters:
tpType (string)
useTp2 (bool)
useTp3 (bool)
useTp4 (bool)
useTp5 (bool)
useTp6 (bool)
rr_pt (float)
reward (float)
tp1x (float)
tp2x (float)
tp3x (float)
tp4x (float)
tp5x (float)
tp6x (float)
slr (float)
Returns: PLOTS
Updated:
plot_tpz(darkTheme, useSignal, inLong, inShort, TP1_touched, TP2_touched, TP3_touched, TP4_touched, TP5_touched, TP6_touched, SL_touched)
Plots TakeProfits and StopLoss achievement
Parameters:
darkTheme (bool)
useSignal (bool)
inLong (bool)
inShort (bool)
TP1_touched (bool)
TP2_touched (bool)
TP3_touched (bool)
TP4_touched (bool)
TP5_touched (bool)
TP6_touched (bool)
SL_touched (bool)
Returns: PLOTS
Release Notes
v10Release Notes
v11Release Notes
v12Release Notes
v13Added:
exit_strategy(exit_strategy, inTrade, ID, entry1, tp1, tp2, tp3, tp4, tp5, sl, tp1y, tp2y, tp3y, tp4y, tp5y, tp6y, tp1_hit, tp2_hit, tp3_hit, tp4_hit, tp5_hit, tp6_hit, tp1_touched, tp2_touched, tp3_touched, tp4_touched, tp5_touched, tp6_touched, inShort, inLong)
TP_SL_MATH
Parameters:
exit_strategy (string)
inTrade (bool)
ID (string)
entry1 (float)
tp1 (float)
tp2 (float)
tp3 (float)
tp4 (float)
tp5 (float)
sl (float)
tp1y (float)
tp2y (float)
tp3y (float)
tp4y (float)
tp5y (float)
tp6y (float)
tp1_hit (bool)
tp2_hit (bool)
tp3_hit (bool)
tp4_hit (bool)
tp5_hit (bool)
tp6_hit (bool)
tp1_touched (bool)
tp2_touched (bool)
tp3_touched (bool)
tp4_touched (bool)
tp5_touched (bool)
tp6_touched (bool)
inShort (bool)
inLong (bool)
Returns: PLOTS STRATEGY ACTIONS
Release Notes
v14Updated:
plot_tpz(ID, darkTheme, useSignal, inLong, inShort, TP1_touched, TP2_touched, TP3_touched, TP4_touched, TP5_touched, TP6_touched, SL_touched)
Plots TakeProfits and StopLoss achievement
Parameters:
ID (string)
darkTheme (bool)
useSignal (bool)
inLong (bool)
inShort (bool)
TP1_touched (bool)
TP2_touched (bool)
TP3_touched (bool)
TP4_touched (bool)
TP5_touched (bool)
TP6_touched (bool)
SL_touched (bool)
Returns: PLOTS
Release Notes
v15Release Notes
v16Updated:
plot_tpz(darkTheme, useSignal, inLong, inShort, TP1_touched, TP2_touched, TP3_touched, TP4_touched, TP5_touched, TP6_touched, SL_touched)
Plots TakeProfits and StopLoss achievement
Parameters:
darkTheme (bool)
useSignal (bool)
inLong (bool)
inShort (bool)
TP1_touched (bool)
TP2_touched (bool)
TP3_touched (bool)
TP4_touched (bool)
TP5_touched (bool)
TP6_touched (bool)
SL_touched (bool)
Returns: PLOTS
Release Notes
v17Added:
Draw_Session_Switch_candle(colorSess, route_cond, newDaySession, newsessionPerc, separateDays, Day_Bg, route_color2, retxt_color, low_route, high_route, dailyLow, dailyHigh)
Draw_Session_Switch_candle is designed to draw session switch indicators on a chart.
Parameters:
colorSess (bool)
route_cond (bool)
newDaySession (bool)
newsessionPerc (float)
separateDays (bool)
Day_Bg (color)
route_color2 (color)
retxt_color (string)
low_route (float)
high_route (float)
dailyLow (float)
dailyHigh (float)
Release Notes
v18Updated:
quick_tp_check(goLong, goShort, entry, tp1, tp2, tp3, tp4, tp5, tp6, sl)
Track TakeProfits and StopLoss achievement for one or many of your buy/sell conditions. CHECK the commented section: "Function managetrade" (lines: 14 - 64) for Description
Parameters:
goLong (bool)
goShort (bool)
entry (float)
tp1 (float)
tp2 (float)
tp3 (float)
tp4 (float)
tp5 (float)
tp6 (float)
sl (float)
Returns: TP_achievment status for 6 tps: [trade_started, tp1_touched, tp2_touched, tp3_touched, tp4_touched, tp5_touched, tp6_touched, sl_touched, entry_hit, tp1_hit, tp2_hit, tp3_hit, tp4_hit, tp5_hit, tp6_hit]
Release Notes
v19Release Notes
v20Release Notes
v21Removed:
quick_tp_check(goLong, goShort, entry, tp1, tp2, tp3, tp4, tp5, tp6, sl)
Track TakeProfits and StopLoss achievement for one or many of your buy/sell conditions. CHECK the commented section: "Function managetrade" (lines: 14 - 64) for Description
Release Notes
v22Release Notes
v23Release Notes
v24Added:
quick_tp_check(goLong, goShort, entry, tp1, tp2, tp3, tp4, tp5, tp6, sl)
Track TakeProfits and StopLoss achievement for one or many of your buy/sell conditions. CHECK the commented section: "Function managetrade" (lines: 14 - 64) for Description
Parameters:
goLong (bool)
goShort (bool)
entry (float)
tp1 (float)
tp2 (float)
tp3 (float)
tp4 (float)
tp5 (float)
tp6 (float)
sl (float)
Returns: TP_achievment status for 6 tps: [trade_started, tp1_touched, tp2_touched, tp3_touched, tp4_touched, tp5_touched, tp6_touched, sl_touched, entry_hit, tp1_hit, tp2_hit, tp3_hit, tp4_hit, tp5_hit, tp6_hit]
Release Notes
v25Updated:
Draw_Session_Switch_candle(colorSess, route_cond, newDaySession, newsessionPerc, separateDays, Day_Bg, route_color2, retxt_color, low_route, high_route, dailyLow, dailyHigh, linewidth_nwday, linewidth_nwsessCande)
Draw_Session_Switch_candle is designed to draw session switch indicators on a chart.
Parameters:
colorSess (bool)
route_cond (bool)
newDaySession (bool)
newsessionPerc (float)
separateDays (bool)
Day_Bg (color)
route_color2 (color)
retxt_color (string)
low_route (float)
high_route (float)
dailyLow (float)
dailyHigh (float)
linewidth_nwday (int)
linewidth_nwsessCande (int)
Release Notes
v26Added:
calculateExpectedGrowth(riskRewardRatio, winRate, riskPerTrade, tradesPerDay, tradingDaysPerMonth)
Expected Growth Calculation
Parameters:
riskRewardRatio (int)
winRate (float)
riskPerTrade (float)
tradesPerDay (int)
tradingDaysPerMonth (int)
Returns: float expectedGrowthPerMonth
Updated:
strategy_table(showTable, darkTheme, riskRewardRatio, winRate, riskPerTrade, tradesPerDay, tradingDaysPerMonth)
if strategy return table strategy table
Parameters:
showTable (bool)
darkTheme (bool)
riskRewardRatio (int)
winRate (float)
riskPerTrade (float)
tradesPerDay (int)
tradingDaysPerMonth (int)
Returns: table strategy table
Release Notes
v27Release Notes
v28Release Notes
v29Updated:
added one more TP mode
TP_SL_math(tpType, useTp2, useTp3, useTp4, useTp5, useTp6, rr_pt, reward, tp1x, tp2x, tp3x, tp4x, tp5x, tp6x, slr, perc_from_sl)
TP_SL_MATH
Parameters:
tpType (string)
useTp2 (bool)
useTp3 (bool)
useTp4 (bool)
useTp5 (bool)
useTp6 (bool)
rr_pt (float)
reward (float)
tp1x (float)
tp2x (float)
tp3x (float)
tp4x (float)
tp5x (float)
tp6x (float)
slr (float)
perc_from_sl (float)
Returns: PLOTS
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 publications is governed by House Rules.
Scripts that I post publicly are experimental. They are not financial advices. Always backtest your ideas using your own methodologies.
automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott
automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott
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.
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 publications is governed by House Rules.
Scripts that I post publicly are experimental. They are not financial advices. Always backtest your ideas using your own methodologies.
automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott
automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott
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.