Äîáðûé äåíü! Ïîäñêàæèòå íîâè÷êó, ïîæàëóéñòà, êàê ïðàâèëüíî ïîëó÷àòü äàííûå èç èíäèêàòîðîâ ClusterDelta â ñâîé èíäèêàòîð â Metatrader 5?
Ïðîáóþ ÷åðåç iCustom. Èç ñòàíäàðòíûõ èíäèêàòîðîâ MT äàííûå êîïèðóþòñÿ áåç ïðîáëåì, íî èç ClusterDelta ïî÷åìó-òî âñåãäà ïðèõîäèò íîëü.
Âîò ïðèìåð êîäà, êîòîðûé äîëæåí îòîáðàçèòü äàííûå ïî îáú¸ìó èç ClusterDelta_PremiumVolume_4.1 â âèäå ëèíèè:
Êîä:
#property version "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
//---- ñòèëü ëèíèè
#property indicator_label1 "Volume"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- Âõîäíûå äàííûå CD Volume
extern string HELP_URL="http://my.clusterdelta.com/volume";
input string Instrument="AUTO";
input string MetaTrader_GMT="AUTO";
input string Comment_History="--- Premium Settings ";
input int Days_in_History=0;
input datetime Custom_Start_time=D'2017.01.01 00:00';
input datetime Custom_End_time=D'2017.01.01 00:00';
input color Current_Volume=clrRed;
input int Font_Size=8;
//--- áóôåð
double LineBuffer[];
//--- õýíäë
int LineHandle;
int OnInit()
{
//--- Ïðèâÿçêà áóôåðà
SetIndexBuffer(0,LineBuffer,INDICATOR_DATA);
ResetLastError();
//--- Ïîëó÷åíèå õýíäëà
LineHandle=iCustom(NULL,0,"ClusterDelta_PremiumVolume_4.1"
,HELP_URL
,Instrument
,MetaTrader_GMT
,Comment_History
,Days_in_History
,Custom_Start_time
,Custom_End_time
,Current_Volume
,Font_Size
);
//--- Ðåçóëüòàò çàïðîñà õýíäëà
Print("LineHandle = ",LineHandle," error = ",GetLastError());
return(INIT_SUCCEEDED);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//--- êîïèðóåì çíà÷åíèÿ èíäèêàòîðà â íàø èíäèêàòîðíûé áóôåð
int copy = CopyBuffer(LineHandle,0,0,rates_total,LineBuffer);
//--- Ðåçóëüòàò êîïèðîâàíèÿ äàííûõ
Print("copy=",copy," | rates_total=",rates_total," | LineBuffer=",LineBuffer[0]);
//--- Åñëè ïîïûòêà íåóäà÷íàÿ ñîîáùèì îá ýòîì
if(copy<=0) Print("Íåóäà÷íàÿ ïîïûòêà ïîëó÷èòü çíà÷åíèÿ èíäèêàòîðà");
return(rates_total);
}
Ïîäñêàæèòå, ïîæàëóéñòà, ãäå îøèáêà?