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.

theman

Need Help in Convert This MACD to Multichart

Recommended Posts

Can someone please help me convert this so that it works with MultiChart 3.

 

Many thanks and kind regards

 

[LegacyColorValue = true]; 

//******************************************************//
//  MacdBB 12/24/07                                     //
//******************************************************//
//
// for "Chart_Offset" I use .0005 for EC and other 4 dec symbols.
// I use .5 for the ER2 and 1.00 for the ES, equities - expirament.
//
// Imagine this will work on Radar Screen, haven't tried it.  I
// would just use the "Plot_Chart" setting and see what happens.
//

inputs: 
   Price(Close),
FastLen( 12 ), 
SlowLen( 26 ), 
Length ( 10 ),
StDv( 1 ),
BB_Color_Up(Green),
BB_Color_Dn(Red),
Upper_Band_Color(Red),
Lower_Band_Color(Blue),
Zero_Color_Up(Blue),
   Zero_Color_Dn(Red),
Plot_Sub(True),
Plot_Chart(False),
Chart_Offset( 0 ),    { offset above and below for dots on chart }
Alert_Append(" ");    { will replace symbol in alert message     }

VARS:
BB_Macd(0),
Avg(0),
SDev(0),
Alert_Msg(" "),
Upper_Band(0),
Lower_Band(0),
BB_Color(Black),      {black is meaningless - just for initialize}
   Cross_Up(False),
Cross_Dn(False),
Zero_Color(yellow);   {yellow is meaningless - just for initialize}

//******************************************************//
//     Once only initialize the alert append.           //
//******************************************************//
Once  If Alert_Append = " " then Alert_Msg = Symbol else Alert_Msg = Alert_Append;

//******************************************************//
//     Main Calculations.                               //
//******************************************************//
BB_Macd = MACD( Price, FastLen, SlowLen ) * 100 ;

Avg  = XAverage( BB_Macd, Length);

SDev = StandardDev( BB_Macd, Length, 1);

Upper_Band = ( Avg + StDv * SDev );
Lower_Band = ( Avg - StDv * SDev );

//******************************************************//
//     Sub-Graph plot logic.                            //
//******************************************************//	
If Plot_Sub = True and Plot_Chart = False then begin

  If BB_Macd > BB_Macd[1] then BB_Color = BB_Color_Up else BB_Color = BB_Color_Dn;

  If Cross_Up = False then if BB_Macd > Upper_Band then begin
     Cross_Up = True;  
     Cross_Dn = False;  
     BB_Color = Cyan;	
  If CheckAlert then Alert( "BB cross up " + Alert_Msg );
     end;   

  If Cross_Dn = False then if BB_Macd < Lower_Band then begin
     Cross_Up = False;  
     Cross_Dn = True;  
     BB_Color = Yellow;
  If CheckAlert then Alert( "BB cross down " + Alert_Msg );
     end;

 If ( BB_Macd < 0 ) then Zero_Color = Zero_Color_Dn  else if
    ( BB_Macd > 0 ) then Zero_Color = Zero_Color_Up;

  Plot1( BB_Macd, "MACD Dots" ,BB_Color );	
  Plot2( Upper_Band, "Upper_Band", Upper_Band_Color );
  Plot3( Lower_Band, "Lower_Band", Lower_Band_Color );
  Plot4( 0, "Zero_Line", Zero_Color );

  end  

//******************************************************//
//     Main chart plot logic.                           //
//******************************************************//
else If Plot_Chart = True and Plot_Sub = False then begin

  If Cross_Up = False then if BB_Macd > Upper_Band then begin
     Cross_Up = True;  
     Cross_Dn = False;  
  Plot5( (Low - Chart_Offset) , "BB Chart", BB_Color_Up );
  If CheckAlert then Alert( "BB cross up " + Alert_Msg );
     end;  

  If Cross_Dn = False then if BB_Macd < Lower_Band then begin
     Cross_Up = False;  
     Cross_Dn = True;  
  Plot5( (High + Chart_Offset) , "BB Chart", BB_Color_Dn );
  If CheckAlert then Alert( "BB cross down " + Alert_Msg );
     end;

  end;	

Share this post


Link to post
Share on other sites

theman

 

I don't have Multicharts, but I'll try to help............... when you try to put your code into an indicator and verify it ........ what errors is it telling you ?

 

It might be something simple like the functions "MACD" or "StandardDev", as they might not be compatible with MC, but easily enough fixed.

 

Here's a code I got ( from the TS forums, I think) which is the same, but more streamlined in terms of code.

 

Give it a try and inform us of the errors so we can have a go at helping out.

 

Cheers

 

Blu-Ray

MACDBB.ELD

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.


×
×
  • Create New...

Important Information

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