SAT_BACKTEST @description TODO: Regroupement of useful functions

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)]
Added:
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
Added:
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
Added:
strategy_table(showTable, showHodl)
if strategy return table strategy table
Parameters:
showTable (bool)
showHodl (bool)
Returns: table strategy table
Updated:
strategy_table(showTable, darkTheme)
if strategy return table strategy table
Parameters:
showTable (bool)
darkTheme (bool)
Returns: table strategy table
Added:
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]
Added:
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).
Added:
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
Added:
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
Updated:
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
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
Added:
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)
Updated:
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]
Removed:
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
Added:
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]
Updated:
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)
Added:
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
Updated:
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
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.
automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott
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.
automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott