Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback,ย get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

elbone

Trend_Magic Indicator

Recommended Posts

Does anyone recognize this indicator? It was a freebie with some EA promotion last year. I would like to code something similar. It changes color based on some long/short logic. They called it Trend_Magic.

trendmagicH1.jpg.dc00dc3e21033ba5fdd65aee8c99aee0.jpg

Share this post


Link to post
Share on other sites
Does anyone recognize this indicator? It was a freebie with some EA promotion last year. I would like to code something similar. It changes color based on some long/short logic. They called it Trend_Magic.

ย 

if you can define the "long/short logic",

it can be coded.

Edited by Tams

Share this post


Link to post
Share on other sites

Hi elbone E-signal has similar looking indicator called Super trend by Olivier Seban.You can look up in there library.I tryed to send a code for you but i am not good at it. Good luck. Youri

Share this post


Link to post
Share on other sites
Does anyone recognize this indicator? It was a freebie with some EA promotion last year. I would like to code something similar. It changes color based on some long/short logic. They called it Trend_Magic.

ย 

This indicator is CCi based. It is indeed excellent, but there are better. Let me know if and when you need some help with it.

Best wishes.

trend Magic.mq4

Share this post


Link to post
Share on other sites

MQ4 Code by TudorGirl:

ย 

ย 

//+------------------------------------------------------------------+

//| TrendMagic.mq4 |

//| Tidied up by TudorGirl 28 May 2009 |

//| AnneTudor@ymail.com |

//+------------------------------------------------------------------+

ย 

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_width1 2

#property indicator_color2 Red

#property indicator_width2 2

ย 

//+------------------------------------------------------------------+

ย 

extern int CCI = 50;

extern int ATR = 5;

ย 

//+------------------------------------------------------------------+

ย 

double bufferUp[];

double bufferDn[];

ย 

//+------------------------------------------------------------------+

ย 

int init()

{

SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

SetIndexBuffer(0, bufferUp);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);

SetIndexBuffer(1, bufferDn);

return (0);

}

ย 

//+------------------------------------------------------------------+

ย 

int deinit()

{

return (0);

}

ย 

//+------------------------------------------------------------------+

ย 

int start()

{

double thisCCI;

double lastCCI;

ย 

int counted_bars = IndicatorCounted();

if (counted_bars < 0) return (-1);

if (counted_bars > 0) counted_bars--;

int limit = Bars - counted_bars;

ย 

for (int shift = limit; shift >= 0; shift--)

{

thisCCI = iCCI(NULL, 0, CCI, PRICE_TYPICAL, shift);

lastCCI = iCCI(NULL, 0, CCI, PRICE_TYPICAL, shift + 1);

ย 

if (thisCCI >= 0 && lastCCI < 0) bufferUp[shift + 1] = bufferDn[shift + 1];

if (thisCCI <= 0 && lastCCI > 0) bufferDn[shift + 1] = bufferUp[shift + 1];

ย 

if (thisCCI >= 0)

{

bufferUp[shift] = Low[shift] - iATR(NULL, 0, ATR, shift);

if (bufferUp[shift] < bufferUp[shift + 1])

bufferUp[shift] = bufferUp[shift + 1];

}

else

{

if (thisCCI <= 0)

{

bufferDn[shift] = High[shift] + iATR(NULL, 0, ATR, shift);

if (bufferDn[shift] > bufferDn[shift + 1])

bufferDn[shift] = bufferDn[shift + 1];

}

}

}

ย 

return (0);

}

ย 

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

ย 

ย 

//TradeStation Code:

Var:

Up(0),

Dn(0);

ย 

//do not change the inputs for CCI and ATR

ย 

UP = (LOW - AvgTrueRange(5));//plots below the bars

if CCI(50) >= 0 then begin

Plot1( UP, "TrendMagic" ,Blue) ;

Condition1 = True;

end else begin

ย 

DN = (HIGH + AvgTrueRange(5));//plots above the bars

If CCI(50) < 0 then begin

Plot1( DN, "TrendMagic" ,Red) ;

Condition2 = True;

end;end;

ย 

//Alert Conditions

ย 

Condition1 = FALSE ;

Condition2 = False;

if Condition1 then

Alert( "TrendMagicUp" ) ;

if Condition2 then

Alert( "TrendMagicDn" ) ;

Share this post


Link to post
Share on other sites

Hey Sixpence, I found the Trend Magic to be very useful in forex trading as a SL trail method. You mention there a re better ones? Please let me know which ones you are referring to. Thanks

Share this post


