Find Answers/Community Forums/RTL Forum

Answered

using CI token with parameters

Doron Harpaz
asked this on July 29, 2012 05:14

the token CI is used to activate custom indicator .
how the CI can be used so that it will pass parameters to the "called custom indicator"

 

Comments

User photo
Andrew Stoeckley
MarketDelta LLC
Ajax_loader_small Answer

You cannot adjust CI parameters directly by calling the token, but the CI can reference user variables which are set separately. For example, add a button to your chart that controls a user variable, then code your token in the CI to reference this user variable; you can then adjust parameters in the CI without editing RTL.

July 29, 2012 19:28
User photo
Doron Harpaz

This  does not  solve the  problem  as  the  parameter  passed  using the user variable is fixed once for the system , but i want to activate the CI several times with different parameters.

July 30, 2012 00:49
User photo
Andrew Stoeckley
MarketDelta LLC
Ajax_loader_small Answer

User variables are not fixed for the entire, system, only for that instrument. User variable V#5 for example can have different values for ES and YM so if your different charts are different instruments, this is the way to go, assign your parameters to user variables.

If your different charts are of the same symbol and will have the same CI, then you need to tweak the CI and save it under a different name, having two different CIs.

July 30, 2012 01:17
User photo
Doron Harpaz

i create a chart and a simple CI  which calculate : VOL > V#60
http://www.charthub.com/images/2012/07/30/Untitled_33.png

in  the chart  i have a  note  with  V#60 .

i  updated  V#60 via OP  .   the updated  value  does show in the  note.

however  the  results  of  the  CI were not updated

i compiled  the  CI  and  the  results  were  updated.

in  short , CI  which uses  user  variable is not  updated after  user variable  is updated unless  it  is  recompiled or saved again.

  so  your  suggestion is not  effective.

July 30, 2012 04:36
User photo
Andrew Stoeckley
MarketDelta LLC
Ajax_loader_small Answer

This is a very common solution and CI's update immediately with any changes in user variables. I added a Set button that lets you easily switch between V# numbers and your chart seems to work as expected:

http://www.charthub.com/images/2012/07/30/Untitled_33_2.

Note that V# numbers do not retain historical values of the V# number, unlike something like OP which is specific to each bar and can change for each bar.

July 30, 2012 05:15
User photo
Doron Harpaz

indeed setting user variable via button  works fine  .  however  what  i  reported above is  a  bug  and  have to  be  fixed.

July 30, 2012 06:19
User photo
Doron Harpaz

i  was  too quick  to  confirm that  it is  ok . 
the  fact  is that if  you  update  user variable  in  chart_A .   it  has  full  and  immediate  effect on  chart_A  .  But  not on  chart_B  which  has the  same  indicator.   if  you  close  MD  and reopen  it -  chart_B  is  fine too.
so probably  it  is  the  same  problem as  with setting  from OP i  reported earlier. 

July 30, 2012 06:30
User photo
Andrew Stoeckley
MarketDelta LLC
Ajax_loader_small Answer

Other charts will only re-calculate all their CI values on the chart if you shift-click on their refresh button after you adjust a SET button on a different chart. They will however immediately use the new user variable for new calculations, right away.

The chart that contains the SET button however will automatically refresh all these values immediately.

July 31, 2012 08:28
User photo
Doron Harpaz

as far as i am concerned - this is bug and i suggest to fix it .

July 31, 2012 09:51
User photo
Andrew Stoeckley
MarketDelta LLC

This is by design to avoid very large recalculation times across many charts; many users have several charts opened, and if they all recalculate based on selecting one menu item, it would affect program performance. The shift-refresh recalc option exists to bypass this.

July 31, 2012 09:54
User photo
Doron Harpaz

the refresh  should be done smart. to  to  all  charts.

user variable was updated .  find were it is used .  refresh  only chart  in  which it is  used .

you do not  expect  the  end  user  to  remember  were he  is  using  each  user  variable  .

July 31, 2012 10:02
User photo
Andrew Stoeckley
MarketDelta LLC

If you forget which user variables you are using, or want to check their usage, you can use Setup > Preferences > User Variables and click a variable and its usage report to see exactly where they are used.

July 31, 2012 10:06
User photo
Doron Harpaz

do not  think  you  should  expect  end user to do this .  software  should  do it  automatically .

July 31, 2012 10:18
User photo
Andrew Stoeckley
MarketDelta LLC

We are adding a feature to the next version of the software to address your needs. It should be available soon, which will provide an option to force recalculation of user variables and custom indicators on all charts simultaneously

August 01, 2012 21:32
User photo
Doron Harpaz

i hope the recalculation is done only where it is needed.
if i remember correctly problem of similar nature exist when CI_A activate CI_B. if CI_B is updated and compiled user have to recompile CI_A so that the changes made to CI_B will be in effect. this  should be solved too. 

August 01, 2012 23:55
User photo
Andrew Stoeckley
MarketDelta LLC
Ajax_loader_small Answer

When the new features are released, you can provide your feedback. The developers did note that this is the first request we have had for these features in the many years that RTL has been available, so a detailed reworking of indicator recalc times is not likely. Check our downloads page periodically as I think the new features will be in the c6 release.

August 02, 2012 00:29
User photo
Andrew Stoeckley
MarketDelta LLC
Ajax_loader_small Answer

Correction, the new features will be added in the next version, not 10.6.

August 02, 2012 18:58
Topic is closed for comments