Re: Already Converted TradingView Indicators to MT4 Indicators

371
RodrigoRT7 wrote: Fri Jan 26, 2024 9:53 am it takes your base indicator and imputes two targets of your choice in ticks, % or ATR.

It makes it much easier to configure the best parameters within the indicators.

I'm putting the code + indicator here just for information, but I believe it's worth studying.
These users thanked the author galaxy for the post:
RodrigoRT7
Yeshua is coming back soon
Only the truth can make free

Watch out for the poison thoughts


Re: Already Converted TradingView Indicators to MT4 Indicators

373
RodrigoRT7 wrote: Fri Jan 26, 2024 11:39 am I think you forgot to include the message. anything just edit and include :)
kvak wrote: Sun Aug 13, 2023 5:25 am Motion To Attraction Channel (MTA Channel) with Entry Arrows & Alerts for "Slope" or "Band Cross"

Hello, I modified my version, have separate menu for arrows/alerts for slope or band cross, test it...

PS: For a full description on the MTA channel indicator, please see here.
These users thanked the author galaxy for the post:
RodrigoRT7
Yeshua is coming back soon
Only the truth can make free

Watch out for the poison thoughts


Re: Already Converted TradingView Indicators to MT4 Indicators

376
This is a really good indicator. Is it possible to implement in MT4?

https://www.tradingview.com/script/hb6J ... 0analysis.

Code: Select all

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ChartPrime

//@version=5
indicator("Trendline Breakouts With Targets [ Chartprime ]",shorttitle = "TBT [ Chartprime ]",overlay = true,max_bars_back = 500,max_lines_count = 500)


bool ChartTime              = time > chart.left_visible_bar_time and time < chart.right_visible_bar_time
   
string CORE                 =  "➞ Core Settings 🔸"
var bool TradeisON          = false
var bool LongTrade          = false
var bool ShortTrade         = false
var float TP                = 0.0
var float SL                = 0.0
int BarTIME                 = time - time[1]
var line tpLine             = na
var label LAB               = na
var int UpdatedX            = 0
var float UpdatedY          = 0.0
var float UpdatedSLP        = 0.0
var int UpdatedXLow         = 0
var float UpdatedYLow       = 0.0
var float UpdatedSLPLow     = 0.0


int Period          = input.int(10, title='     Period     ➞',
     group = CORE,
     inline = "001")

bool Trendtype      = input.string(title = "     Type        ➞",
      defval='Wicks',
      options=['Wicks', 'Body'],
      group = CORE,
      inline = "001")
       == 'Wicks'

string Extensions   = input.string(title='     Extend    ➞', 
     defval='  25',
     options=['  25', '  50', '  75'],
     group = CORE,
     inline = "001")


color LineCol1 = input.color(color.rgb(109, 111, 111, 19),"",group = CORE,inline = "001")
bool ShowTargets = input.bool(true,"Show Targets",group = CORE,inline = "002")
     
ExtenSwitcher(ex) =>
    switch ex 
        '  25' => 1 ,
        '  50' => 2 ,
        => 3


WidthSwitcher(ex) =>
    switch ex 
        '1' => 1 ,
        '2' => 2 ,
        => 3 

StyleSwitcher(style) =>
    switch style 
        'Dashed' => line.style_dashed ,
        'Dotted' => line.style_dotted ,
        => line.style_solid 




method volAdj(int len)=>
    math.min(ta.atr(len) * 0.3, close * (0.3/100)) [20] /2

Zband = volAdj(30)




