AI Savior Advanced
- Uzmanlar
- Sürüm: 10.2
- Etkinleştirmeler: 5
# AI Savior_V — 啟動與信號流程圖 > 在 AI Savior_9(雙向馬丁網格)基礎上新增:**可選擇式進場信號引擎**(首單/加碼、AND 組合)、**圖表設定面板**(勾選後才浮現參數欄)、**風險揭露面板**、**設定檔存/載**。 > 用支援 Mermaid 的工具(VS Code + Mermaid 外掛、Typora、Obsidian、GitHub)開啟看圖。 --- ## 圖 1:啟動流程(實盤 / 視覺回測 / 非視覺回測 三種模式) ```mermaid flowchart TD Start([掛上 EA / 開始回測]) --> Init{OnInit} Init --> Setup[建立帳號白名單陣列] Setup --> IsTester{MQLInfoInteger
MQL_TESTER ?} IsTester -->|是 測試器| CI1[CodeInit 初始化框架
SE_Init + SE_Load 讀設定檔] CI1 --> Visual{MQL_VISUAL_MODE
視覺模式 ?} Visual -->|是 視覺回測| SP1[g_RiskConfirmed=false
SigPanel_Create 顯示信號面板] Visual -->|否 最佳化/快速| AUTO[g_RiskConfirmed=true
直接放行用存檔設定] SP1 --> Ready1([等待面板套用]) AUTO --> Ready1 IsTester -->|否 實盤| Risk{風險揭露面板
按「啟動」?} Risk -->|取消| Fail[INIT_FAILED / ExpertRemove] Risk -->|啟動 g_RiskAcked=true| SP2[SigPanel_Create
顯示信號設定面板] SP2 --> Apply{信號面板
按「套用並啟動」?} Apply -->|取消| Fail Apply -->|套用 g_RiskConfirmed=true| Ready2([開始交易]) ``` --- ## 圖 2:信號設定面板(勾選 → 浮現參數 → 套用/存/載) ```mermaid flowchart TD P([SigPanel 顯示]) --> Brand[頂部:BOSBM FinTech 藍色抬頭
+ 檔名欄 + 另存SAVE + 載入LOAD] Brand --> List[10 種信號逐列:
MA交叉/RSI/MACD/KD/CCI/WPR/
Donchian/布林突破/均線斜率/ADX] List --> Toggle{逐列點擊
首單 或 加碼 切換} Toggle -->|勾選某信號| ShowP[該列右側浮現參數輸入框
例: 週期/超賣/超買] Toggle -->|取消勾選| HideP[隱藏該列參數框] ShowP --> Edit[在框內填入參數值] HideP --> Foot Edit --> Foot{底部按鈕} Foot -->|另存 SAVE| Save[讀欄位→se_pval
SE_SaveFile 檔名欄指定檔] Foot -->|載入 LOAD| Load[SE_LoadFile→更新勾選與參數框] Foot -->|重設預設| Reset[全部取消+參數回預設] Foot -->|取消 CANCEL| Cancel[ExpertRemove 卸載] Foot -->|套用並啟動 APPLY| ApplyB[讀欄位→se_pval
SE_Save 預設檔
g_RiskConfirmed=true→開始交易] Save --> P Load --> P Reset --> P ``` --- ## 圖 3:進場邏輯整合(首單 AND 組合 + 加碼信號過濾) ```mermaid flowchart TD T([OnTick]) --> Gate{g_RiskConfirmed?} Gate -->|否| Stop[return 不交易] Gate -->|是| Locks[通過帳號/時間/反破解鎖] Locks --> Logic[BOSBM::Logic] Logic --> First{首單信號
SE_FirstCount > 0 ?} First -->|有勾選| AND1[SE_FirstSignal
勾選的信號 AND 組合] First -->|沒勾選| Legacy[回退原版 iIndicatorsSignal
預設 NoSignal=每根進場] AND1 --> Dir{全部同方向?} Legacy --> Dir Dir -->|全多| OpenB[m_b==0 → 開首張 BUY] Dir -->|全空| OpenS[m_s==0 → 開首張 SELL] Dir -->|不一致/無| NoEntry[不開首單] OpenB --> AddCheck OpenS --> AddCheck NoEntry --> AddCheck{價格逆勢達加碼距離?} AddCheck -->|是| AddSig{加碼信號
SE_AddCount > 0 ?} AddSig -->|有勾選| AND2[要求 SE_AddSignal 同向才加碼] AddSig -->|沒勾選| AddFree[直接網格加碼 原版行為] AND2 --> Mart[馬丁加碼 x2] AddFree --> Mart ``` > ⚠️ **AND 提醒**:勾選多個「交叉型」信號(MA交叉/RSI/MACD/KD/WPR)做 AND,需要同一根 K 棒同時觸發交叉,幾乎不可能成交。要 AND 多信號時,建議搭配「狀態型」信號(Donchian突破/布林突破/均線斜率/ADX)較合理。 --- ## 圖 4:保護鎖狀態(AI Savior_V 測試版 vs 正式版) ```mermaid flowchart LR subgraph V[AI Savior_V 測試版] A1[帳號白名單 isnamber = false ✅關] A2[授權時間 istradetime = false ✅關] A3[平台名稱 istradecompany = false] A4[MetaQuotes 反破解:仍在
只擋 MetaQuotes Demo + 黃金] end subgraph PROD[正式發佈版 應保持] B1[isnamber = true 白名單] B2[istradetime = true 到期日] B3[反破解 開啟] end ``` --- ## 啟動狀態旗標對照 | 旗標 | 意義 | 何時為 true | |---|---|---| | `g_RiskAcked` | 已按風險面板「啟動」 | 實盤按下風險面板 OK | | `g_RiskConfirmed` | 最終放行交易(OnTick 閘) | 信號面板按「套用並啟動」;或非視覺回測自動設定 | | `se_first_on[i]` | 第 i 信號用於首單 | 面板勾「首單」 | | `se_add_on[i]` | 第 i 信號用於加碼 | 面板勾「加碼」 | ## 新增檔案 - `Headers/sig_engine.mqh` — 信號引擎(10 信號 + AND 組合 + 存/載) - `Headers/sig_panel.mqh` — 信號設定面板(勾選浮現參數、存/載、BOSBM FinTech 抬頭) - `Headers/risk_panel.mqh` — 風險揭露可捲動面板(實盤)
MQL_TESTER ?} IsTester -->|是 測試器| CI1[CodeInit 初始化框架
SE_Init + SE_Load 讀設定檔] CI1 --> Visual{MQL_VISUAL_MODE
視覺模式 ?} Visual -->|是 視覺回測| SP1[g_RiskConfirmed=false
SigPanel_Create 顯示信號面板] Visual -->|否 最佳化/快速| AUTO[g_RiskConfirmed=true
直接放行用存檔設定] SP1 --> Ready1([等待面板套用]) AUTO --> Ready1 IsTester -->|否 實盤| Risk{風險揭露面板
按「啟動」?} Risk -->|取消| Fail[INIT_FAILED / ExpertRemove] Risk -->|啟動 g_RiskAcked=true| SP2[SigPanel_Create
顯示信號設定面板] SP2 --> Apply{信號面板
按「套用並啟動」?} Apply -->|取消| Fail Apply -->|套用 g_RiskConfirmed=true| Ready2([開始交易]) ``` --- ## 圖 2:信號設定面板(勾選 → 浮現參數 → 套用/存/載) ```mermaid flowchart TD P([SigPanel 顯示]) --> Brand[頂部:BOSBM FinTech 藍色抬頭
+ 檔名欄 + 另存SAVE + 載入LOAD] Brand --> List[10 種信號逐列:
MA交叉/RSI/MACD/KD/CCI/WPR/
Donchian/布林突破/均線斜率/ADX] List --> Toggle{逐列點擊
首單 或 加碼 切換} Toggle -->|勾選某信號| ShowP[該列右側浮現參數輸入框
例: 週期/超賣/超買] Toggle -->|取消勾選| HideP[隱藏該列參數框] ShowP --> Edit[在框內填入參數值] HideP --> Foot Edit --> Foot{底部按鈕} Foot -->|另存 SAVE| Save[讀欄位→se_pval
SE_SaveFile 檔名欄指定檔] Foot -->|載入 LOAD| Load[SE_LoadFile→更新勾選與參數框] Foot -->|重設預設| Reset[全部取消+參數回預設] Foot -->|取消 CANCEL| Cancel[ExpertRemove 卸載] Foot -->|套用並啟動 APPLY| ApplyB[讀欄位→se_pval
SE_Save 預設檔
g_RiskConfirmed=true→開始交易] Save --> P Load --> P Reset --> P ``` --- ## 圖 3:進場邏輯整合(首單 AND 組合 + 加碼信號過濾) ```mermaid flowchart TD T([OnTick]) --> Gate{g_RiskConfirmed?} Gate -->|否| Stop[return 不交易] Gate -->|是| Locks[通過帳號/時間/反破解鎖] Locks --> Logic[BOSBM::Logic] Logic --> First{首單信號
SE_FirstCount > 0 ?} First -->|有勾選| AND1[SE_FirstSignal
勾選的信號 AND 組合] First -->|沒勾選| Legacy[回退原版 iIndicatorsSignal
預設 NoSignal=每根進場] AND1 --> Dir{全部同方向?} Legacy --> Dir Dir -->|全多| OpenB[m_b==0 → 開首張 BUY] Dir -->|全空| OpenS[m_s==0 → 開首張 SELL] Dir -->|不一致/無| NoEntry[不開首單] OpenB --> AddCheck OpenS --> AddCheck NoEntry --> AddCheck{價格逆勢達加碼距離?} AddCheck -->|是| AddSig{加碼信號
SE_AddCount > 0 ?} AddSig -->|有勾選| AND2[要求 SE_AddSignal 同向才加碼] AddSig -->|沒勾選| AddFree[直接網格加碼 原版行為] AND2 --> Mart[馬丁加碼 x2] AddFree --> Mart ``` > ⚠️ **AND 提醒**:勾選多個「交叉型」信號(MA交叉/RSI/MACD/KD/WPR)做 AND,需要同一根 K 棒同時觸發交叉,幾乎不可能成交。要 AND 多信號時,建議搭配「狀態型」信號(Donchian突破/布林突破/均線斜率/ADX)較合理。 --- ## 圖 4:保護鎖狀態(AI Savior_V 測試版 vs 正式版) ```mermaid flowchart LR subgraph V[AI Savior_V 測試版] A1[帳號白名單 isnamber = false ✅關] A2[授權時間 istradetime = false ✅關] A3[平台名稱 istradecompany = false] A4[MetaQuotes 反破解:仍在
只擋 MetaQuotes Demo + 黃金] end subgraph PROD[正式發佈版 應保持] B1[isnamber = true 白名單] B2[istradetime = true 到期日] B3[反破解 開啟] end ``` --- ## 啟動狀態旗標對照 | 旗標 | 意義 | 何時為 true | |---|---|---| | `g_RiskAcked` | 已按風險面板「啟動」 | 實盤按下風險面板 OK | | `g_RiskConfirmed` | 最終放行交易(OnTick 閘) | 信號面板按「套用並啟動」;或非視覺回測自動設定 | | `se_first_on[i]` | 第 i 信號用於首單 | 面板勾「首單」 | | `se_add_on[i]` | 第 i 信號用於加碼 | 面板勾「加碼」 | ## 新增檔案 - `Headers/sig_engine.mqh` — 信號引擎(10 信號 + AND 組合 + 存/載) - `Headers/sig_panel.mqh` — 信號設定面板(勾選浮現參數、存/載、BOSBM FinTech 抬頭) - `Headers/risk_panel.mqh` — 風險揭露可捲動面板(實盤)

