hi all
is there a function which can help to code the change interval in the afl
automatically every 15 secs to 1 min , 5 min , 60 min, daily
in a loop of 15 seconds
how to get the sleep or timeout in a loop so that interval can be changed every 15 secs automatically
hi
i have a set of charts which are tiled in the layout
i keep checking the different timeframes for all symbols in the layout as intervals are synced
i will give a button trigger for interval to change every x minutes or seconds
this will be for display
i am a scalper and trader so need to chk one min and 5 min charts both
while i am busy trding on one terminal
the charts on the other desktop ( which are on display) can automatically change interval at a particular timegap
this is the whole idea
and if a understand how to use sleep or timeout
may be some more ideas would popup in my head ,
for making other regular activities on amibroker automated
thanks in advance
regards
The only way to change the interval programmatically is using OLE automation. Below is the example code that shows how to do that correctly (without sleep and without busy waiting).
The code automatically switches current chart between daily/weekly/monthly every second.
Plot( C, "Price", colorDefault, styleCandle );
TimeBetweenSwitches = 1; // change to 20 to get 20 seconds
RequestTimedRefresh( TimeBetweenSwitches );
if( Status("redrawaction") == 1 )
{
// if timed refresh - change the interval
counter = Nz( StaticVarGet("counter") );
switch( ++counter )
{
case 1:
in = inWeekly;
break;
case 2:
in = inMonthly;
break;
default:
in = inDaily;
counter = 0; // reset counter
break;
}
StaticVarSet("counter", counter );
AB = CreateObject("Broker.Application");
doc = AB.ActiveDocument;
doc.Interval = in; // change the interval
}
@n_bagadia this is AFL code and it works very well.
This is AmiBroker forum and most of the codes which you can find here were written in AFL and intended to be run in AmiBroker. You've received a ready to use solution from Tomasz meeting your criteria.
It really surprises me that you didn't even try to run this code in AmiBroker...
As @Milosz wrote, the code I gave you is AFL code to be copy-pasted to AFL Code Editor.
Similar code can be written in JScript to be run externally, but that is left as exercise to the reader.