Hi,
I am using ADE to transfer an indicator information from a daily chart to an intraday chart. That's ok for this
In my 1hour Chart, i have the information (the value of my indicator) for the last daily bar closed.
Is it possible to have the information for this last bar even if the bar isn't closed?
for exemple, today (12 january 2010) i have the daily indicator value for the last bar closed (11 january2001)
I would like to have the daily indicator value for the last bar even if this bar isn't closed (12 january 2010)
is it possible?
NR
ADE question
-
- Posts: 174
- Joined: 31 Jan 2006
- Has thanked: 74 times
- Been thanked: 5 times
- ABC
- Posts: 723
- Joined: 16 Dec 2006
- Location: www.abctradinggroup.com
- Has thanked: 125 times
- Been thanked: 410 times
- Contact:
Hi nuno-online,
it's doable with EL Collections and as ADE uses the ELC framework, it should be, too.
I don't use ADE, only EL Collections, so my comment might not 100% apply for you: Make sure the indicator values from the daily are stored in the maps each tick and not only at the end of the bar (so you might need intrabarpersist variables).
Regards,
ABC
it's doable with EL Collections and as ADE uses the ELC framework, it should be, too.
I don't use ADE, only EL Collections, so my comment might not 100% apply for you: Make sure the indicator values from the daily are stored in the maps each tick and not only at the end of the bar (so you might need intrabarpersist variables).
Regards,
ABC
-
- Posts: 174
- Joined: 31 Jan 2006
- Has thanked: 74 times
- Been thanked: 5 times
-
- Posts: 174
- Joined: 31 Jan 2006
- Has thanked: 74 times
- Been thanked: 5 times
here is the code i have
the indicator to plot data
Inputs:
Bollinger.Price( Close ), Bollinger.Length( 20 ), Bollinger.NumDevsUp( 2 ), Bollinger.NumDevsDn( -2 );
Variables:
Bollinger.Avg(0),Bollinge r.Sd(0),Bollinger.UpperBa nd(0),Bollinger.LowerBand (0),
//used to pass data to ADE
Class("ADE.Bollinger.Uppe rBand"), InfoMap(MapSN.New),
Class1("ADE.Bollinger.Low erBand"), InfoMap1(MapSN.New),
Ade.Bollinger.UpperBand(0 ), Ade.Bollinger.LowerBand(0 );
Bollinger.Avg = AverageFC( Bollinger.Price, Bollinger.Length) ;
Bollinger.Sd = StandardDev( Bollinger.Price, Bollinger.Length, 1 ) ;
Bollinger.UpperBand = Bollinger.Avg + Bollinger.NumDevsUp* Bollinger.Sd;
Bollinger.LowerBand = Bollinger.Avg + Bollinger.NumDevsDn* Bollinger.Sd;
Plot1(Bollinger.Avg, "MidLine",darkgray) ;
Condition1 = Bollinger.UpperBand >= Bollinger.UpperBand[1];
Condition2 = Bollinger.LowerBand >= Bollinger.LowerBand[1];
If Condition1 then
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",green);
Plot2( Bollinger.UpperBand, "UpperBand",green);
end
else
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",red);
Plot2( Bollinger.UpperBand, "UpperBand",red);
end;
If Condition2 then
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",green);
Plot3( Bollinger.LowerBand, "LowerBand",green);
end
else
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",red);
Plot3( Bollinger.LowerBand, "LowerBand",red);
end;
// Retrieve the info for the current symbol and bar interval into InfoMap
Value33 = ADE.GetBarInfo(Class, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap);
Value44 = ADE.GetBarInfo(Class1, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap1);
// Fetch the values from the InfoMap into variables
Ade.Bollinger.UpperBand = MapSN.Get(InfoMap, "ADE.Bollinger.UpperBand" );
Ade.Bollinger.LowerBand = MapSN.Get(InfoMap1, "ADE.Bollinger.LowerBand" );
Plot4(Ade.Bollinger.Upper Band, "Ade.BB.Up");
Plot5(Ade.Bollinger.Lower Band, "Ade.BB.Dn");
the indicator to save data
Inputs:
Bollinger.Price( Close ), Bollinger.Length( 20 ), Bollinger.NumDevsUp( 2 ), Bollinger.NumDevsDn( -2 );
Variables:
Bollinger.Avg(0),Bollinge r.Sd(0),Bollinger.UpperBa nd(0),Bollinger.LowerBand (0),
//used to pass data to ADE
Class("ADE.Bollinger.Uppe rBand"), InfoMap(MapSN.New),
Class1("ADE.Bollinger.Low erBand"), InfoMap1(MapSN.New),
Ade.Bollinger.UpperBand(0 ), Ade.Bollinger.LowerBand(0 );
Bollinger.Avg = AverageFC( Bollinger.Price, Bollinger.Length) ;
Bollinger.Sd = StandardDev( Bollinger.Price, Bollinger.Length, 1 ) ;
Bollinger.UpperBand = Bollinger.Avg + Bollinger.NumDevsUp* Bollinger.Sd;
Bollinger.LowerBand = Bollinger.Avg + Bollinger.NumDevsDn* Bollinger.Sd;
Plot1(Bollinger.Avg, "MidLine",darkgray) ;
Condition1 = Bollinger.UpperBand >= Bollinger.UpperBand[1];
Condition2 = Bollinger.LowerBand >= Bollinger.LowerBand[1];
If Condition1 then
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",green);
Plot2( Bollinger.UpperBand, "UpperBand",green);
end
else
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",red);
Plot2( Bollinger.UpperBand, "UpperBand",red);
end;
If Condition2 then
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",green);
Plot3( Bollinger.LowerBand, "LowerBand",green);
end
else
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",red);
Plot3( Bollinger.LowerBand, "LowerBand",red);
end;
//ADE
// Put the information we want to store in our InfoMap
Value1 = MapSN.Put(InfoMap, "ADE.Bollinger.UpperBand" , Bollinger.UpperBand);
Value2 = MapSN.Put(InfoMap1, "ADE.Bollinger.LowerBand" , Bollinger.LowerBand);
// Tell ADE to store this info for the current symbol and bar interval
Value1 = ADE.PutBarInfo(Class, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap);
Value2 = ADE.PutBarInfo(Class1, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap1);
the indicator to plot data
Inputs:
Bollinger.Price( Close ), Bollinger.Length( 20 ), Bollinger.NumDevsUp( 2 ), Bollinger.NumDevsDn( -2 );
Variables:
Bollinger.Avg(0),Bollinge r.Sd(0),Bollinger.UpperBa nd(0),Bollinger.LowerBand (0),
//used to pass data to ADE
Class("ADE.Bollinger.Uppe rBand"), InfoMap(MapSN.New),
Class1("ADE.Bollinger.Low erBand"), InfoMap1(MapSN.New),
Ade.Bollinger.UpperBand(0 ), Ade.Bollinger.LowerBand(0 );
Bollinger.Avg = AverageFC( Bollinger.Price, Bollinger.Length) ;
Bollinger.Sd = StandardDev( Bollinger.Price, Bollinger.Length, 1 ) ;
Bollinger.UpperBand = Bollinger.Avg + Bollinger.NumDevsUp* Bollinger.Sd;
Bollinger.LowerBand = Bollinger.Avg + Bollinger.NumDevsDn* Bollinger.Sd;
Plot1(Bollinger.Avg, "MidLine",darkgray) ;
Condition1 = Bollinger.UpperBand >= Bollinger.UpperBand[1];
Condition2 = Bollinger.LowerBand >= Bollinger.LowerBand[1];
If Condition1 then
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",green);
Plot2( Bollinger.UpperBand, "UpperBand",green);
end
else
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",red);
Plot2( Bollinger.UpperBand, "UpperBand",red);
end;
If Condition2 then
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",green);
Plot3( Bollinger.LowerBand, "LowerBand",green);
end
else
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",red);
Plot3( Bollinger.LowerBand, "LowerBand",red);
end;
// Retrieve the info for the current symbol and bar interval into InfoMap
Value33 = ADE.GetBarInfo(Class, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap);
Value44 = ADE.GetBarInfo(Class1, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap1);
// Fetch the values from the InfoMap into variables
Ade.Bollinger.UpperBand = MapSN.Get(InfoMap, "ADE.Bollinger.UpperBand" );
Ade.Bollinger.LowerBand = MapSN.Get(InfoMap1, "ADE.Bollinger.LowerBand" );
Plot4(Ade.Bollinger.Upper Band, "Ade.BB.Up");
Plot5(Ade.Bollinger.Lower Band, "Ade.BB.Dn");
the indicator to save data
Inputs:
Bollinger.Price( Close ), Bollinger.Length( 20 ), Bollinger.NumDevsUp( 2 ), Bollinger.NumDevsDn( -2 );
Variables:
Bollinger.Avg(0),Bollinge r.Sd(0),Bollinger.UpperBa nd(0),Bollinger.LowerBand (0),
//used to pass data to ADE
Class("ADE.Bollinger.Uppe rBand"), InfoMap(MapSN.New),
Class1("ADE.Bollinger.Low erBand"), InfoMap1(MapSN.New),
Ade.Bollinger.UpperBand(0 ), Ade.Bollinger.LowerBand(0 );
Bollinger.Avg = AverageFC( Bollinger.Price, Bollinger.Length) ;
Bollinger.Sd = StandardDev( Bollinger.Price, Bollinger.Length, 1 ) ;
Bollinger.UpperBand = Bollinger.Avg + Bollinger.NumDevsUp* Bollinger.Sd;
Bollinger.LowerBand = Bollinger.Avg + Bollinger.NumDevsDn* Bollinger.Sd;
Plot1(Bollinger.Avg, "MidLine",darkgray) ;
Condition1 = Bollinger.UpperBand >= Bollinger.UpperBand[1];
Condition2 = Bollinger.LowerBand >= Bollinger.LowerBand[1];
If Condition1 then
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",green);
Plot2( Bollinger.UpperBand, "UpperBand",green);
end
else
begin
Plot2[1]( Bollinger.UpperBand[1], "UpperBand",red);
Plot2( Bollinger.UpperBand, "UpperBand",red);
end;
If Condition2 then
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",green);
Plot3( Bollinger.LowerBand, "LowerBand",green);
end
else
begin
Plot3[1]( Bollinger.LowerBand[1], "LowerBand",red);
Plot3( Bollinger.LowerBand, "LowerBand",red);
end;
//ADE
// Put the information we want to store in our InfoMap
Value1 = MapSN.Put(InfoMap, "ADE.Bollinger.UpperBand" , Bollinger.UpperBand);
Value2 = MapSN.Put(InfoMap1, "ADE.Bollinger.LowerBand" , Bollinger.LowerBand);
// Tell ADE to store this info for the current symbol and bar interval
Value1 = ADE.PutBarInfo(Class, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap);
Value2 = ADE.PutBarInfo(Class1, GetSymbolName, ADE.Daily, ADE.BarID, InfoMap1);
-
- Posts: 174
- Joined: 31 Jan 2006
- Has thanked: 74 times
- Been thanked: 5 times