//+------------------------------------------------------------------+ //| Config.mqh | //| Configuration and Constants for QuarterTheory | //+------------------------------------------------------------------+ #property copyright "QuarterTheory x VIZION" #property version "5.80" #property strict //================ ENUMS ==================// enum MODE_FAMILY { FAMILY_TRENDING = 0, FAMILY_RANGING = 1, FAMILY_CHOP = 2, FAMILY_TRANSITIONAL = 3 }; enum TREND_BIAS { BIAS_NEUTRAL = 0, BIAS_BULL = 1, BIAS_BEAR = -1 }; enum TREND_STRENGTH { STRENGTH_WEAK = 0, STRENGTH_CONFIRMED = 1, STRENGTH_STRONG = 2 }; enum PRICE_STATE { STATE_CONTINUATION = 0, STATE_PULLBACK = 1, STATE_DEEP_RETRACEMENT = 2, STATE_REVERSAL_ATTEMPT = 3, STATE_REVERSAL_CONFIRMED = 4, STATE_RANGE_MID_DRIFT = 10, STATE_RANGE_EDGE_TEST = 11, STATE_RANGE_REJECTION = 12, STATE_RANGE_BREAK_ATTEMPT = 13, STATE_RANGE_BREAK_CONFIRMED = 14, STATE_CHOP_NOISE = 20, STATE_CHOP_VOL_SPIKE = 21, STATE_CHOP_SQUEEZE = 22, STATE_CHOP_FAKEOUT_LOOP = 23, STATE_UNKNOWN = 99 }; enum SETUP_TYPE { SETUP_MA14_CROSS = 1, SETUP_MA50_BOUNCE = 2, SETUP_MA140_BOUNCE = 3, SETUP_MA230_BOUNCE = 4, SETUP_MA500_TOUCH = 5, SETUP_FIB_BREAK = 6, SETUP_FIB_RECLAIM = 7, SETUP_FIB_REJECT = 8, SETUP_MAGNET_WALK = 9, SETUP_STAIRCASE_ADV = 10, SETUP_CTRL_PULLBACK = 11, SETUP_TF_RESET = 12, SETUP_MFIB_LADDER = 13, SETUP_MFIB_PRESS = 14, SETUP_MEAN_REV = 15, SETUP_RANGE_ENGINE = 16, SETUP_PULLBACK_COUNTER = 17, SETUP_RETRACEMENT_COUNTER = 18 }; enum TRADE_CATEGORY { CATEGORY_CONTINUATION = 0, CATEGORY_COUNTER_TREND = 1 }; //================ STRUCTURES ==================// struct PositionRec { ulong ticket; double entry; double original_lot; bool is_buy; bool partial_tp_hit; bool be_set; bool trailing_active; bool is_runner; SETUP_TYPE setup_type; TRADE_CATEGORY category; string setup_name; MODE_FAMILY entry_family; TREND_BIAS entry_bias; TREND_STRENGTH entry_strength; double distance_from_current; datetime last_close_time; bool closed_at_sl; bool closed_at_be; double close_price; int mfib_partials_taken; double last_mfib_partial_price; }; struct ClosedPositionRec { SETUP_TYPE setup_type; TRADE_CATEGORY category; bool was_buy; double close_price; datetime close_time; bool closed_at_sl; bool closed_at_be; };