update: I wrote some code to avoid to use AB timeframe functions.
It seems very good. 
The last mistery is why the last bar is 0 but I am tired now, please check the 
code to find any "logic" mistake

cheers

Bisto

function MACDmy( array, Sh, Lo )
{
    eSh = EMA( array, Sh );
    eLo = EMA( array, Lo );
    return eSh -eLo;
}

function SignalMy( array, smooth )
{
    return EMA( array, smooth );
}


function HistMACD( array, Sh, Lo, Smooth )
{
    m = MACDmy( Array, Sh, Lo );
    s = SignalMy( m, smooth );
    return m - s;
}

for ( y = 0; y < 5; y++ )
{
    z = 0;
    temp = 0;
    VarSet( "C" + y , 0 );

    for ( i = y; i < BarCount - 1; i = i + 5 )
    {
        temp = VarGet( "C" + y );
        temp[z] = C[i];
        VarSet( "C" + y , temp );
        z++;
    }
}

for ( i = 0;i < 5;i++ )
    VarSet( "HistMACD" + i, HistMACD( VarGet( "C" + i ), 12, 26, 9 ) );

tot = 0;
step = step0 = step1 = step2 = step3 = step4 = 0;

for ( i = 0;i < BarCount -1 ;i++ )
{
    switch ( True )
    {
        case step == 0:        
            temp = VarGet( "HistMACD" + 0 );
            tot[i] = temp[step0];
            step0++;
            step++;
            break;      

        case step == 1:       
            temp = VarGet( "HistMACD" + 1 );
            tot[i] = temp[step1];
            step1++;
            step++;
            break;       

        case step == 2:        
            temp = VarGet( "HistMACD" + 2 );
            tot[i] = temp[step2];
            step2++;
            step++;
            break;        

        case step == 3: 
            temp = VarGet( "HistMACD" + 3 );
            tot[i] = temp[step3];
            step3++;
            step++;
            break;       

        case step == 4:
            temp = VarGet( "HistMACD" + 4 );
            tot[i] = temp[step4];
            step4++;
            step = 0;
           }
}


Plot( tot , "Weekly-daily MACDmy Histogram ",  colorPaleGreen, styleHistogram | 
styleNoLabel | styleThick, Null, Null, Null, 1 );

// OLD STYLE comparison

TimeFrameSet( inWeekly );
m = MACD(12, 26 ); // MACD from WEEKLY data
s = Signal(12, 26, 9); // Signal from WEEKLY data
HMACD = m - s ; // MACD Histogram from WEEKLY data
TimeFrameRestore();

HMACD1 = TimeFrameExpand( HMACD, inWeekly );

Plot( HMACD1, "Weekly MACD Histogram",  colorGreen,styleArea| styleOwnScale| 
styleNoLabel ,Null,Null,Null,-1 ); 