Link to post
Share on other sites
Does anyone recognize this indicator? It was a freebie with some EA promotion last year. I would like to code something similar. It changes color based on some long/short logic. They called it Trend_Magic.

ย 

ATR based trailing stop

also refered to as a chandelier stop.

ย 

2trade

Share this post


Link to post
Share on other sites

Is a Trend Following System.

Basically if the Close is above or below the 50 period CCI zero line. The 5 period ATR is used to draw the line above the High or below the Low.

ย 

This is the MT4 code. below it is the Tradestation Code which is much easier to understand regarding how it works.

ย 

-- original MT4 implementation ยฉ TudorGirl (AnneTudor@ymail.com).

ย 

function Init()

indicator:name("TrendMagic Indicator (new version)");

indicator:description("");

indicator:requiredSource(core.Bar);

indicator:type(core.Indicator);

ย 

indicator.parameters:addGroup("Parameters");

indicator.parameters:addInteger("CCI", "CCI", "", 50);

indicator.parameters:addInteger("ATR", "ATR", "", 5);

indicator.parameters:addBoolean("Signal", "Signal Mode", "Don't change this parameter when use indicator on chart", false);

ย 

indicator.parameters:addGroup("Style");

indicator.parameters:addColor("UP_color", "Color of UP", "Color of UP", core.rgb(0, 255, 0));

indicator.parameters:addColor("DN_color", "Color of DN", "Color of DN", core.rgb(255, 0, 0));

indicator.parameters:addInteger("width", "Dot Size", "", 2, 1, 5);

end

ย 

local pCCI;

local pATR;

ย 

local first;

local source = nil;

local ATR = nil;

local CCI = nil;

local SIG = nil;

local dotUp, dotDown;

local bufferUp, bufferDown;

ย 

function Prepare(onlyName)

pCCI = instance.parameters.CCI;

pATR = instance.parameters.ATR;

source = instance.source;

local name = profile:id() .. "(" .. source:name() .. ", " .. pATR .. ", " .. pCCI .. ")";

instance:name(name);

if onlyName then

return ;

end

ย 

ATR = core.indicators:create("ATR", source, pATR);

CCI = core.indicators:create("CCI", source, pCCI);

first = math.max(ATR.DATA:first(), CCI.DATA:first()) + 1;

ย 

dotUp = instance:addStream("UP", core.Dot, name .. ".UP", "UP", instance.parameters.UP_color, first);

dotUp:setWidth(instance.parameters.width);

ย 

dotDn = instance:addStream("DN", core.Dot, name .. ".DN", "DN", instance.parameters.DN_color, first);

dotDn:setWidth(instance.parameters.width);

ย 

bufferUp = instance:addInternalStream(first, 0);

bufferDn = instance:addInternalStream(first, 0);

ย 

if instance.parameters.Signal then

SIG = instance:addStream("SIG", core.Line, name .. ".SIG", "SIG", core.rgb(0, 0, 0), first);

else

SIG = instance:addInternalStream(0, 0);

end

end

ย 

function Update(period, mode)

ATR:update(mode);

CCI:update(mode);

ย 

if period >= first then

local thisCCI, v;

thisCCI = CCI.DATA[period];

ย 

if thisCCI >= 0 then

SIG[period] = 1;

else

SIG[period] = -1;

end

ย 

if SIG[period] == 1 and SIG[period - 1] == -1 then

bufferUp[period - 1] = bufferDn[period - 1];

end

ย 

if SIG[period] == -1 and SIG[period - 1] == 1 then

bufferDn[period - 1] = bufferUp[period - 1];

end

ย 

if SIG[period] == 1 then

v = source.low[period] - ATR.DATA[period];

if SIG[period - 1] ~= 0 and v < bufferUp[period - 1] then

v = bufferUp[period - 1];

end

bufferUp[period] = v;

dotUp[period] = v;

elseif SIG[period] == -1 then

v = source.high[period] + ATR.DATA[period];

if SIG[period - 1] ~= 0 and v > bufferDn[period - 1] then

v = bufferDn[period - 1];

end

bufferDn[period] = v;

dotDn[period] = v;

end

ย 

else

SIG[period] = 0;

end

end

ย 

//Tradestation Version

Var:

Up(0),

Dn(0);

ย 

//do not change the inputs for CCI and ATR

ย 

UP = (LOW - AvgTrueRange(5));//plots below the bars

if CCI(50) >= 0 then begin

Plot1( UP, "TrendMagic" ,Blue) ;

Condition1 = True;

end else begin

ย 

DN = (HIGH + AvgTrueRange(5));//plots above the bars

If CCI(50) < 0 then begin

