EA-Setka-2/Libs/CtrlPanel/CtrlPanelFilterState.mqh

82 lines
6.6 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 14:50:44 +02:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| CtrlPanelComment.mqh |
//| Copyright 2021, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#ifndef CTRL_PANEL_FILTER_STATE_MQH
#define CTRL_PANEL_FILTER_STATE_MQH
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CCtrlPanelFilterState: public CCtrlPanelComment
{
public:
CCtrlPanelFilterState() {};
virtual void CreatePanelItems();
virtual void OnTickCalculateEvent();
};
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CCtrlPanelFilterState::CreatePanelItems()
{
_panel.SetText(0,GenerateHeader(TimeCurrent()), _color_caption);
_panel.SetText(1,"", _color_text);
_panel.SetText(2,"", _color_text);
_panel.SetText(3,"", _color_text);
_panel.SetText(4,long_hd._filter_state_info, _color_text);
_panel.SetText(5,short_hd._filter_state_info, _color_text);
_panel.SetText(6,"", _color_text);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CCtrlPanelFilterState::OnTickCalculateEvent()
{
static MqlTick Tick;
string str="";
SymbolInfoTick(CURRENT_SYMBOL,Tick);
_panel.SetText(0,GenerateHeader(Tick.time,Tick.time_msc), _color_caption);
#ifdef USE_FILTERS
str = StringFormat("ADX BUY1=%s, ADX_SELL1=%s,ADX_BUY=%s,ADX_SELL=%s",B2S(adx_buy1),B2S(adx_sell1),B2S(adx_buy),B2S(adx_sell));
_panel.SetText(1,str, _color_text);
str = StringFormat("OSC_BUY1=%s, OSC_SELL1=%s,OSC_BUY=%s,OSC_SELL=%s",B2S(cci_buy1),B2S(cci_sell1),B2S(cci_buy),B2S(cci_sell));
_panel.SetText(2,str, _color_text);
#endif
#ifdef RSI_CCI
// TODO: =0G5=85 D8;LB@>2 =5 70?>;=ONBAO 2 ;0A5 calc_rc, ?>MB><C =865 2K2>4OBAO 7=0G5=8O ?5@5<5==KE ?> C<>;G0=8N, MB>B :CA>: 2AB02;5= 4;O ?@8<5@0.
// A;8 =5>1E>48<> >B>1@060BL A>AB>O=85 D8;LB@>2 <>40 RCI-CCI =5>1E>48<> @50;87>20BL 2A5 2 <>4C;5 calc_rc
str = StringFormat("RSI-Buy1=%s, RSI-Sell1=%s, RSI-Buy=%s, RSI-Sell=%s",B2S(adx_buy1),B2S(adx_sell1),B2S(adx_buy),B2S(adx_sell));
_panel.SetText(1,str, _color_text);
str = StringFormat("CCI-Buy1=%s, CCI-Sell1=%s, CCI-Buy=%s, CCI-Sell=%s",B2S(cci_buy1),B2S(cci_sell1),B2S(cci_buy),B2S(cci_sell));
_panel.SetText(2,str, _color_text);
#endif
_panel.SetText(4,long_hd._filter_state_info, _color_text);
_panel.SetText(5,short_hd._filter_state_info, _color_text);
_panel.SetText(6,"Price: "+DoubleToString(Tick.bid,kernel_account::digits()),_color_text);
_readyForUpdate=true;
}
#endif
//+------------------------------------------------------------------+