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.

Sign in to follow this  
aaa

AB = Plot StyleCloud on MA Ribbon

Recommended Posts

I've adapted MA Ribbon from EL 2 AB

 

http://www.traderslaboratory.com/forums/f46/ma-ribbon-6992.html#post78174

 

How 2 plot a cloud between the 2 avgs and change color area when avg crosses ??

 

Here is my preliminary code

 

Plot(C,"Price",colorBlack,styleCandle);

Periods      = Param("Periods",      30, 2, 200, 1, 0 );
Displacement = Param("Displacement", 30, -150, 150 );

Plot( EMA( c, Periods ), "", 
ParamColor( "ColorMM", colorBlue ), 
ParamStyle( "StyleMM") | styleThick | styleNoRescale ); 

Plot( EMA( c, Periods ), "" , 
ParamColor( "Color Delay", colorWhite ), 
ParamStyle( "Style Delay") | styleNoRescale | styleNoLabel, Null, Null, Displacement  );

 

I've found this from ICHIMOKU

 

The problem is where 2 put Displacement ?

 

PlotOHLC(Span1,Span1,Span2,Span2,"Cloud",colorWhite ,styleCloud );

 

attachment.php?attachmentid=17508&stc=1&d=1263035310

Snap1.jpg.d907a5d2e4282612b0d736bd61239580.jpg

Edited by aaa

Share this post


Link to post
Share on other sites

Hi Tams

 

I shouls have precised that it's a snapshot from the Xcellent help...

 

It was 2 illustrate the ICHIMOKU stylecloud which is similar than your MA Ribbon

 

PlotOHLC(Span1,Span1,Span 2,Span2,"Cloud",colorWhit e ,styleCloud );

 

Oups....

Share this post


Link to post
Share on other sites

Use Ref function for displacement.

 

Plot( Ref( EMA( c, Periods ), Displacement), ...

 

Negative displacement moves the average in the past, positive displacement in the future.

 

Anyway, the whole code would be as follows:

 

Plot(C,"Price",colorBlack,styleCandle);

Periods      = Param("Periods",      30, 2, 200, 1 );
Displacement = Param("Displacement", 15, 0, 150, 1 );

EMAactual = EMA( c, Periods );
EMAdisp = Ref( EMA( c, Periods ), -Displacement);

Color = IIf( EMAactual > EMAdisp, colorGreen, colorRed);

PlotOHLC( EMAdisp , EMAactual, EMAdisp, EMAactual, "Cloud", Color, styleCloud);

 

that's a nice looking chart...

I admire people who can trade off flying carpets.

Share this post


Link to post
Share on other sites
Negative displacement moves the average in the past, positive displacement in the future.

Sorry, actually it is the other way around. Negative displacement moves the past data into the future and positive displacement moves the future data into the past.

So with positive displacement you refer to future data which are not known in the actual moment, and that won't work in real time usage and it can screw up your back test.

 

That's why I allowed only for negative displacement in the code.

Share this post


Link to post
Share on other sites

Hi Head2K

 

ThanX again 4 your help

 

Ref( formula ); is the key of the magic carpet 2 make it flying ;)

 

Now 3 questions for a champion :haha:

------------------------------------------------

 

about else

 

ColorBuble =

IIf( Condition1, Color1,

IIf( Condition2, Color2,

IIf( Condition3, Color3,

IIf( Condition4, Color4,

ElseColor )))) ;

 

For each condition we must add a ) at the end

In this case I don't need the elseColor

 

But it works fine

 

Is there an other smartest way ?

 

------------------------------------------------

 

 

Negative displacement moves the average in the past, positive displacement in the future.

 

I've seen that the colors is 1 bar late than normally

 

How 2 avoid that ?

 

----------------------------------------------------------------------

 

I don't arrive to change the color of an avg when it changes trend

 

EL

 

if avg > avg[1] then

SetPlotColor[1](1, Line.upcolor);

else

SetPlotColor[1](1, Line.dncolor);

 

AFL

 

IIf( EMAactual < EMAactual[1] , colorYellow, colorBlue);

 

The problem is the [1] I think

Share this post


Link to post
Share on other sites

