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.

daedalus

Debugging Questions... Phantom Alerts...

Recommended Posts

I know its almost impossible for you guys to help on this but I have a question that I can't seem to crack.

 

I have a simple show me indicator that checks for the bar to be an inside bar and then checks to see if it closed up or down through 78.6% of the candle.

 

If so, plot a dot and alert me...

 

Heres the code...

 

//Plot for shorts
if High[1] < High[2] and Low[1] > Low[2]  then 
begin
//This Calcs the Fib Retracement
Step1S = High - Low;
Step2S = Step1S*.214;
Step3S = Low + Step2S;

if Close < Step3S then  //If the bar closes below the 78.6% retracment, print a dot and alert.
Plot5(Step3S, "IB FO S 78.6", IBShortColor );
Alert("IB FO S 78.6");
end
else
NoPlot( 5 ); 

 

The problem is that i'm getting alerts from bars that don't close through the 78.6% (I check for both instances in the code).

 

Here is the instance for regular bars...

//Plot after a fakeout for shorts
if High[1] < High[2] and Low[1] > Low[2] then 
begin
Plot3( Close, "IB Fakeout S", IBShortColor );
Alert("IB Fakeout S");
end
else
NoPlot( 3 ); 

 

My problem is that in the following example I will only get the one dot signifying the correct signal (a non-78.6 insidebar) but my alert actually goes out as a 78.6 inside bar...

 

attachment.php?attachmentid=11680&stc=1&d=1245910266

 

attachment.php?attachmentid=11679&stc=1&d=1245910179

 

Anyone got any ideas on what stupid thing i'm missing? It can't be much but it sure as hell is driving me up the wall. I'm probably staring right at it. I need a new fresh set of eyes.

 

Thanks for your help gents as always!

Untitled.png.8594570e939cb858a1b017d591944d56.png

Untitled2.jpg.0278c8969d25e2cf6395356e49dbb989.jpg

Share this post


Link to post
Share on other sites

try this... I have highlighted the changes

 

//Plot for shorts
if High[1] < High[2] and Low[1] > Low[2]  then 
begin
//This Calcs the Fib Retracement
Step1S = High - Low;
Step2S = Step1S*.214;
Step3S = Low + Step2S;

if Close < Step3S then  //If the bar closes below the 78.6% retracment, print a dot and alert.

BEGIN  {<---- add this}

	Plot5(Step3S, "IB FO S 78.6", IBShortColor );
	Alert("IB FO S 78.6");
end
else
NoPlot( 5 ); 

END;  {<---- add this}

Share this post


Link to post
Share on other sites

Dude. That fixed it... holy crap. I'd click the "Thanks" button 100x's if it let me. 1 Thanks just doesn't quite do it. I seriously can't thank you enough... i had been trying everything to no avail.

 

Can I ask what was the logic flaw? Every if statement needs a separate begin and end statement?

Share this post


Link to post
Share on other sites

You have to match every BEGIN with an END.

 

The best way to make sure they match is to indent all the codes within a BEGIN/END pair.

Edited by Tams

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.