Bars news
- Indicadores
- Aleksander Gladkov
- Versión: 1.1
- Actualizado: 19 diciembre 2023
- Activaciones: 10
Indicador de noticias vinculadas a un bar.
El valor actual publicado de la noticia tiene un impacto característico en la divisa a la que se refiere: positivo, negativo, neutro. El indicador resume todos estos valores para el periodo seleccionado, teniendo en cuenta la importancia de la noticia: alta, media, baja. Como resultado, se calcula un porcentaje para el par de divisas, que muestra las noticias de las que la divisa es dominante. Si el valor es positivo, entonces el par tiene presión de noticias hacia la COMPRA, si es negativo - VENTA.
Salida de tres valores:
- número de noticias durante el periodo de la barra
- impacto del índice de noticias durante el periodo de la barra
- índice actual de impacto de las noticias
int BN_handle;
int OnInit()
{
ResetLastError();
BN_handle=iCustom(NULL,0,"\\Indicators\\Examples\\Bars_news_v10.ex5",100,10);
if(BN_handle==INVALID_HANDLE)
{
PrintFormat("Error getting the indicator handle Bars News. Error code = %d",GetLastError());
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
if(BN_handle!=INVALID_HANDLE) IndicatorRelease(BN_handle);
}
void OnTick()
{ static int Cur_bar=1;
double Number_of_bar_news,Impact_of_bar_news,Current_news_impact;
if (Cur_bar<10)
{ Number_of_bar_news =iCustomGet(BN_handle,0,Cur_bar);
Impact_of_bar_news =iCustomGet(BN_handle,1,Cur_bar);
Current_news_impact =iCustomGet(BN_handle,2,Cur_bar);
PrintFormat("Cur_bar =%d:, Number_of_bar_news =%d, Impact_of_bar_news =%.1f Current_news_impact =%.1f",
Cur_bar,Number_of_bar_news,Impact_of_bar_news,Current_news_impact);
Cur_bar++;
}
}
double iCustomGet(const int ind_handle,const int buffer,int start_pos)
{
double Custom[1];
ResetLastError();
if(CopyBuffer(ind_handle,buffer,start_pos,1,Custom)<0)
{
PrintFormat("Failed to copy data from the indicator, error code %d",GetLastError());
return(0.0);
}
return(Custom[0]);
}