I'm surprised to arrive to transpose "easily" code from EasyLanguage 2 AFL

 

I thought C is complicate but, for easy indicators I use, it is OK

 

May B AFL is the "EasyCLanguage" ?

Edited by aaa

Share this post


Link to post
Share on other sites

To the 1st question:

If you want the color to change in a discrete manner you can list the conditions just like you did.

If you want the color change continuously over the color spectrum, or if you can join your descrete conditions into a mathematical function, then you can use this function to define the color.

Then you can use ColorRGB function (find it in AFL help) to change the color. So you need to convert your conditions into mathematical functions which output values between 0 and 255 for red, green and blue.

 

To the 2nd question:

The color change doesn't happen late. If you zoom in you can see that the two averages cross usually somewhere in between of two bars. The color is defined by relation of the two averages at the last bar. Then the averages cross, but before the next bar is reached the color remains the same. Once the next bar is reached, the relation between the averages is re-examined and the color changes at that bar.

AmiBroker can't change color somewhere between bars, only at a bar.

 

To the 3rd question

IIf( EMAactual < EMAactual[1] , colorYellow, colorBlue);

This will always return colorBlue, because you compare EMAactual to EMAactual, that is two same numbers. So the expression in the condition is always false.

 

I'm surprised to arrive to transpose "easily" code from EasyLanguage 2 AFL

 

I thought C is complicate but, for easy indicators I use, it is OK

 

May B AFL is the "EasyCLanguage" ?

I can't judge this. I am not a programmer and I never learned C. I've learned just AFL from AmiBroker help.

When I was a 10 years old child I used to learn TurboPascal which was kind of an educational programing language, so I had an idea about what a loop is and so on. So the only thing I can say is that AFL is probably easy, because if one has some elementary knowledge of programing languages principles, then he/she can learn it very well only from the help included in AB.

Share this post


Link to post
Share on other sites

It's a gift that they are people like U always ready 2 light up the darkness of our minds

 

I'm mad at me that I always badly exposed my questions even tho I thought it was clear

 

So I will now separate ALL questions with Code + graph

Share this post


Link to post
Share on other sites
I've seen that the colors is 1 bar late than normally

 

How 2 avoid that ?

 

I've coded in AFL a special indicator 2 show U where is the problem

 

I"ve also coded in EL EXACTLY the same indicator and the colors matches perfectly

 

attachment.php?attachmentid=17526&stc=1&d=1263123434

 

attachment.php?attachmentid=17527&stc=1&d=1263123434

Snap1.jpg.b6bc619d1a66b372179f01fd3840ce93.jpg

Snap4.jpg.ee0dc789a48718d9c60f94d23f6ad6ff.jpg

Share this post


Link to post
Share on other sites
I don't arrive to change the color of an avg when it changes trend

 

EL

 

if avg > avg[1] then

SetPlotColor[1](1, Line.upcolor);

else

SetPlotColor[1](1, Line.dncolor);

 

AFL

 

IIf( EMAactual < EMAactual[1] , colorYellow, colorBlue); // WRONG

IIf( GOOD , colorYellow, colorBlue); // WRONG

The problem is the [1] I think

 

IIf( EMAactual < EMAactual[1] , colorYellow, colorBlue); // WRONG

IIf( GOOD ? , colorYellow, colorBlue); // Good ?

 

 

attachment.php?attachmentid=17530&stc=1&d=1263124286

Snap5.jpg.d63263e284fbc75f648f2927b954f8a8.jpg

Share this post


Link to post
Share on other sites
about else

 

ColorBuble =

IIf( Condition1, Color1,

IIf( Condition2, Color2,

IIf( Condition3, Color3,

IIf( Condition4, Color4,

ElseColor )))) ;

 

For each condition we must add a ) at the end

In this case I don't need the elseColor

 

But it works fine

 

Is there an other smartest way ?

 

My supposition

 

If no condition is filled then result = 0

 

else = 0

 

Korrect ?

Share this post


Link to post
Share on other sites
I can't judge this. I am not a programmer and I never learned C. I've learned just AFL from AmiBroker help.

