Buffers Manual for VPO/TPO Indicators

3 October 2021, 19:18
Kyra Nickaline Watson-gordon
0
467

This is the manual and code snippets for calling buffers of VPO/TPO indicators.

The indicators are available on these links :


    Available buffers :

    Buffer Index
    Shift Value
     Description
    0
    0 ~ N-1
    Prices of Latest On-Chart Profile
    1
    0 ~ N-1
    Equivalent Volumes of Latest On-Chart Profile
    2
    0 ~ N-1
    Prices of Latest On-Side Profile
    3
    0 ~ N-1
    Equivalent Times of Latest On-Side Profile
    4
    0
    POC of Latest On-Chart Profile
    5
    0
    VAL of Latest On-Chart Profile
    6
    0
    VAH of Latest On-Chart Profile
    7
    0
    POC of Latest On-Side Profile
    8
    0
    VAL of Latest On-Side Profile
    9
    0 VAH of Latest On-Side Profile

    Notes :

    - N = Number of Price Steps (Accuracy of profile)

    - Only Buffers of latest profile is available.

    Examples and Code Snippets :


    Calling Latest VPO Profile Values (MT4) :

    for( i=0; i<N; i++)
    {
        VPO_onChart_Price[i]=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,0,i);
        VPO_onChart_Volume[i]=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,1,i);
        VPO_onSide_Price[i]=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,2,i);
        VPO_onSide_Volume[i]=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,3,i);
    }
    VPO_onChart_POC=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,4,0);
    VPO_onChart_VAL=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,5,0);
    VPO_onChart_VAH=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,6,0);
    VPO_onSide_POC=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,7,0);
    VPO_onSide_VAL=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,8,0);
    VPO_onSide_VAH=iCustom(Symbol(),Period(),"Market\\VPO Profile MT4",.....inputs......,9,0);


    Calling Latest TPO Profile Values (MT4) :

    for( i=0; i<N; i++)
    {
        TPO_onChart_Price[i]=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,0,i);
        TPO_onChart_Times[i]=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,1,i);
        TPO_onSide_Price[i]=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,2,i);
        TPO_onSide_Times[i]=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,3,i);
    }
    TPO_onChart_POC=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,4,0);
    TPO_onChart_VAL=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,5,0);
    TPO_onChart_VAH=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,6,0);
    TPO_onSide_POC=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,7,0);
    TPO_onSide_VAL=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,8,0);
    TPO_onSide_VAH=iCustom(Symbol(),Period(),"Market\\TPO Profile MT4",.....inputs......,9,0);


    Calling Latest VPO Profile Values (MT5) :

    int handleVPO=iCustom(Symbol(),Period(),"Market\\VPO Profile MT5",.....inputs......);
    if( handleVPO==INVALID_HANDLE ) Print("Invalid Handle for Indicator. Err : ",GetLastError());

    int nbuf;

    nbuf=CopyBuffer(handleVPO,0,0,N,VPO_onChart_Price);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,1,0,N,VPO_onChart_Volume);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,2,0,N,VPO_onSide_Price);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,3,0,N,VPO_onSide_Volume);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,4,0,1,VPO_onChart_POC);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,5,0,1,VPO_onChart_VAL);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,6,0,1,VPO_onChart_VAH);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,7,0,1,VPO_onSide_POC);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,8,0,1,VPO_onSide_VAL);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleVPO,9,0,1,VPO_onSide_VAH);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());


    Calling Latest TPO Profile Values (MT5) :

    int handleTPO=iCustom(Symbol(),Period(),"Market\\TPO Profile MT5",.....inputs......);
    if( handleTPO==INVALID_HANDLE ) Print("Invalid Handle for Indicator. Err : ",GetLastError());

    int nbuf;

    nbuf=CopyBuffer(handleTPO,0,0,N,TPO_onChart_Price);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,1,0,N,TPO_onChart_Times);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,2,0,N,TPO_onSide_Price);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,3,0,N,TPO_onSide_Times);
    if( nbuf!=N ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,4,0,1,TPO_onChart_POC);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,5,0,1,TPO_onChart_VAL);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,6,0,1,TPO_onChart_VAH);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,7,0,1,TPO_onSide_POC);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,8,0,1,TPO_onSide_VAL);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

    nbuf=CopyBuffer(handleTPO,9,0,1,TPO_onSide_VAH);
    if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());


    Contact FxBestTools for more help and guidance.

    Explore FxBestTools All Products.

    Share it with friends: