Re: Something interesting please post here (Metatrader)

2473
mcgyver wrote: Wed Dec 07, 2022 7:06 am Hi @Bilbao,
I found following from long time ago.
Do anyone know if there is a newer further developed set of this available? i searched over many days now and could not find anything.
The strategy is really great but I'm searching for a detailled english explanation.
Would be great if someone could support on that.
Thansk
Hold must be it!
Forex trading strategy "Day Trade" refers to scalping and indicator systems, to use which you must first install a package of special indicators to determine the entry, which you can download below. The Day Trade trading strategy is suitable for trading on all currency pairs and any time intervals. The optimal time for trading operations should be limited to the European and American sessions, during the period of the highest activity and market volatility. Since the Day Trade strategy is closer to scalping, with a take profit of 10-20 points, when choosing a broker, pay attention to the spread. As a rule, all ECN brokers do not overestimate the spread, which will directly increase your profit. After downloading the Day Trade strategy file, the following are provided: Indicators: Day_signal_ultra.ex4 Day_signal_arrow.ex4 Day_open_line.ex4 Day_Look.ex4 Day_Heiken_Ashi.ex4 Day_Expl_D1.ex4 Day_Bar.ex4 After installation, all indicators should be distributed in the following windows and do not forget to set the DLL import permission in the settings . Also customize the color scheme of all indicators to your taste. In this example, the primary colors were chosen to be red and green for the white background of the chart. (In the basic version, the colors white and red can be used for a dark background). Additionally, a Smoothed Moving Average with a period of 5 and a shift of 2 is set on the working price chart (Period=5, Shift=2). All transactions according to the Day Trade trading strategy should be opened according to the trend, in relation to the current time frame. Graphical signals of indicators of the Day Trade strategy to buy On chart 1, signal bars and histograms are marked with a vertical red line. 1. The Day_signal_arrow indicator should generate and visually display an upward arrow on the main chart. 2. The price must cross the line of the Day_signal_ultra indicator from below or may already be above it. 3. The Day_Look histogram bar, located in a separate window below, should be green and located above the zero level. 4. The bar of the daily histogram Day_Expl_D1, located in a separate window below, should be green and located above the zero level and the yellow moving average. 5. After all the above conditions are met, open a long Buy position after the Heiken Ashi candle closes. Chart 1. Signals to buy according to the Day Trade strategy Graphical signals of indicators of the Day Trade strategy to sell 1. The Day_signal_arrow indicator should generate and visually display an arrow pointing down on the main chart. 2. The price must cross the line of the Day_signal_ultra indicator from top to bottom or may already be below it. 3. The Day_Look histogram bar, located in a separate window below, should be red and located below the zero level. 4. The bar of the daily histogram Day_Expl_D1, located in a separate window below, should also be red and located above the zero level and the yellow moving average. 5. After all the above conditions are met, open a short Sell position after the Heiken Ashi candle closes. Chart 2. Signals to sell according to the Day Trade trading strategy After opening a trading position, we set a protective Stop Loss order and a Take Profit profit-taking level at a distance of 20 points from the entry. When the profit reaches 10 points, the protection order is transferred to the breakeven position. As you can see for yourself, the Day Trade trading strategy is relatively simple, but the tracking of open positions can be varied based on your own preferences, for example, using a trailing stop to take more profit during strong impulse movements.
These users thanked the author dmnik for the post (total 2):
mcgyver, Sepo
Who knows others is wise
Who knows himself is enlightened

Re: Something interesting please post here (Metatrader)

2474
hello experts
i find the below code from trading view and seems good
if any similiar indicator in mt4 , please post or can convert this to mt4 much better

Code: Select all

// ██████╗░░░░░░██╗░█████╗░██████╗░░██████╗░██╗░░░██╗███╗░░░███╗
// ██╔══██╗░░░░░██║██╔══██╗██╔══██╗██╔════╝░██║░░░██║████╗░████║
// ██████╦╝░░░░░██║██║░░██║██████╔╝██║░░██╗░██║░░░██║██╔████╔██║
// ██╔══██╗██╗░░██║██║░░██║██╔══██╗██║░░╚██╗██║░░░██║██║╚██╔╝██║
// ██████╦╝╚█████╔╝╚█████╔╝██║░░██║╚██████╔╝╚██████╔╝██║░╚═╝░██║
// ╚═════╝░░╚════╝░░╚════╝░╚═╝░░╚═╝░╚═════╝░░╚═════╝░╚═╝░░░░░╚═╝

//@version=5
indicator       ("Bjorgum SuperScript", "Bj SuperScript", true, precision = 3)

// ================================== //
// ---------> User Input <----------- //
// ================================== //

strat           =  input.string ("Bj Reversal", "Select a Strategy"             ,   group= "Strategy Selector"  ,   options= ["Bj Reversal", "MA", "TRM", "RSI Color"])
source          =  input.source (close        , "MA source"                     ,   group= "Strategy Selector")
alphaInput      =  input.float  (0.7          , "T3 Alpha"                      ,   group= "Strategy Selector")

