Create a buffer of a indicator for uses on my robot

MQL5 Indicators Experts

Specification

The code is VP (insert file below VP-Master.zip) but no have buffer for use with my robot.

I need a buffer for VP indicator for (max volume price only) for use in my robot.

The creator of indicator, create a expert too for show the line owhen run backtest:

/*
Copyright 2020 FXcoder

This file is part of VPSimple.

VPSimple is free software: you can redistribute it and/or modify it under the terms of the GNU General
Public License as published by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

VPSimple is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along with VPSimple. If not, see
http://www.gnu.org/licenses/.
*/

#property copyright "VPSimple 2.0.1. © FXcoder"
#property link      "https://fxcoder.blogspot.com"
#property strict

#include "VPSimple-include/bsl.mqh"
#include "VPSimple-include/util/stat.mqh"
#include "VPSimple-include/volume/vp_calc.mqh"


int OnInit()
{
        // show EA-Line indicators in visual testing, see https://www.fxcoder.ru/2013/07/ea-line-indicator.html
        if (MQLInfoInteger(MQL_VISUAL_MODE))
        {
                iCustom(_Symbol, PERIOD_CURRENT, "FXcoder/EA-Line/EA-Line0", "vp-max-price");
                iCustom(_Symbol, PERIOD_CURRENT, "FXcoder/EA-Line/EA-Line", "vp-max-volume");
                iCustom(_Symbol, PERIOD_CURRENT, "FXcoder/EA-Line/EA-Line", "vp-total-volume");
        }

        return(INIT_SUCCEEDED);
}

void OnTick()
{
        // time range for 1000 last bars

        datetime time_to = TimeCurrent();
        datetime time_arr[];

        if (CopyTime(_Symbol, PERIOD_M1, time_to, 1000, time_arr) < 1)
                return;

        datetime time_from = time_arr[0];


    // histogram

        int hg_point_scale = 10;
        double hg_point = _Point * hg_point_scale;
        CVPCalc vpcalc_(VP_SOURCE_M1, VOLUME_TICK, hg_point, VP_TICK_PRICE_LAST, 0, QUANTILE_NONE);

        double low_price;
        double volumes[];
        const int count = vpcalc_.get_hg(time_from, time_to, low_price, volumes);
        //const int count = vpcalc_.get_hg_by_ticks(time_from, time_to, low_price, volumes);

        if (count <= 0)
                return;


        // levels

        int mode_step = 100 / hg_point_scale;
        int modes[];

        int mode_count = hg_modes(volumes, mode_step, modes);
        int max_pos = _arr.max_index(volumes);
        int median_pos = _math.median_index(volumes);
        int vwap_pos = hg_vwap_index(volumes, low_price, hg_point);


        // max

        double max_volume_price = low_price + hg_point * max_pos;
        double max_volume = volumes[max_pos];


        // modes

        for (int i = 0; i < mode_count; i++)
        {
                double mode_price = low_price + hg_point * modes[i];
                double mode_volume = volumes[modes[i]];

                // do something with the mode...
        }

        // send data to EA-Line
        if (MQLInfoInteger(MQL_VISUAL_MODE))
        {
                GlobalVariableSet("vp-max-price", max_volume_price);
                GlobalVariableSet("vp-max-volume", max_volume);
                GlobalVariableSet("vp-total-volume", _math.sum(volumes));
        }
}

/*
Последние изменения:

2.0:

        * версия на основе кода VP-v9

1.0:

        * версия на основе кода VP-v6
*/


Files:

ZIP
vp-master.zip
235.0 Kb
PNG
fig1.png
36.3 Kb
PNG
fig2.png
41.9 Kb

Responded

1
Developer 1
Rating
(73)
Projects
124
52%
Arbitration
4
25% / 75%
Overdue
19
15%
Working

Project information

Budget
30 - 70 USD
For the developer
27 - 63 USD