#ifndef DEFINES_RC_MQH #define DEFINES_RC_MQH #define IND_ARRAY_BUFFER_SIZE 1 // Настройки входа по индикаторам RSI и CCIINPUT string Indicator_settings; DEFINES_LABEL_NAME ( rsi_cci_filter_settings,"Фильтр - RSI-CCI" ); //===== Фильтры, ИНДИКАТОРНЫЙ RSI-CCI фильтр DEFINES_LABEL_NAME ( rsi_cci_filter_settings_first,"Настройки первого входа" ); //===== INPUT bool use_for1Order = false; INPUT enum_time_frames CandleTimeframe = H1_; INPUT enum_time_frames RsiTimeframe = M5_; INPUT int RsiPeriod = 14; //Период RSI фильтра 1-го колена INPUT int RsiLevel = 20; INPUT enum_time_frames CciTimeframe = M5_; INPUT int CciPeriod = 30; INPUT int CciLevel = 50; DEFINES_LABEL_NAME ( rsi_cci_filter_settings_next,"Настройки последующих колен" ); //===== INPUT int use_for_next_Order = 0; INPUT enum_time_frames CandleTimeframeNext = H1_; INPUT enum_time_frames RsiTimeframeNext = M5_; //Уровень срабатывания RSI фильтра 50+\- 1-го колена INPUT int RsiPeriodNext = 14; //Период RSI фильтра N-го колена INPUT int RsiLevelNext = 20; //Уровень срабатывания RSI фильтра 50+\- N-го колена INPUT enum_time_frames CciTimeframeNext = M5_; INPUT int CciPeriodNext = 30; INPUT int CciLevelNext = 50; //--- Проверка параметров bool rc_defines_validate(){ return valid_tfrm ( custom_tf_to_tf(CandleTimeframe) ) && valid_tfrm ( custom_tf_to_tf(CandleTimeframeNext) ) && valid_tfrm ( custom_tf_to_tf(RsiTimeframe) ) && valid_inte ( RsiPeriod, RsiPeriod > 0 ) && valid_tint ( RsiLevel) && valid_tfrm ( custom_tf_to_tf(RsiTimeframeNext) ) && valid_inte ( RsiPeriodNext, RsiPeriodNext > 0 ) && valid_tint ( RsiLevelNext) && valid_tfrm ( custom_tf_to_tf(CciTimeframe) ) && valid_inte ( CciPeriod, CciPeriod > 0 ) && valid_tint ( CciLevel) && valid_tfrm ( custom_tf_to_tf(CciTimeframeNext) ) && valid_inte ( CciPeriodNext, CciPeriodNext > 0 ) && valid_tint ( CciLevelNext) && valid_tboo ( use_for1Order) && valid_inte ( use_for_next_Order, use_for_next_Order>=0); } //--- Copy inputs to settings void rc_settings(setting_t *result){ result.CandleTimeFrame1 = custom_tf_to_tf(CandleTimeframe); result.CandleTimeFrame = custom_tf_to_tf(CandleTimeframeNext); result.RsiTimeFrame = custom_tf_to_tf(RsiTimeframeNext); result.RsiTimeFrame1 = custom_tf_to_tf(RsiTimeframe); result.RsiPeriod1 = RsiPeriod; result.RsiLevel1 = RsiLevel; result.RsiPeriod = RsiPeriodNext; result.RsiLevel = RsiLevelNext; result.CciTimeFrame1 = custom_tf_to_tf(CciTimeframe); result.CciTimeFrame = custom_tf_to_tf(CciTimeframeNext); result.CciPeriod1 = CciPeriod; result.CciLevel1 = CciLevel; result.CciPeriod = CciPeriodNext; result.CciLevel = CciLevelNext; result.use_for1Order = use_for1Order; result.use_for_next_Order = use_for_next_Order; } #endif