t3vis           =  input.bool   (false        , "Show Tilson MA's"              ,   group= "Strategy Overides"  )
hemavis         =  input.bool   (false        , "Show HEMA MA's"                ,   group= "Strategy Overides"  )  
psarvis         =  input.bool   (false        , "Show PSAR"                     ,   group= "Strategy Overides"  )  
arrowvis        =  input.bool   (false        , "Show Arrows"                   ,   group= "Strategy Overides"  ) 
showTable       =  input.bool   (false        , "Show Bjorgum Buy Rating"       ,   group= "Strategy Overides"  ) 
disable         =  input.bool   (false        , "Disable Current MA"            ,   group= "Strategy Overides"  )

tsistrat        =  input.string ("Fast"       , "TRM Speed Control"             ,   group= "Select a Speed"     ,   options= ["Fast", "Slow"])
rsistrat        =  input.string ("Slow"       , "RSI Bar Color Speed Control"   ,   group= "Select a Speed"     ,   options= ["Slow", "Fast"])

type            =  input.string ("Hollow"     , "Candle Type"                   ,   group= "Heikin-Ashi Overlay",   options= ["Hollow", "Bars", "Candles"])
haover          =  input.bool   (false        , "Overlays HA Plotcandle"        ,   group= "Heikin-Ashi Overlay",   tooltip= "(Must 'mute' main candle series while in use. Toggle '👁' symbol next to ticker name to hide candles)")
rPrice          =  input.bool   (false        , "Actual Close Value"            ,   group= "Heikin-Ashi Overlay",   tooltip= "Displays real close value - useful when using HA overlay")

i_alert_mode    =  input.string (alert.freq_once_per_bar_close, "Alerts Mode"   ,   group= "Variable Alerts"    ,   options= [alert.freq_once_per_bar, alert.freq_once_per_bar_close], tooltip="Using the alert() function call will allow use of only one alert for any of the following selected. Any current settings in the script will be what is saved at the time the alert is set")

BUY4            =  input.bool   (false        , "TRM Buy"                       ,   group= "Variable Alerts"    )
SELL4           =  input.bool   (false        , "TRM Sell"                      ,   group= "Variable Alerts"    )
REVUP           =  input.bool   (false        , "Reversal Up"                   ,   group= "Variable Alerts"    )
REVDWN          =  input.bool   (false        , "Reversal Down"                 ,   group= "Variable Alerts"    )
HCROSSUP        =  input.bool   (false        , "MA Cross Up"                   ,   group= "Variable Alerts"    )
HCROSSDWN       =  input.bool   (false        , "MA Cross Down"                 ,   group= "Variable Alerts"    ) 
RSIUP           =  input.bool   (false        , "RSI Cross Up 50"               ,   group= "Variable Alerts"    )
RSIDWN          =  input.bool   (false        , "RSI Cross Down 50"             ,   group= "Variable Alerts"    )
RSIOB           =  input.bool   (false        , "RSI Cross Up 70"               ,   group= "Variable Alerts"    )
RSIOS           =  input.bool   (false        , "RSI Cross Down 30"             ,   group= "Variable Alerts"    )
RSICD           =  input.bool   (false        , "RSI Cross Down 70"             ,   group= "Variable Alerts"    )
RSICU           =  input.bool   (false        , "RSI Cross Up 30"               ,   group= "Variable Alerts"    )
DATA            =  input.bool   (false        , "TSI Curl Up"                   ,   group= "Variable Alerts"    )
DTAT            =  input.bool   (false        , "TSI Curl Down"                 ,   group= "Variable Alerts"    )
SARUP           =  input.bool   (false        , "Sar Up"                        ,   group= "Variable Alerts"    )
SARDWN          =  input.bool   (false        , "Sar Down"                      ,   group= "Variable Alerts"    )

textSize        =  input.string ("small"      , "Text Size"                     ,   group= "Table"              ,   options= ["tiny", "small", "normal", "large", "huge", "auto"])
tableYpos       =  input.string ("bottom"     , "Position"                      ,   group= "Table"              ,   options= ["top", "middle", "bottom"])
tableXpos       =  input.string ("right"      , ""                              ,   group= "Table"              ,   options= ["left", "center", "right"])