Plot1( DN, "TrendMagic" ,Red) ;

Condition2 = True;

end;end;

ย 

//Alert Conditions

ย 

Condition1 = FALSE ;

Condition2 = False;

if Condition1 then

Alert( "TrendMagicUp" ) ;

if Condition2 then

Alert( "TrendMagicDn" ) ;

Share this post


Link to post
Share on other sites

I agree Sixpence. There was a Supertrend indicator that I originally downloaded from BigMikeTrading. It was fantastic, and I rarely lost $$ using it.

ย 

However, the original one seems to have disappeared & another is in its place. Same name, different behaviours...and slower to give signals...cannot make it look the same.

ย 

Wish I could find the original again - it was fantastic. Will keep looking.....

ย 

When you say there are better, what are you referring to? A similar version to the one being asked about or something completely different?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • ๐Ÿ“ Population in 2100, as projected by UN Population Division. ย  ๐Ÿ‡ฎ๐Ÿ‡ณ India: 1,533 million ๐Ÿ‡จ๐Ÿ‡ณ China: 771 million ๐Ÿ‡ณ๐Ÿ‡ฌ Nigeria: 546 million ๐Ÿ‡ต๐Ÿ‡ฐ Pakistan: 487 million ๐Ÿ‡จ๐Ÿ‡ฉ Congo: 431 million ๐Ÿ‡บ๐Ÿ‡ธ US: 394 million ๐Ÿ‡ช๐Ÿ‡น Ethiopia: 323 million ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia: 297 million ๐Ÿ‡น๐Ÿ‡ฟ Tanzania: 244 million ๐Ÿ‡ช๐Ÿ‡ฌ Egypt: 205 million ๐Ÿ‡ง๐Ÿ‡ท Brazil: 185 million ๐Ÿ‡ต๐Ÿ‡ญ Philippines: 180 million ๐Ÿ‡ง๐Ÿ‡ฉ Bangladesh: 177 million ๐Ÿ‡ณ๐Ÿ‡ช Niger: 166 million ๐Ÿ‡ธ๐Ÿ‡ฉ Sudan: 142 million ๐Ÿ‡ฆ๐Ÿ‡ด Angola: 133 million ๐Ÿ‡บ๐Ÿ‡ฌ Uganda: 132 million ๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico: 116 million ๐Ÿ‡ฐ๐Ÿ‡ช Kenya: 113 million ๐Ÿ‡ท๐Ÿ‡บ Russia: 112 million ๐Ÿ‡ฎ๐Ÿ‡ถ Iraq: 111 million ๐Ÿ‡ฆ๐Ÿ‡ซ Afghanistan: 110 million ย  @FinancialWorldUpdates Profits from free accurate cryptos signals: https://www.predictmag.com/ย  ย 
    • โ€œIf the West finds itself falling behind in AI, it wonโ€™t be due to a lack of technological prowess or resources. It wonโ€™t be because we werenโ€™t smart enough or didnโ€™t move fast enough. It will be because of something many of our Eastern counterparts donโ€™t share with us: fear of AI. ย  The root of the West's fear of AI can no doubt be traced back to decades of Hollywood movies and books that have consistently depicted AI as a threat to humanity. From the iconic "Terminator" franchise to the more recent "Ex Machina," we have been conditioned to view AI as an adversary, a force that will ultimately turn against us. ย  In contrast, Eastern cultures have a WAY different attitude towards AI. As UN AI Advisor Neil Sahota points out, "In Eastern culture, movies, and books, they've always seen AI and robots as helpers and assistants, as a tool to be used to further the benefit of humans." ย  This positive outlook on AI has allowed countries like Japan, South Korea, and China to forge ahead with AI development, including in areas like healthcare, where AI is being used to improve the quality of services. ย  The West's fear of AI is not only shaping public opinion but also influencing policy decisions and regulatory frameworks. The European Union, for example, recently introduced AI legislation prioritizing heavy-handed protection over supporting innovation. ย  While such measures might be well-intentioned, they risk stifling AI development and innovation, making it harder for Western companies and researchers to compete. ย  Among the nations leading common-sense AI regulation, one stands out for now: Singapore.โ€ โ€“ Chris C Profits from free accurate cryptos signals: https://www.predictmag.com/ย 
    • $NFLX Netflix stock hold at 556.59 support or breakdown?ย  https://stockconsultant.com/?NFLX
    • $RDNT Radnet stock flat top breakout watch, https://stockconsultant.com/?RDNT
    • $GNK Genco Shipping stock narrow range breakout watch, also see $GOGL https://stockconsultant.com/?GNK
ร—
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.