45 lines
No EOL
3.1 KiB
MQL5
45 lines
No EOL
3.1 KiB
MQL5
#ifndef FILL_RC_BUFFERS_MQH
|
|
#define FILL_RC_BUFFERS_MQH
|
|
|
|
int calc_rc::Init(setting_t *settings){
|
|
return(INIT_SUCCEEDED);
|
|
};
|
|
|
|
void calc_rc::Deinit(void){};
|
|
|
|
static bool calc_rc::fill_rc_buffers(setting_t *settings)
|
|
{
|
|
if (settings.use_for_next_Order != 0)
|
|
{
|
|
if(OldCci != iTime(CURRENT_SYMBOL,settings.CciTimeFrame,1)
|
|
|| (OldRci != iTime(CURRENT_SYMBOL,settings.RsiTimeFrame,1)))
|
|
{
|
|
OldCci = iTime(CURRENT_SYMBOL,settings.CciTimeFrame,1);
|
|
OldRci = iTime(CURRENT_SYMBOL,settings.RsiTimeFrame,1);
|
|
for (int i=(IND_ARRAY_BUFFER_SIZE-1); i>=0; i--)
|
|
{
|
|
CciBuff[i] = iCCI(CURRENT_SYMBOL,settings.CciTimeFrame,settings.CciPeriod,PRICE_CLOSE,i+1);
|
|
RsiBuff[i] = iRSI(CURRENT_SYMBOL,settings.RsiTimeFrame,settings.RsiPeriod,PRICE_CLOSE,i+1) - 50;
|
|
};
|
|
}
|
|
}
|
|
if (settings.use_for1Order != 0)
|
|
{
|
|
if(OldCci1 != iTime(CURRENT_SYMBOL,settings.CciTimeFrame1,1)
|
|
|| (OldRci1 != iTime(CURRENT_SYMBOL,settings.RsiTimeFrame1,1)))
|
|
{
|
|
OldCci1 = iTime(CURRENT_SYMBOL,settings.CciTimeFrame1,1);
|
|
OldRci1 = iTime(CURRENT_SYMBOL,settings.RsiTimeFrame1,1);
|
|
for (int i=(IND_ARRAY_BUFFER_SIZE-1); i>=0; i--)
|
|
{
|
|
CciBuff1[i] = iCCI(CURRENT_SYMBOL,settings.CciTimeFrame1,settings.CciPeriod1,PRICE_CLOSE,i+1);
|
|
RsiBuff1[i] = iRSI(CURRENT_SYMBOL,settings.RsiTimeFrame1,settings.RsiPeriod1,PRICE_CLOSE,i+1) - 50;
|
|
};
|
|
}
|
|
};
|
|
return(true);
|
|
};
|
|
|
|
|
|
|
|
#endif |