bullRev5        =  input.color  (color.new    (#64b5f6,  0), "", inline= "1"    ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )
bearRev5        =  input.color  (color.new    (#ef5350,  0), "", inline= "1"    ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )

bullRev8        =  input.color  (color.new    (#64b5f6,  0), "", inline= "2"    ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )
bearRev8        =  input.color  (color.new    (#ef5350,  0), "", inline= "2"    ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )

bullRevF        =  input.color  (color.new    (#64b5f6, 80), "", inline= "1"    ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )
bearRevF        =  input.color  (color.new    (#ef5350, 80), "", inline= "2"    ,   group= "T3 MA (Bull, Bear, Fill, Length)"    ) 

bullHema1       =  input.color  (color.new    (#64b5f6, 55), "", inline= "4"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
bearHema1       =  input.color  (color.new    (#d32f2f, 55), "", inline= "4"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

bullHema2       =  input.color  (color.new    (#64b5f6, 45), "", inline= "5"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
bearHema2       =  input.color  (color.new    (#d32f2f, 45), "", inline= "5"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

bullHema3       =  input.color  (color.new    (#64b5f6, 35), "", inline= "6"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
bearHema3       =  input.color  (color.new    (#d32f2f, 35), "", inline= "6"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

bullHema1F      =  input.color  (color.new    (#64b5f6, 85), "", inline= "4"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
bearHema1F      =  input.color  (color.new    (#d32f2f, 85), "", inline= "4"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

bullHema2F      =  input.color  (color.new    (#64b5f6, 80), "", inline= "5"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
bearHema2F      =  input.color  (color.new    (#d32f2f, 80), "", inline= "5"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

bullHema3F      =  input.color  (color.new    (#64b5f6, 75), "", inline= "6"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
bearHema3F      =  input.color  (color.new    (#d32f2f, 75), "", inline= "6"    ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

bullSar         =  input.color  (color.new    (#64b5f6,  0), "", inline= "7"    ,   group= "SAR (Bull, Bear)"                    )
bearSar         =  input.color  (color.new    (#ef5350,  0), "", inline= "7"    ,   group= "SAR (Bull, Bear)"                    )

aLength         =  input.int    (5            , ""  ,   inline="1"              ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )
Length          =  input.int    (8            , ""  ,   inline="2"              ,   group= "T3 MA (Bull, Bear, Fill, Length)"    )

hemaslow        =  input.int    (5            , ""  ,   inline="4"              ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
hemaslow2       =  input.int    (9            , ""  ,   inline="5"              ,   group= "MA (Bull, Bear, Fill, Length, Type)" )
hemaslow3       =  input.int    (21           , ""  ,   inline="6"              ,   group= "MA (Bull, Bear, Fill, Length, Type)" )

maType1         =  input.string ("HEMA"       , ""  ,   inline= "4"             ,   group= "MA (Bull, Bear, Fill, Length, Type)",     options= ["SMA", "EMA", "HEMA", "T3", "DEMA", "TEMA", "HMA", "WMA", "VWMA", "SWMA", "VWAP"])
maType2         =  input.string ("HEMA"       , ""  ,   inline= "5"             ,   group= "MA (Bull, Bear, Fill, Length, Type)",     options= ["SMA", "EMA", "HEMA", "T3", "DEMA", "TEMA", "HMA", "WMA", "VWMA", "SWMA", "VWAP"])
maType3         =  input.string ("HEMA"       , ""  ,   inline= "6"             ,   group= "MA (Bull, Bear, Fill, Length, Type)",     options= ["SMA", "EMA", "HEMA", "T3", "DEMA", "TEMA", "HMA", "WMA", "VWMA", "SWMA", "VWAP"])

bullcol         =  input.color  (#64b5f6      , "Bull Trend Color"              ,   group= "Bar Color"              )
bearcol         =  input.color  (#ef5350      , "Bear Trend Color"              ,   group= "Bar Color"              )
bullrev         =  input.color  (#fff176      , "Bullish Reversal Color"        ,   group= "Bar Color"              )
bearrev         =  input.color  (#fff176      , "Bearish Reversal Color"        ,   group= "Bar Color"              )

hemabull        =  input.color  (#64b5f6      , "MA Bull Color"                 ,   group= "Bar Color"              )
hemabear        =  input.color  (#e91e63      , "MA Bear Color"                 ,   group= "Bar Color"              )
hemahold        =  input.color  (#b2b5be      , "MA Hold Color"                 ,   group= "Bar Color"              )

trmbull         =  input.color  (#3BB3E4      , "TRM Buy"                       ,   group= "Bar Color"              )
trmbear         =  input.color  (#ffeb3b      , "TRM Sell"                      ,   group= "Bar Color"              )
trmhold         =  input.color  (#b2b5be      , "TRM Hold"                      ,   group= "Bar Color"              )

rsi5            =  input.color  (#17ff00      , "RSI 0-5"                       ,   group= "Bar Color"              )
rsi10           =  input.color  (#17ff00      , "RSI 5-10"                      ,   group= "Bar Color"              )
rsi15           =  input.color  (#ffffff      , "RSI 10-15"                     ,   group= "Bar Color"              )
rsi20           =  input.color  (#ffffff      , "RSI 15-20"                     ,   group= "Bar Color"              )
rsi25           =  input.color  (#ffffff      , "RSI 20-25"                     ,   group= "Bar Color"              )
rsi30           =  input.color  (#ffffff      , "RSI 25-30"                     ,   group= "Bar Color"              )
rsi35           =  input.color  (#ffffff      , "RSI 30-35"                     ,   group= "Bar Color"              )
rsi40           =  input.color  (#ffffff      , "RSI 35-40"                     ,   group= "Bar Color"              )
rsi45           =  input.color  (#ffffff      , "RSI 40-45"                     ,   group= "Bar Color"              )
rsi50           =  input.color  (#ffffff      , "RSI 45-50"                     ,   group= "Bar Color"              )
rsi55           =  input.color  (#2196f3      , "RSI 50-55"                     ,   group= "Bar Color"              )
rsi60           =  input.color  (#2196f3      , "RSI 55-60"                     ,   group= "Bar Color"              )
rsi65           =  input.color  (#2196f3      , "RSI 60-65"                     ,   group= "Bar Color"              )
rsi70           =  input.color  (#2196f3      , "RSI 65-70"                     ,   group= "Bar Color"              )
rsi75           =  input.color  (#2196f3      , "RSI 70-75"                     ,   group= "Bar Color"              )
rsi80           =  input.color  (#2196f3      , "RSI 75-80"                     ,   group= "Bar Color"              )
rsi85           =  input.color  (#9c27b0      , "RSI 80-85"                     ,   group= "Bar Color"              )
rsi90           =  input.color  (#9c27b0      , "RSI 85-90"                     ,   group= "Bar Color"              )
rsi95           =  input.color  (#ff0000      , "RSI 90-95"                     ,   group= "Bar Color"              )
rsi100          =  input.color  (#ff0000      , "RSI 95-100"                    ,   group= "Bar Color"              )

longf           =  input.int    (25           , "Long Length"                   ,   group= "TSI Fast Settings"      )
shortf          =  input.int    (5            , "Short Length"                  ,   group= "TSI Fast Settings"      )
signalf         =  input.int    (14           , "Signal Length"                 ,   group= "TSI Fast Settings"      )
lenf            =  input.int    (5            , "RSI Length"                    ,   group= "TSI Fast Settings"      )

longs           =  input.int    (25           , "Long Length"                   ,   group= "TSI Slow Settings"      )
shorts          =  input.int    (13           , "Short Length"                  ,   group= "TSI Slow Settings"      )
signals         =  input.int    (13           , "Signal Length"                 ,   group= "TSI Slow Settings"      )
lens            =  input.int    (14           , "RSI Length"                    ,   group= "TSI Slow Settings"      )

start           =  input.float  (.043         , "Start"                         ,   group="PSAR"                    )   
inc             =  input.float  (.043         , "Increment"                     ,   group="PSAR"                    )
max             =  input.float  (.34          , "Max"                           ,   group="PSAR"                    )

// ================================== //
// -----> Immutable Constants <------ //
// ================================== //

cell1           =  color.new    (color.silver , 80)

bjrev           =  strat        == "Bj Reversal"
hema            =  strat        == "MA"
trm             =  strat        == "TRM" 
rsicol          =  strat        == "RSI Color"

tsifast         =  tsistrat     == "Fast"
tsislow         =  tsistrat     == "Slow" 

rsifast         =  rsistrat     == "Fast"
rsislow         =  rsistrat     == "Slow"

hollow          =  type         == "Hollow" 
bars            =  type         == "Bars"
candle          =  type         == "Candles"

shortvar        =  tsifast ?    shortf  : shorts   
longvar         =  tsifast ?    longf   : longs    
signalvar       =  tsifast ?    signalf : signals  

len             =  tsifast ?    lenf    :
                   tsislow ?    lens    :
                   rsifast ?    lenf    :
                   rsislow ?    lens    : lens

// ================================== //
// ---> Functional Declarations <---- //
// ================================== //

_gd(src, length, alpha) =>
    float result = ta.ema(src, length) * (1 + alpha) - ta.ema(ta.ema(src, length), length) * alpha

_t3(src, length, alpha = 0.7) =>
    float result = _gd(_gd(_gd(src, length, alpha), length, alpha), length, alpha)

_dema(src, length) =>
    float ema1   = ta.ema(src,  length)
    float ema2   = ta.ema(ema1, length)
    float result = 2 * ema1 - ema2

_tema(src, length) =>
    float ema1   = ta.ema(src,  length)
    float ema2   = ta.ema(ema1, length)
    float ema3   = ta.ema(ema2, length)
    float result = 3 * (ema1 - ema2) + ema3

_haVal()         =>
    float _c     =  (open + high + low + close) / 4
    float _o     =  float(na)
    _o          :=  na(_o[1])  ? (open + close) / 2 : (nz(_o[1]) + nz(_c[1])) / 2
    float _h     =  math.max     (high , math.max     (_o,  _c))
    float _l     =  math.min     (low  , math.min     (_o,  _c))
    [_o, _h, _l, _c]

[o_,h_,l_,c_]   =  _haVal       ()

_ma(src, type, length) =>
    float result = switch type
        "EMA"  => ta.ema (src, length)
        "HEMA" => ta.ema (o_,  length)
        "SMA"  => ta.sma (src, length)
        "HMA"  => ta.hma (src, length)
        "WMA"  => ta.wma (src, length)
        "VWMA" => ta.vwma(src, length)
        "DEMA" => _dema  (src, length)
        "TEMA" => _tema  (src, length)
        "T3"   => _t3    (src, length, alphaInput)
        "SWMA" => ta.swma(src)
        "VWAP" => ta.vwap(src)

_alert(cond, txt)  =>
    if cond
        alert      (txt + timeframe.period + ' chart. Price is ' + str.tostring(close), i_alert_mode)

_triGrad(src, min, max, midCol, bearCol, bullCol) =>
    float center = min + (max - min) / 2
    color result = src >= center ? 
      color.from_gradient(src, center, max, midCol, bullCol) : 
      color.from_gradient(src, min, center, bearCol, midCol)

_populate(id, names, syms, col1, col2) =>
    if showTable 
        for [i, a] in names
            s = array.get(syms, i)
            table.cell(table_id= id, column= 0, row= i, bgcolor= cell1,     text= a, text_color= col1, text_size= textSize)
            table.cell(table_id= id, column= 1, row= i, bgcolor= color(na), text= s, text_color= col2, text_size= textSize)

// ================================== //
// ----> Variable Calculations <----- //
// ================================== //

tsi             =  ta.tsi           (close ,    shortvar,   longvar   )
tsl             =  ta.ema           (tsi   ,    signalvar             )
rsi             =  ta.rsi           (close ,    len                   )

anT3Average     =  _t3              (source,    aLength,    alphaInput)
nT3Average      =  _t3              (source,    Length,     alphaInput)

bjhemaslow      =  _ma              (source,    maType1,    hemaslow  )
bjhemaslow2     =  _ma              (source,    maType2,    hemaslow2 )
bjhemaslow3     =  _ma              (source,    maType3,    hemaslow3 )
bjhemafast      =  ta.ema           (hl2   ,    1                     )

sar             =  ta.sar           (start ,    inc,        max       )

// ================================== //
// ----> Conditional Parameters <---- //
// ================================== //

hadu            =  c_ >= o_

buy1            =  ta.crossover     (tsi,tsl) and   rsi > 50
buy2            =  ta.crossover     (rsi,50)  and   tsi > tsl
buy3            =  ta.crossover     (tsi,tsl) and   ta.crossover    (rsi,50)

sell1           =  ta.crossunder    (tsi,tsl) and   rsi < 50
sell2           =  ta.crossunder    (rsi,50)  and   tsi < tsl
sell3           =  ta.crossunder    (tsi,tsl) and   ta.crossunder   (rsi,50)

rsicross        =  ta.cross         (rsi,           50) 
rsiup           =  ta.crossover     (rsi,           50) 
rsidwn          =  ta.crossunder    (rsi,           50) 
rsiob           =  ta.crossover     (rsi,           70) 
rsios           =  ta.crossunder    (rsi,           30) 
rsicd           =  ta.crossunder    (rsi,           70) 
rsicu           =  ta.crossover     (rsi,           30) 

revbar          =  ta.cross         (close,         nT3Average)
trendbar        =  ta.cross         (nT3Average,    anT3Average)
revup           =  ta.crossover     (close,         nT3Average)
revdwn          =  ta.crossunder    (close,         nT3Average)

emasig          =  ta.cross         (close,         bjhemaslow)     and     ta.cross     (close,    bjhemaslow2)

hemauc          =                   (close>         bjhemaslow)     and     (close >                bjhemaslow2)
hemadc          =                   (close<         bjhemaslow)     and     (close <                bjhemaslow2)

crossup1        =  ta.crossover     (close,         bjhemaslow)     and     (close >                bjhemaslow2)
crossup2        =  ta.crossover     (close,         bjhemaslow2)    and     (close >                bjhemaslow)
crossup3        =  ta.crossover     (close,         bjhemaslow2)    and     ta.crossover (close,    bjhemaslow)

crossdown1      =  ta.crossunder    (close,         bjhemaslow)     and     (close <                bjhemaslow2)
crossdown2      =  ta.crossunder    (close,         bjhemaslow2)    and     (close <                bjhemaslow)
crossdown3      =  ta.crossunder    (close,         bjhemaslow2)    and     ta.crossunder(close,    bjhemaslow)

sarup           =  ta.crossover     (close,         sar)
sardwn          =  ta.crossunder    (close,         sar)

Hcrossup        =  crossup1   or    crossup2   or   crossup3
Hcrossdwn       =  crossdown1 or    crossdown2 or   crossdown3

buy4            =  buy1  or buy2    or buy3
sell4           =  sell1 or sell2   or sell3

buy             =  tsi > tsl  and   rsi > 50
sell            =  tsi < tsl  and   rsi < 50 

data            =  tsi < tsl  and   tsi > tsi   [1]  
dtat            =  tsi > tsl  and   tsi < tsi   [1]  

colOne          =  anT3Average  >   anT3Average [1] 
upCol           =  nT3Average   >   nT3Average  [1] 
fillData        =  anT3Average  >   nT3Average   

uc              =  (anT3Average >=  nT3Average) and (close > nT3Average) 
dc              =  (anT3Average <=  nT3Average) and (close < nT3Average)   
dr              =  (anT3Average >=  nT3Average) and (close < nT3Average)  
ur              =  (anT3Average <=  nT3Average) and (close > nT3Average)  
  
hauc            =  (anT3Average >=  nT3Average) and (c_    > nT3Average) 
hadc            =  (anT3Average <=  nT3Average) and (c_    < nT3Average) 
hadr            =  (anT3Average >=  nT3Average) and (c_    < nT3Average) 
haur            =  (anT3Average <=  nT3Average) and (c_    > nT3Average) 

up              =  bjhemaslow   >   bjhemaslow  [1]
up2             =  bjhemaslow2  >   bjhemaslow2 [1]
up3             =  bjhemaslow3  >   bjhemaslow3 [1]

hfillData       =  bjhemaslow   <   bjhemafast
hfillDtat       =  bjhemaslow2  <   bjhemaslow
hfillDat        =  bjhemaslow3  <   bjhemaslow2

ema1            =  bjhemaslow   <   close
ema2            =  bjhemaslow2  <   close
ema3            =  bjhemaslow3  <   close

sarUp           =  close        >=  sar
rsiUp           =  rsi          >   50
tsiUp           =  tsi          >   tsl
rsiH            =  rsi          >=  90 or      rsi <= 10

// ================================== //
// ------> Statistical Rating <------ //
// ================================== //

names           =  array.from(
                   "TRM"                                    ,
                   "Rev"                                    ,
                   "Curl"                                   ,
                   "RSI"                                    ,
                   "TSI"                                    ,
                   str.format("{0} {1}", maType1, hemaslow) ,
                   str.format("{0} {1}", maType2, hemaslow2),
                   str.format("{0} {1}", maType3, hemaslow3),
                   "SAR"                                    )

syms            =  array.from(
                   buy   ? "✅" : sell ? "❌" : "➖" ,
                   uc    ? "✅" : dc   ? "❌" : "🔸" , 
                   data  ? "✅" : dtat ? "❌" : "➖" ,
                   rsiH  ? "🔥": rsiUp ? "✅" : "❌" ,                           
                   tsiUp ? "✅" :        "❌"        ,
                   ema1  ? "✅" :        "❌"        ,
                   ema2  ? "✅" :        "❌"        ,
                   ema3  ? "✅" :        "❌"        ,
                   sarUp ? "✅" :        "❌"        ) 

sigs            =  array.from(
                   buy   ?  1   : sell ?  -1   : 0    ,
                   uc    ?  1   : dc   ?  -1   : 0    ,
                   data  ?  1   : dtat ?  -1   : 0    ,
                   rsiUp ?  1   :         -1          ,
                   tsiUp ?  1   :         -1          ,
                   ema1  ?  1   :         -1          ,
                   ema2  ?  1   :         -1          ,
                   ema3  ?  1   :         -1          ,
                   sarUp ?  1   :         -1          ) 

sigSum          = array.sum (sigs)

tabCol          = _triGrad  (sigSum, -6, 6, color.gray, #ff0000, color.green)

var stats       = table.new (position=tableYpos + "_" + tableXpos, columns=2, rows=9, border_color= color.new(color.gray, 60), border_width=1)

_populate         (stats, names, syms, tabCol, tabCol)

// ================================== //
// ------> Graphical Display <------- //
// ================================== //

color2          =  colOne    ?  bullRev5      : bearRev5 
myColor         =  upCol     ?  bullRev8      : bearRev8 

revFillCol      =  fillData  ?  bullRevF      : bearRevF 
hfillCol1       =  hfillData ?  bullHema1F    : bearHema1F 
hfillCol2       =  hfillDtat ?  bullHema2F    : bearHema2F
hfillCol3       =  hfillDat  ?  bullHema3F    : bearHema3F 

mycolor         =  up        ?  bullHema1     : bearHema1
mycolor2        =  up2       ?  bullHema2     : bearHema2
mycolor3        =  up3       ?  bullHema3     : bearHema3

colUp           =  sarUp     ?  bullSar       : bearSar
hadefval        =  hadu      ?  bullcol       : bearcol

trmcolor        =  buy       ?  trmbull       : sell        ?       trmbear     :   trmhold
hemabar         =  hemauc    ?  hemabull      : hemadc      ?       hemabear    :   hemahold 

rsicon          =  rsi > 0  and rsi <= 5  ? rsi5  :
                   rsi > 5  and rsi <= 10 ? rsi10 :
                   rsi > 10 and rsi <= 15 ? rsi15 :
                   rsi > 15 and rsi <= 20 ? rsi20 :
                   rsi > 20 and rsi <= 25 ? rsi25 :
                   rsi > 25 and rsi <= 30 ? rsi30 :
                   rsi > 30 and rsi <= 35 ? rsi35 :
                   rsi > 35 and rsi <= 40 ? rsi40 :
                   rsi > 40 and rsi <= 45 ? rsi45 :
                   rsi > 45 and rsi <= 50 ? rsi50 :
                   rsi > 50 and rsi <= 55 ? rsi55 :
                   rsi > 55 and rsi <= 60 ? rsi60 :
                   rsi > 60 and rsi <= 65 ? rsi65 :
                   rsi > 65 and rsi <= 70 ? rsi70 :
                   rsi > 70 and rsi <= 75 ? rsi75 :
                   rsi > 75 and rsi <= 80 ? rsi80 :
                   rsi > 80 and rsi <= 85 ? rsi85 :
                   rsi > 85 and rsi <= 90 ? rsi90 :
                   rsi > 90 and rsi <= 95 ? rsi95 :
                   rsi > 95 and rsi <= 100? rsi100: hadefval

bjrevcol        =  uc        ?  bullcol       : 
                   dc        ?  bearcol       :
                   dr        ?  bearrev       :
                   ur        ?  bullrev       : na
 
habjrevcol      =  hauc      ?  bullcol       :
                   hadc      ?  bearcol       :
                   hadr      ?  bearrev       :
                   haur      ?  bullrev       : hadefval

barColor        =  trm       ?  trmcolor      : 
                   bjrev     ?  bjrevcol      : 
                   rsicol    ?  rsicon        : 
                   hema      ?  hemabar       : na

habarColor      =  trm       ?  trmcolor      : 
                   bjrev     ?  habjrevcol    : 
                   rsicol    ?  rsicon        : 
                   hema      ?  hemabar       : na

p2              =  plot     ((t3vis   or (not disable and bjrev)) ? anT3Average : na, "T3 Fast" , color2  )
p1              =  plot     ((t3vis   or (not disable and bjrev)) ? nT3Average  : na, "T3 Slow" , myColor )

hemaslowplot    =  plot     ((hemavis or (not disable and hema))  ? bjhemaslow  : na, 'EMA 5'   , mycolor )
hemaslowplot2   =  plot     ((hemavis or (not disable and hema))  ? bjhemaslow2 : na, 'EMA 9'   , mycolor2)
hemaslowplot3   =  plot     ((hemavis or (not disable and hema))  ? bjhemaslow3 : na, 'EMA 21'  , mycolor3)

hemafastplot    =  plot     (bjhemafast , 'EMA fast', #FF000000 , display=display.none, editable=false)

fill               (hemaslowplot , hemafastplot , color= hemavis or hema  ? hfillCol1  : na, title= "5 - Plot Fill")
fill               (hemaslowplot , hemaslowplot2, color= hemavis or hema  ? hfillCol2  : na, title= "5 - 9 Fill"   )
fill               (hemaslowplot2, hemaslowplot3, color= hemavis or hema  ? hfillCol3  : na, title= "9 - 21 Fill"  )
fill               (p1           , p2           , color= t3vis   or bjrev ? revFillCol : na, title= "T3 Fill"      )

plotshape          (arrowvis ? data   : na, style=shape.triangleup,   location=location.belowbar, color= #17ff00, title="Curl Up"  )
plotshape          (arrowvis ? dtat   : na, style=shape.triangledown, location=location.abovebar, color= #FFEB3B, title="Curl Down")

plot               (psarvis  ? sar    : na, "SAR"       , colUp     , style=   plot.style_circles  , linewidth= 1)
plot               (rPrice   ? close  : na, "Real Close", habarColor, trackprice=true, offset=-9999, editable=  false)

candleCol       =  haover and hollow  ? c_ < o_  ? habarColor : na :
                   haover and candle  ?            habarColor : na

wickCol         =  (hollow or candle) and haover ? #b2b5be    : na
borderCol       =  (hollow or candle) and haover ? habarColor : na
barCol          =  haover and bars               ? habarColor : na

plotcandle         (o_, h_, l_, c_, "Hollow Candles", candleCol, wickCol, bordercolor= borderCol)
plotbar            (o_, h_, l_, c_, 'Heikin-Ashi'   , barCol) 

barcolor           (color=barColor)

// ================================== //
// -----> Alert Functionality <------ //
// ================================== //

alertcondition     (buy4        ,   "TRM Buy"           ,   "TRM Buy on {{interval}} chart. Price is {{close}}"                     )
alertcondition     (sell4       ,   "TRM Sell"          ,   "TRM Sell on {{interval}} chart. Price is {{close}}"                    )
alertcondition     (revbar      ,   "Bj Reversal"       ,   "Reversal candle is forming on {{interval}} chart. Price is {{close}}"  )
alertcondition     (trendbar    ,   "T3 Crossing T3"    ,   "A new trend may be forming on {{interval}} chart. Price is {{close}}"  )
alertcondition     (revup       ,   "Reversal Up"       ,   "Reversal up on {{interval}} chart. Price is {{close}}"                 )
alertcondition     (revdwn      ,   "Reversal Down"     ,   "Reversal down on {{interval}} chart. Price is {{close}}"               )
alertcondition     (emasig      ,   "MA Alert"          ,   "Price is crossing MAs on {{interval}} chart. Price is {{close}}"       )
alertcondition     (Hcrossup    ,   "MA Cross Up"       ,   "MA crossed up on {{interval}} chart. Price is {{close}}"               )    
alertcondition     (Hcrossdwn   ,   "MA Cross Down"     ,   "MA crossed down on {{interval}} chart. Price is {{close}}"             )
alertcondition     (rsicross    ,   "RSI Signal"        ,   "RSI crossed 50 on {{interval}} chart. Price is {{close}}"              )
alertcondition     (rsiup       ,   "RSI Cross Up"      ,   "RSI crossed up 50 on {{interval}} chart. Price is {{close}}"           )
alertcondition     (rsidwn      ,   "RSI Cross Down"    ,   "RSI crossed down 50 on {{interval}} chart. Price is {{close}}"         )
alertcondition     (rsiob       ,   "RSI Overbought"    ,   "RSI crossed overbought on {{interval}} chart. Price is {{close}}"      )
alertcondition     (rsios       ,   "RSI Oversold"      ,   "RSI crossed oversold on {{interval}} chart. Price is {{close}}"        )
alertcondition     (rsicd       ,   "RSI momo down"     ,   "RSI crossed down 70 on {{interval}} chart. Price is {{close}}"         )
alertcondition     (rsicu       ,   "RSI momo up"       ,   "RSI crossed up 30 on {{interval}} chart. Price is {{close}}"           )
alertcondition     (data        ,   "TSI Curl Up"       ,   "TSI curled up on {{interval}} chart. Price is {{close}}"               )
alertcondition     (dtat        ,   "TSI Curl Down"     ,   "TSI curled down on {{interval}} chart. Price is {{close}}"             )
alertcondition     (sarup       ,   "Sar Up"            ,   "SAR triggered up {{interval}} chart. Price is {{close}}"               )
alertcondition     (sardwn      ,   "Sar Down"          ,   "SAR triggered down {{interval}} chart. Price is {{close}}"             )

_alert             (buy4        and BUY4                ,   'TRM Buy on '               )
_alert             (sell4       and SELL4               ,   'TRM Sell on '              )
_alert             (revup       and REVUP               ,   'Reversal up on '           )
_alert             (revdwn      and REVDWN              ,   'Reversal down on '         )
_alert             (Hcrossup    and HCROSSUP            ,   'MA crossed up on '         )
_alert             (Hcrossdwn   and HCROSSDWN           ,   'MA crossed down on '       )
_alert             (rsiup       and RSIUP               ,   'RSI crossed up 50 on '     )
_alert             (rsidwn      and RSIDWN              ,   'RSI crossed down 50 on '   )
_alert             (rsiob       and RSIOB               ,   'RSI crossed up 70 on '     )
_alert             (rsios       and RSIOS               ,   'RSI crossed down 30 on '   )
_alert             (rsicd       and RSICD               ,   'RSI crossed down 70 on '   )
_alert             (rsicu       and RSICU               ,   'RSI crossed up 30 on '     )
_alert             (data        and DATA                ,   'TSI curled up on '         )
_alert             (dtat        and DTAT                ,   'TSI curled down on '       )
_alert             (sarup       and SARUP               ,   'SAR triggered up '         )
_alert             (sardwn      and SARDWN              ,   'SAR triggered down '       )


//  ____  __ _  ____ 
// (  __)(  ( \(    \
//  ) _) /    / ) D (
// (____)\_)__)(____/
Attachments
These users thanked the author sal for the post:
RodrigoRT7
"There is NO GOD higher than TRUTH" - Mahatma Gandhi


Re: Something interesting please post here (Metatrader)

2480
Just wanna give a heads up, I released the Intraday Swinging Setup Q4 (first update in a long time) If you wanna go see it

viewtopic.php?p=1295496595#p1295496595

and if you want, leave some feedback, I want to see what happens

Adios Amigos

-simon
Attachments
These users thanked the author simon_n3z for the post (total 2):
Chickenspicy, RodrigoRT7
Check out my Intraday Swinging Setup - Updated Q4 2022... viewtopic.php?p=1295496595#p1295496595


Who is online

Users browsing this forum: alexm, Amazon [Bot], didichung, Google [Bot], Seznam [Bot], Sogou [Bot] and 90 guests