feat: add time-close option to journal exit trigger dropdown

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-11 22:28:04 +08:00
parent 44c3703f07
commit 309eebc61d
8 changed files with 20 additions and 12 deletions
+2 -1
View File
@@ -1014,6 +1014,7 @@ EARLY_EXIT_TRIGGERS = (
"止盈",
"保本止盈",
"移动止盈",
TIME_CLOSE_RESULT,
"手动平仓",
"止损",
"其他",
@@ -1103,7 +1104,7 @@ def ai_extract_journal_from_image(image_b64):
- 趋势多头小分歧低吸入场左侧确认条件二次探底
- 趋势空头小分歧高吸入场左侧确认条件二次探顶
- 波段单5m顺势突破确认条件2根k线+成交量放大+4h同向+日成交量前20
6) early_exit_trigger 只能从下列取值中选一个无法识别则填空字符串保本止盈移动止盈手动平仓止损其他
6) early_exit_trigger 只能从下列取值中选一个无法识别则填空字符串止盈保本止盈移动止盈时间平仓手动平仓止损其他
7) 若触发为手动平仓early_exit_note 必须写出图中可见的补充说明其他触发类型 early_exit_note 留空
8) 若图中有无法归类的离场说明原文可放进 early_exit_noteearly_exit_trigger 其他或留空
+3 -2
View File
@@ -652,6 +652,7 @@
<option value="止盈">止盈</option>
<option value="保本止盈">保本止盈</option>
<option value="移动止盈">移动止盈</option>
<option value="时间平仓">时间平仓</option>
<option value="手动平仓">手动平仓</option>
<option value="止损">止损</option>
<option value="其他">其他</option>
@@ -1243,7 +1244,7 @@ function setJournalField(name, value){
el.value = String(value);
}
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","手动平仓","止损","其他"]);
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","时间平仓","手动平仓","止损","其他"]);
const KEY_ENTRY_REASON_BY_SIGNAL = {
"箱体突破": "关键位箱体突破",
"收敛突破": "关键位收敛突破",
@@ -1378,7 +1379,7 @@ function fillJournalFromTrade(t){
setJournalField("entry_reason_custom", "");
syncJournalEntryReasonOtherUi();
const er = String(t.result || "").trim();
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 手动平仓: "手动平仓", 止损: "止损" };
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 时间平仓: "时间平仓", 手动平仓: "手动平仓", 止损: "止损" };
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
setJournalField("note", note);