method Trendlines(float src, int timeIndex,bool dir) =>
    
    var int Start = 1 , var int End = 0 , var int TIME = 1
    var float YEnd = 0, var float YStart = 0 , var float Slope = 0
    var line Line1 = line.new(na,na,na,na)
    var line Line2 = line.new(na,na,na,na)
    var line Line3 = line.new(na,na,na,na)
    
    SCR = fixnan(src)
    if ta.change(SCR) != 0
        TIME := time[timeIndex]
        YStart := SCR[1]
        Start := TIME[1]
        Slope := (SCR - YStart) / (TIME - Start)
        Slope

    EXTime = ExtenSwitcher(Extensions) * BarTIME * 25
    End := TIME + EXTime
    YEnd := SCR + EXTime * Slope
    
    if ta.change(SCR) != 0 and not TradeisON[1]
        LineCond = Slope * time < 0 ? dir ? na : color.rgb(11, 139, 7, 53) : dir ?  color.rgb(212, 46, 0, 54) : na
        if not na(LineCond) //and ChartTime
            Line1 := line.new(Start,
                 YStart,
                 End,
                 YEnd,
                 xloc.bar_time,
                 extend.none,
                 color=color.new(color.white,100)
                 )
    
            Line2:=line.new(Start,
                 YStart - (Zband * 2),
                 End,
                 YEnd - (Zband * 2),
                 xloc.bar_time,
                 extend.none,
                 color=color.new(color.black,100)
                 )
                 
            Line3:=line.new(Start,
                 YStart - (Zband * 1),
                 End,
                 YEnd - (Zband * 1),
                 xloc.bar_time,
                 extend.none,
                 color=color.new(color.black,100)
                 )

            linefill.new(Line3,Line2,color= LineCol1)
            linefill.new(Line3,Line1,color= LineCond)
            // linefill.new(Line,Line2,color= color.rgb(28, 15, 2, 76))
           
    [Start, YStart, Slope]



PH = ta.pivothigh(Trendtype ? high : close > open ? close : open, Period, Period / 2)
PL = ta.pivotlow(Trendtype ? low : close > open ? open : close, Period, Period / 2)




method GetlinePrice(int TIME, float Price, float SLOP, int LookB) =>
    var float Current = 0.0
    EsTime = time - TIME
    Current := Price + (EsTime - LookB * BarTIME) * SLOP
    Current
    

method CheckCross(float Price, int StartTime, float StartPrice, float SLP) =>
    var float Current = 0.0
    var float Previous = 0.0
    if StartPrice[Period] != StartPrice
        Current := GetlinePrice(StartTime, StartPrice, SLP, 0) 
        Previous := GetlinePrice(StartTime, StartPrice, SLP, 1)
        Crossover =  Price[1] < Previous and Price > Current ? 1 : Price[1] > Previous - (Zband*0.1) and Price < Current - (Zband*0.1) ? -1 : 0
        Crossover



[Xx, XZ, SLPXZ] = Trendlines(PH, Period / 2,false)
[XxL, XZL, SLPXZL] = Trendlines(PL, Period / 2, true)




if ta.change(fixnan(PH)) != 0
    UpdatedX := Xx
    UpdatedY := XZ
    UpdatedSLP := SLPXZ
    UpdatedSLP
    
if ta.change(fixnan(PL)) != 0
    UpdatedXLow := XxL
    UpdatedYLow := XZL
    UpdatedSLPLow := SLPXZL
    UpdatedSLPLow

Long = not (UpdatedSLP * time > 0) 
     and CheckCross(close, UpdatedX, UpdatedY, UpdatedSLP)== 1
     and not TradeisON
Short = not (UpdatedSLPLow * time < 0)
     and CheckCross(close, UpdatedXLow, UpdatedYLow, UpdatedSLPLow)==-1
     and not TradeisON


TradeFire = Long or Short

if Long and not TradeisON
    LongTrade:= true
    ShortTrade:= false

if Short and not TradeisON
    LongTrade:= false
    ShortTrade:= true


