PINE LIBRARY

SAT_BACKTEST @description TODO: Regroupement of useful functions

Aggiornato
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)]
Note di rilascio
v2

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
Note di rilascio
v3

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
Note di rilascio
v4

Added:
strategy_table(showTable, showHodl)
  if strategy return table strategy table
  Parameters:
    showTable (bool)
    showHodl (bool)
  Returns: table strategy table
Note di rilascio
v5

Updated:
strategy_table(showTable, darkTheme)
  if strategy return table strategy table
  Parameters:
    showTable (bool)
    darkTheme (bool)
  Returns: table strategy table
Note di rilascio
v6
Note di rilascio
v7

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]
Note di rilascio
v8

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).
Note di rilascio
v9

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
Note di rilascio
v10
Note di rilascio
v11
Note di rilascio
v12
Note di rilascio
v13

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
Note di rilascio
v14

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
Note di rilascio
v15
Note di rilascio
v16

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
Note di rilascio
v17

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)
Note di rilascio
v18

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]
Note di rilascio
v19
Note di rilascio
v20
Note di rilascio
v21

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
Note di rilascio
v22
Note di rilascio
v23
Note di rilascio
v24

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]
Note di rilascio
v25

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)
Note di rilascio
v26

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
Note di rilascio
v27
Note di rilascio
v28
Note di rilascio
v29

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
alertsbacktestingstrategies

Libreria Pine

In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Un saluto all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.


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
Anche su:

Declinazione di responsabilità