Add range breakout guard for reverse limit orders
This commit is contained in:
@@ -117,6 +117,14 @@ input double m15_imbalance_sensitivity = 2.0; // M15初動検知感度
|
||||
input double m15_imbalance_min_avg_body_points = 1.0; // 平均実体の最小値(point)
|
||||
input bool use_m15_imbalance_debug_log = false; // M15初動確認ログ
|
||||
input int input_entry_max_candidate_age_minutes = 120; // H1候補価格を新規発注に使う最大経過分数
|
||||
input bool input_range_breakout_guard_enabled = true; // レンジ上抜け/下抜け時に逆張りLimitを退避
|
||||
input ENUM_TIMEFRAMES input_range_breakout_guard_timeframe = PERIOD_M15; // レンジブレイク監視足
|
||||
input int input_range_breakout_lookback_bars = 20; // レンジ高値安値の参照本数
|
||||
input double input_range_breakout_max_width_multiplier = 6.0; // 平均レンジに対する最大レンジ幅
|
||||
input double input_range_breakout_buffer_multiplier = 0.20; // ブレイク確定バッファ倍率
|
||||
input double input_range_breakout_near_multiplier = 0.50; // ブレイク警戒の境界接近幅倍率
|
||||
input double input_range_breakout_body_multiplier = 1.50; // 勢い判定の平均実体倍率
|
||||
input int input_range_breakout_cooldown_bars = 4; // 逆張りLimit停止を継続する足数
|
||||
input bool input_sltp_manager_enabled = false; // UI連動SLTP管理を有効化
|
||||
input bool input_sltp_show_panel = true; // SLTP操作パネルを表示
|
||||
input bool input_sltp_use_breakeven = false; // 通常ブレークイーブンを有効化
|
||||
@@ -162,6 +170,10 @@ ulong slippage = 10; // スリッページ
|
||||
#define MARKET_HIGH_VOL_DOWN 5
|
||||
#define MARKET_TECHNICAL_ERROR_STOP 6
|
||||
|
||||
#define RANGE_BREAKOUT_NONE 0
|
||||
#define RANGE_BREAKOUT_UP 1
|
||||
#define RANGE_BREAKOUT_DOWN -1
|
||||
|
||||
//+------------------------------------------------------------------+
|
||||
|
||||
//+------------------------------------------------------------------+
|
||||
@@ -209,6 +221,10 @@ bool g_bars_M15_check = false;
|
||||
ulong g_cancel_retry_tickets[];
|
||||
datetime g_cancel_retry_at[];
|
||||
|
||||
// レンジブレイク時に逆張りLimitを一時停止する状態。
|
||||
int g_range_breakout_guard_direction = RANGE_BREAKOUT_NONE;
|
||||
datetime g_range_breakout_guard_until = 0;
|
||||
|
||||
// ティックごとの価格情報
|
||||
struct TickContext
|
||||
{
|
||||
@@ -450,6 +466,9 @@ void OnTick()
|
||||
// Existing-position protection stays active even while Python results are pending.
|
||||
ManageSLTPPositions();
|
||||
|
||||
// Delete and pause adverse limit orders before breakout spikes can fill them.
|
||||
ManageRangeBreakoutLimitGuard(ctx);
|
||||
|
||||
// 外部Pythonがdoneを返さない場合に、一定時間で待機状態を解除して再実行対象にする。
|
||||
RecoverTimedOutPythonProcesses();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user