When I was a 10 years old child I used to learn TurboPascal which was kind of an educational programing language, so I had an idea about what a loop is and so on. So the only thing I can say is that AFL is probably easy, because if one has some elementary knowledge of programing languages principles, then he/she can learn it very well only from the help included in AB.

 

Dear Head2K I agree with U

 

Here is my personnal Xperience and that's strange it matches yours

 

Strange... did I say Strange ? It's strange...

 

When I was... 18 month ago B4 I used 2 learn EL which was kind of an educational programing language from TradersLaboratory :newbie:

 

so I had an idea about what a loop is and so on. :bang head:

 

So the only thing I can say is that EL is probably easy, :question:

 

because if one has some elementary knowledge of programing languages principles, :smoking:

 

then he/she can learn it very well only from the help included in TradersLaboratory :cheers:

 

from wonderfull members :applaud:

 

Kind regards

 

aaa

Edited by aaa

Share this post


Link to post
Share on other sites
It's a gift that they are people like U always ready 2 light up the darkness of our minds

Well, to enlighten you a bit more, knowing how to program isn't the same as knowing how to trade. To take it even further, knowing how to program a "flying carpet" is good only for realizing that a flying carpet is useless.

I am not sure what a trader you are and what your experience is, but I think that time for programing comes, if ever, only when you thoroughly understand price action and you want to (partially) automate your discretionary strategy. But to start a trading career with flying carpets and EMA coulds is a mistake. Everything IMHO, of course.

Share this post


Link to post
Share on other sites
I've coded in AFL a special indicator 2 show U where is the problem

 

I"ve also coded in EL EXACTLY the same indicator and the colors matches perfectly

If you want me to compare two indicators, then you should use them on the same chart. I don't know what you mean exactly.

 

I see that in the AmiBroker indicator you obviously use two plot functions. One with styleArea and another with styleCloud. StyleArea is a widened histogram, so the colored columns have middle at the middle (vertical axis) of a bar. StyleCloud changes color at the middle of a bar. That's why the the color changes are shifted by a half of the inter-bar spacing.

If you mean something else then specify it better and use the same chart for muticharts and AB indicator.

 

_____________________________

 

IIf( EMAactual < Ref( EMAactual, -1) , colorYellow, colorBlue);

 

______________________________

 

ColorBuble =

IIf( Condition1, Color1,

IIf( Condition2, Color2,

IIf( Condition3, Color3,

IIf( Condition4, Color4,

0 )))) ;

 

Here, if no condition is met then ColorBubble will be zero.

Share this post


Link to post
Share on other sites

Thanx 4 your clever advice

 

Everybody should B aware of the frontier beetween the dream pretty game colored software indicators

 

and the black & white reality of market

 

where they are imo 3 mainly indicators

 

UpTrend

 

DownTrend

 

Range

 

----------------------

 

How do I trade ?

 

With a magic lampe!!!

 

Seriously

 

Like everybody

 

I try 2 buy when the price is low and I sell when the price is high

 

The opposite in downtrend

 

I hold a position from a few minutes to a complete swing trade only in daytrading on Estoxx future

 

I don't use any traditional indicator but a simple home made system based on price observation

 

I've noticied that studying programming is an Xcellent way 2 learn

 

But 2 learn what ?

 

I don't know exactly how 2 explain that , may B logical, concentration ,conditions, eventuality, resolving, perseverance, humility, etc... like with a chess game, like with a chart (?)

 

the only thing I'm sure that I have 2 learn for understand things arround me.

 

And the more I learn indicators, the more I think that they are not (4 me, always imo) the only (best ?) way

 

There is an alternative 2 find which can make the difference beetween trading and a Be a Trader

 

I spend a huge time just 2 observe "naked" price 2 communicate througt mind with the other people behind them

 

It's an egyptian language and I don't have (yet) the rosette stone 2 help me

 

I think that Trading is a personnal instrospection and each one must find his own way with their own instruments

 

I am not married with Multicharts and AmiBroker could B an other interesting alternative platform

 

My questions here are 2 learn , not 2 trade flying carpets with a magic lamp !!!

 

And I appreciate a lot your straight honesty.

 

regards

Edited by aaa

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.

Sign in to follow this  

×
×
  • Create New...

Important Information

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