--- In [email protected], "bistoman73" <bistoma...@...> wrote:
>
> Hi,
> 
> I had an idea that "almost" solved the problem: to use some arrays shifted of 
> N days to "built" the week.
> 
> I post here the code to share it and to catch suggestion to solve the problem 
> that it still exists: having used in not normal way the timeframecompress 
> function there are problems in weeks with less than 5 trading days like Xmas 
> period. Of course it's not a problem of AB, it's more a misuse of the 
> function.
> 
> The product is a composed graph with 5 colors bar (one every 5 days) and also 
> a black dashed line that show the problem occuring in period like Xmas
> 
> I hope it could help giving an (maybe wrong) idea and not produce confusion 
> in the use of AB timeframe functions
> 
> PS I also had to code a function to calculate MACD on an array because the 
> built in function uses always C
> 
> 
> function MACDmy( array, Sh, Lo )
> {
>     eSh = EMA( array, Sh );
>     eLo = EMA( array, Lo );
>     return eSh -eLo;
> }
> 
> function SignalMy( array, smooth )
> {
>     return EMA( array, smooth );
> }
> 
> 
> function HistMACD( array, Sh, Lo, Smooth )
> {
>     m = MACDmy( Array, Sh, Lo );
>     s = SignalMy( m, smooth );
>     return m - s;
> }
> 
> 
> Ar0 = TimeFrameCompress(Ref(C,-0), 5*inDaily,compressLast);
> 
> HMACD0 = TimeFrameExpand(HistMACD(Ar0,12,26,9), 5*inDaily,expandPoint  );
> 
> 
> Ar1 = TimeFrameCompress(Ref(C,-1), 5*inDaily,compressLast);
> 
> HMACD1 = TimeFrameExpand(HistMACD(Ar1,12,26,9), 5*inDaily ,expandPoint  );
> 
> 
> Ar2 = TimeFrameCompress(Ref(C,-2),5*inDaily,compressLast);
> 
> HMACD2 = TimeFrameExpand(HistMACD(Ar2,12,26,9), 5*inDaily,expandPoint  );
> 
> 
> Ar3 = TimeFrameCompress(Ref(C,-3),5*inDaily,compressLast);
> 
> HMACD3 = TimeFrameExpand(HistMACD(Ar3,12,26,9), 5*inDaily,expandPoint  );
> 
> 
> Ar4 = TimeFrameCompress(Ref(C,-4),5*inDaily,compressLast);
> 
> HMACD4 = TimeFrameExpand(HistMACD(Ar4,12,26,9), 5*inDaily,expandPoint  );
> 
> 
> 
> Plot( HMACD0, "Weekly MACDmy Histogram",  colorPink, styleArea | 
> styleNoLabel, Null, Null, Null, -1 );
> 
> Plot( Ref(HMACD1,1), "Weekly MACDmy Histogram",  colorGreen, styleArea | 
> styleNoLabel, Null, Null, Null, -1 );
> 
> Plot( Ref(HMACD2,2), "Weekly MACDmy Histogram",  colorOrange, styleArea | 
> styleNoLabel, Null, Null, Null, -1 );
> 
> Plot( Ref(HMACD3,3), "Weekly MACDmy Histogram",  colorPaleGreen, styleArea | 
> styleNoLabel, Null, Null, Null, -1 );
> 
> Plot( Ref(HMACD4,4), "Weekly MACDmy Histogram",  colorGrey50, styleArea | 
> styleNoLabel, Null, Null, Null, -1 );
> 
> tot = Nz(HMACD0) + Nz(Ref(HMACD1,1))  + Nz(Ref(HMACD2,2)) + Nz(Ref(HMACD3,3)) 
> + Nz(Ref(HMACD4,4)); 
> 
> 
> Plot( tot , "Weekly MACDmy Histogram",  colorBlack, styleDashed | 
> styleNoLabel, Null, Null, Null, 1 );
> 
> 
> --- In [email protected], "m.csabee" <m.csabee@> wrote:
> >
> > Greetings all,
> > 
> > 
> > Most charting softwares that I&#8217;ve seen always show the weekly charts 
> > of the end of a week, usually Friday.But who says that a week must end 
> > every Friday?Must a weekly chart reflect only the latest five days of 
> > trading every Friday?I think a proper weekly chart should be one that is 
> > set up to reflect one action that is one magnitude greater than the daily 
> > chart.It should display its latest price bar to always reflect where prices 
> > are relative to the latest 5 days of trading.It changes every day to 
> > reflect the latest 5 days of trading.
> > I would use Stochastic %D on my trading system.
> > Is it possible somehow to change the last close price every day (get the 
> > recent close price in stochastic formula) and recalculate the weekly 
> > stochastic value each day?
> > And is it possible to appear this weekly Stochastic and daily Stochastic in 
> > same window?I would use daily price chart with second window with 2 
> > timeframe indicator below.
> > 
> > thanks for all help
> > Regards
> >
>


Reply via email to