if true 
    if TradeFire and not TradeisON
        TP := switch
            Long  => high + (Zband *20)
            Short => low - (Zband *20)

        SL := switch
            Long  => low - (Zband *20)
            Short => high + (Zband *20)

        TradeisON:= true
        if ShowTargets
            line.new(bar_index,
                 Long ? high : low,
                 bar_index,
                 TP,
                 width=2,
                 color = color.rgb(154, 103, 20),
                 style= line.style_dashed)

            tpLine:= line.new(bar_index,
                 TP,
                 bar_index+2,
                 TP,
                 style= line.style_dashed,
                 color = color.rgb(154, 103, 20)
                 )
            LAB:=label.new(bar_index,
                 TP,
                 "Target",
                 color = color.rgb(154, 103, 20),
                 style= label.style_label_left,
                 size=size.small,
                 textcolor = color.white
                 )
    if TradeisON
        line.set_x2(tpLine,bar_index)
        label.set_x(LAB,bar_index+1)

    if LongTrade and TradeisON
        if high >= TP
            label.set_color(LAB,color.rgb(6, 128, 10, 37))
            TradeisON:=false
        if close <= SL
            label.set_color(LAB,color.new(color.rgb(246, 7, 7),70))
            TradeisON:=false

    else if ShortTrade and TradeisON

        if low <= TP 
            label.set_color(LAB,color.rgb(6, 128, 10, 37))
            TradeisON:=false
            
        if close >= SL 
            label.set_color(LAB,color.new(color.rgb(246, 7, 7),70))   
            TradeisON:=false



plotshape(Long and not TradeisON[1],
     size = size.small,
     color = color.rgb(46, 192, 6, 11),
     location = location.belowbar,
     style = shape.labelup ,
     text = "",
     textcolor = color.white)

plotshape(Short and not TradeisON[1],
     size = size.small,
     color = color.rgb(241, 2, 2, 11),
     location = location.abovebar,
     style = shape.labeldown ,
     text = "",
     textcolor = color.white)

alertcondition(Long and not TradeisON, "BUY!", "BUY!")
alertcondition(Short and not TradeisON, "SELL!", "SELL!")

// -- END -- .

Re: Already Converted TradingView Indicators to MT4 Indicators

377
mrtools wrote: Tue Jan 23, 2024 12:09 pm Added arrows and alerts to the mtf version.
Hello Mr Tools, once again!!

Is there a possibility of you doing the same update of averages + Reg Ma in this indicator?

I've been exploring a lot of similar ones like Half Trend, Turtle Traders (donchian), Std Error bands.

However, this one seems to be different from the ones I mentioned above. Seems like a great trend follower to me




obs: In advance, I wanted to apologize for asking for a second indicator in less than 24 hours. Definitely not in a rush! but I believe it can be useful for members and friends!

A hug on your s2, I will never be able to thank you enough for everything you did for me and everyone on the forum.

Re: Already Converted TradingView Indicators to MT4 Indicators

378
mrtools wrote: Tue Jan 23, 2024 12:09 pm Added arrows and alerts to the mtf version.
Hello Mr Tools, how are you? so a complement to my suggestion on Follow The Lines. If the RMAs is not compatible with this indicator, there is no problem. Just adding the new averages, it's already excellent :D

This indicator is really very interesting for trend following.

Here's another photo + Template for our friends on the forum.
These users thanked the author RodrigoRT7 for the post (total 6):
ixion700, Tur005, Akela, Jimmy, boytoy, BeatlemaniaSA

CodeRe: Already Converted TradingView Indicators to MT4 Indicators

379
RodrigoRT7 wrote: Mon Feb 26, 2024 2:33 am Hello Mr Tools, how are you? so a complement to my suggestion on Follow The Lines. If the RMAs is not compatible with this indicator, there is no problem. Just adding the new averages, it's already excellent :D

This indicator is really very interesting for trend following.

Here's another photo + Template for our friends on the forum.
Follow The Line with Regularized MA's + All Averages (Filters)

All the averages updated with Regularized Moving Averages too.

PS: For more information on this code, please see: Follow The Line + Angle Of Attack indicators.
These users thanked the author mrtools for the post (total 9):
RodrigoRT7, Jimmy, josi, 太虚一毫, thomdel, Krunal Gajjar, Akela, boytoy, A_5

Re: Already Converted TradingView Indicators to MT4 Indicators

380
mrtools wrote: Mon Feb 26, 2024 4:45 am All the averages updated with reg ma too.
Super tks Mr Tools!

another indicator that exceeds my best expectations!!!

ends up being my "reg ma Half Trend", super grateful for this gem, Mr Tools!!

I'm sure it will be super useful for everyone here, a big hug and a great week for you s2
These users thanked the author RodrigoRT7 for the post (total 4):
mrtools, Jimmy, BeatlemaniaSA, thomdel