140 lines
No EOL
6.3 KiB
MQL5
140 lines
No EOL
6.3 KiB
MQL5
#ifndef SETTING_MQH
|
|
#define SETTING_MQH
|
|
|
|
#include "enum/enum.mqh"
|
|
#include "scheduler.mqh"
|
|
|
|
struct setting_vol_filter
|
|
{
|
|
ushort n;
|
|
ENUM_TIMEFRAMES candle_tf;
|
|
int from_level;
|
|
int end_level;
|
|
int candles;
|
|
bool null_bars;
|
|
bool candles_one_way;
|
|
bool candle_open_close;
|
|
int candle_max_size;
|
|
int stop_trade_timing;
|
|
bool block_both_direction;
|
|
};
|
|
|
|
class setting_t : public disposable_obj {
|
|
public:
|
|
bool is_testing;
|
|
double testing_balance;
|
|
double testing_layer_market_lot_min;
|
|
|
|
int magic_number;
|
|
float max_spread;
|
|
|
|
bool close_all_orders;
|
|
bool open_positions;
|
|
bool open_first_order;
|
|
int max_open_orders;
|
|
|
|
int pause_on_close_in_sec;
|
|
|
|
|
|
#ifdef USE_FILTERS
|
|
#include "filters/setting.mqh"
|
|
#endif
|
|
#ifdef RSI_CCI
|
|
#include "rsi_cci/setting.mqh"
|
|
#endif
|
|
enum_position_signal position_signal;
|
|
|
|
ENUM_TIMEFRAMES time_frame;
|
|
int candles_for_open_first_order;
|
|
bool candles_for_open_first_order_open_close;
|
|
int candles_for_open_first_order_min_pips;
|
|
int candles_for_open_first_order_max_pips;
|
|
bool revers_signal_to_open_first_order;
|
|
bool candles_for_open_first_order_one_way;
|
|
|
|
double lvl_open_first_order;
|
|
int lvl_open_move_koaf;
|
|
double lvl_no_first_order;
|
|
|
|
enum_take_profit_calc_type tp_type;
|
|
int take_proffit;
|
|
int take_proffit_level1;
|
|
int take_proffit_level1_corr;
|
|
int take_proffit_level2;
|
|
int take_proffit_level2_corr;
|
|
int take_proffit_level3;
|
|
int take_proffit_level3_fix_pips;
|
|
uint tp_channel_height;
|
|
ushort tp_channel_lvl;
|
|
int take_profit_control_timing;
|
|
int take_profit_control_noloss_fixpips;
|
|
int max_spread_stop_drading_timing;
|
|
|
|
int grid_step;
|
|
int grid_level;
|
|
int grid_value;
|
|
int grid_level2;
|
|
int grid_level2_add_pips;
|
|
int grid_level3;
|
|
int grid_level3_add_pips;
|
|
int grid_stop;
|
|
|
|
enum_calc_lot_type mult_type;
|
|
int currency_for_001_lot;
|
|
double lots;
|
|
int lot_exp;
|
|
int multi_lots_level1;
|
|
double multi_lots_factor;
|
|
int multi_lots_level2;
|
|
double multi_lots_level2_corr;
|
|
int multi_lots_level3;
|
|
double multi_lots_level3_corr;
|
|
int mult4;
|
|
double mult4_add;
|
|
|
|
int mult_stop;
|
|
double max_lot;
|
|
double test_min_lot;
|
|
|
|
enum_gap_control_type gap_control;
|
|
enum_gap_control_delete_pending_orders far_pending_orders_delete;
|
|
int gap_max_order_stop;
|
|
int gap_min_pips_from_market;
|
|
int gap_min_pips;
|
|
int gap_min_percent;
|
|
double gap_lot_koef;
|
|
double gap_last_order_koef;
|
|
|
|
setting_vol_filter vol_filter;
|
|
setting_vol_filter vol_filter2;
|
|
setting_vol_filter vol_filter3;
|
|
|
|
string hash_vol_filters; // хэш значений фильтра волатильности
|
|
|
|
|
|
day_of_week_t trade_start_day;
|
|
int trade_start_minute;
|
|
day_of_week_t trade_end_day;
|
|
int trade_stop_minute;
|
|
|
|
datetime final_stop_trading;
|
|
int max_trade_pairs;
|
|
int currency_block;
|
|
int no1Order_by_drawdown_percent;
|
|
int no1Order_by_drawdown_percent_off;
|
|
bool close_all_orders_by_drawdown_stop_trade;
|
|
double close_orders_by_drawdown_for_001lot;
|
|
double close_orders_by_drawdown_tp_ratio;
|
|
|
|
int no_first_counter_order_from_level;
|
|
|
|
string add_comment;
|
|
int min_leverage;
|
|
int min_time_step;
|
|
|
|
string currency_block_label;
|
|
string max_trade_pairs_label;
|
|
enum_ctrl_panel show_comments;
|
|
};
|
|
|
|
#endif |