feat: add time-close option to journal exit trigger dropdown
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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
|
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
||||||
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):保本止盈、移动止盈、手动平仓、止损、其他。
|
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):止盈、保本止盈、移动止盈、时间平仓、手动平仓、止损、其他。
|
||||||
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
||||||
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
<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);
|
el.value = String(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","手动平仓","止损","其他"]);
|
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","时间平仓","手动平仓","止损","其他"]);
|
||||||
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
||||||
"箱体突破": "关键位箱体突破",
|
"箱体突破": "关键位箱体突破",
|
||||||
"收敛突破": "关键位收敛突破",
|
"收敛突破": "关键位收敛突破",
|
||||||
@@ -1378,7 +1379,7 @@ function fillJournalFromTrade(t){
|
|||||||
setJournalField("entry_reason_custom", "");
|
setJournalField("entry_reason_custom", "");
|
||||||
syncJournalEntryReasonOtherUi();
|
syncJournalEntryReasonOtherUi();
|
||||||
const er = String(t.result || "").trim();
|
const er = String(t.result || "").trim();
|
||||||
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 手动平仓: "手动平仓", 止损: "止损" };
|
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 时间平仓: "时间平仓", 手动平仓: "手动平仓", 止损: "止损" };
|
||||||
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
||||||
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
||||||
setJournalField("note", note);
|
setJournalField("note", note);
|
||||||
|
|||||||
@@ -1004,6 +1004,7 @@ EARLY_EXIT_TRIGGERS = (
|
|||||||
"止盈",
|
"止盈",
|
||||||
"保本止盈",
|
"保本止盈",
|
||||||
"移动止盈",
|
"移动止盈",
|
||||||
|
TIME_CLOSE_RESULT,
|
||||||
"手动平仓",
|
"手动平仓",
|
||||||
"止损",
|
"止损",
|
||||||
"其他",
|
"其他",
|
||||||
@@ -1093,7 +1094,7 @@ def ai_extract_journal_from_image(image_b64):
|
|||||||
- 趋势多头:小分歧低吸入场(左侧),确认条件:二次探底
|
- 趋势多头:小分歧低吸入场(左侧),确认条件:二次探底
|
||||||
- 趋势空头:小分歧高吸入场(左侧),确认条件:二次探顶
|
- 趋势空头:小分歧高吸入场(左侧),确认条件:二次探顶
|
||||||
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
||||||
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):保本止盈、移动止盈、手动平仓、止损、其他。
|
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):止盈、保本止盈、移动止盈、时间平仓、手动平仓、止损、其他。
|
||||||
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
||||||
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
||||||
|
|
||||||
|
|||||||
@@ -632,6 +632,7 @@
|
|||||||
<option value="止盈">止盈</option>
|
<option value="止盈">止盈</option>
|
||||||
<option value="保本止盈">保本止盈</option>
|
<option value="保本止盈">保本止盈</option>
|
||||||
<option value="移动止盈">移动止盈</option>
|
<option value="移动止盈">移动止盈</option>
|
||||||
|
<option value="时间平仓">时间平仓</option>
|
||||||
<option value="手动平仓">手动平仓</option>
|
<option value="手动平仓">手动平仓</option>
|
||||||
<option value="止损">止损</option>
|
<option value="止损">止损</option>
|
||||||
<option value="其他">其他</option>
|
<option value="其他">其他</option>
|
||||||
@@ -1223,7 +1224,7 @@ function setJournalField(name, value){
|
|||||||
el.value = String(value);
|
el.value = String(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","手动平仓","止损","其他"]);
|
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","时间平仓","手动平仓","止损","其他"]);
|
||||||
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
||||||
"箱体突破": "关键位箱体突破",
|
"箱体突破": "关键位箱体突破",
|
||||||
"收敛突破": "关键位收敛突破",
|
"收敛突破": "关键位收敛突破",
|
||||||
@@ -1358,7 +1359,7 @@ function fillJournalFromTrade(t){
|
|||||||
setJournalField("entry_reason_custom", "");
|
setJournalField("entry_reason_custom", "");
|
||||||
syncJournalEntryReasonOtherUi();
|
syncJournalEntryReasonOtherUi();
|
||||||
const er = String(t.result || "").trim();
|
const er = String(t.result || "").trim();
|
||||||
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 手动平仓: "手动平仓", 止损: "止损" };
|
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 时间平仓: "时间平仓", 手动平仓: "手动平仓", 止损: "止损" };
|
||||||
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
||||||
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
||||||
setJournalField("note", note);
|
setJournalField("note", note);
|
||||||
|
|||||||
@@ -1004,6 +1004,7 @@ EARLY_EXIT_TRIGGERS = (
|
|||||||
"止盈",
|
"止盈",
|
||||||
"保本止盈",
|
"保本止盈",
|
||||||
"移动止盈",
|
"移动止盈",
|
||||||
|
TIME_CLOSE_RESULT,
|
||||||
"手动平仓",
|
"手动平仓",
|
||||||
"止损",
|
"止损",
|
||||||
"其他",
|
"其他",
|
||||||
@@ -1093,7 +1094,7 @@ def ai_extract_journal_from_image(image_b64):
|
|||||||
- 趋势多头:小分歧低吸入场(左侧),确认条件:二次探底
|
- 趋势多头:小分歧低吸入场(左侧),确认条件:二次探底
|
||||||
- 趋势空头:小分歧高吸入场(左侧),确认条件:二次探顶
|
- 趋势空头:小分歧高吸入场(左侧),确认条件:二次探顶
|
||||||
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
||||||
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):保本止盈、移动止盈、手动平仓、止损、其他。
|
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):止盈、保本止盈、移动止盈、时间平仓、手动平仓、止损、其他。
|
||||||
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
||||||
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
||||||
|
|
||||||
|
|||||||
@@ -632,6 +632,7 @@
|
|||||||
<option value="止盈">止盈</option>
|
<option value="止盈">止盈</option>
|
||||||
<option value="保本止盈">保本止盈</option>
|
<option value="保本止盈">保本止盈</option>
|
||||||
<option value="移动止盈">移动止盈</option>
|
<option value="移动止盈">移动止盈</option>
|
||||||
|
<option value="时间平仓">时间平仓</option>
|
||||||
<option value="手动平仓">手动平仓</option>
|
<option value="手动平仓">手动平仓</option>
|
||||||
<option value="止损">止损</option>
|
<option value="止损">止损</option>
|
||||||
<option value="其他">其他</option>
|
<option value="其他">其他</option>
|
||||||
@@ -1223,7 +1224,7 @@ function setJournalField(name, value){
|
|||||||
el.value = String(value);
|
el.value = String(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","手动平仓","止损","其他"]);
|
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","时间平仓","手动平仓","止损","其他"]);
|
||||||
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
||||||
"箱体突破": "关键位箱体突破",
|
"箱体突破": "关键位箱体突破",
|
||||||
"收敛突破": "关键位收敛突破",
|
"收敛突破": "关键位收敛突破",
|
||||||
@@ -1358,7 +1359,7 @@ function fillJournalFromTrade(t){
|
|||||||
setJournalField("entry_reason_custom", "");
|
setJournalField("entry_reason_custom", "");
|
||||||
syncJournalEntryReasonOtherUi();
|
syncJournalEntryReasonOtherUi();
|
||||||
const er = String(t.result || "").trim();
|
const er = String(t.result || "").trim();
|
||||||
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 手动平仓: "手动平仓", 止损: "止损" };
|
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 时间平仓: "时间平仓", 手动平仓: "手动平仓", 止损: "止损" };
|
||||||
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
||||||
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
||||||
setJournalField("note", note);
|
setJournalField("note", note);
|
||||||
|
|||||||
@@ -1011,6 +1011,7 @@ EARLY_EXIT_TRIGGERS = (
|
|||||||
"止盈",
|
"止盈",
|
||||||
"保本止盈",
|
"保本止盈",
|
||||||
"移动止盈",
|
"移动止盈",
|
||||||
|
TIME_CLOSE_RESULT,
|
||||||
"手动平仓",
|
"手动平仓",
|
||||||
"止损",
|
"止损",
|
||||||
"其他",
|
"其他",
|
||||||
@@ -1087,7 +1088,7 @@ def ai_extract_journal_from_image(image_b64):
|
|||||||
- 趋势多头:小分歧低吸入场(左侧),确认条件:二次探底
|
- 趋势多头:小分歧低吸入场(左侧),确认条件:二次探底
|
||||||
- 趋势空头:小分歧高吸入场(左侧),确认条件:二次探顶
|
- 趋势空头:小分歧高吸入场(左侧),确认条件:二次探顶
|
||||||
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
- 波段单:5m顺势突破,确认条件:2根k线+成交量放大+4h同向+日成交量前20
|
||||||
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):保本止盈、移动止盈、手动平仓、止损、其他。
|
6) early_exit_trigger 只能从下列取值中选一个(无法识别则填空字符串):止盈、保本止盈、移动止盈、时间平仓、手动平仓、止损、其他。
|
||||||
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
7) 若触发为「手动平仓」,early_exit_note 必须写出图中可见的补充说明;其他触发类型 early_exit_note 留空。
|
||||||
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
8) 若图中有无法归类的离场说明原文,可放进 early_exit_note,early_exit_trigger 填「其他」或留空。
|
||||||
|
|
||||||
|
|||||||
@@ -661,6 +661,7 @@
|
|||||||
<option value="止盈">止盈</option>
|
<option value="止盈">止盈</option>
|
||||||
<option value="保本止盈">保本止盈</option>
|
<option value="保本止盈">保本止盈</option>
|
||||||
<option value="移动止盈">移动止盈</option>
|
<option value="移动止盈">移动止盈</option>
|
||||||
|
<option value="时间平仓">时间平仓</option>
|
||||||
<option value="手动平仓">手动平仓</option>
|
<option value="手动平仓">手动平仓</option>
|
||||||
<option value="止损">止损</option>
|
<option value="止损">止损</option>
|
||||||
<option value="其他">其他</option>
|
<option value="其他">其他</option>
|
||||||
@@ -1252,7 +1253,7 @@ function setJournalField(name, value){
|
|||||||
el.value = String(value);
|
el.value = String(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","手动平仓","止损","其他"]);
|
const EARLY_EXIT_TRIGGERS = new Set(["止盈","保本止盈","移动止盈","时间平仓","手动平仓","止损","其他"]);
|
||||||
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
const KEY_ENTRY_REASON_BY_SIGNAL = {
|
||||||
"箱体突破": "关键位箱体突破",
|
"箱体突破": "关键位箱体突破",
|
||||||
"收敛突破": "关键位收敛突破",
|
"收敛突破": "关键位收敛突破",
|
||||||
@@ -1387,7 +1388,7 @@ function fillJournalFromTrade(t){
|
|||||||
setJournalField("entry_reason_custom", "");
|
setJournalField("entry_reason_custom", "");
|
||||||
syncJournalEntryReasonOtherUi();
|
syncJournalEntryReasonOtherUi();
|
||||||
const er = String(t.result || "").trim();
|
const er = String(t.result || "").trim();
|
||||||
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 手动平仓: "手动平仓", 止损: "止损" };
|
const exitTrigMap = { 止盈: "止盈", 保本止盈: "保本止盈", 移动止盈: "移动止盈", 时间平仓: "时间平仓", 手动平仓: "手动平仓", 止损: "止损" };
|
||||||
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
if(exitTrigMap[er]) setJournalField("early_exit_trigger", exitTrigMap[er]);
|
||||||
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
const note = `来自交易记录自动填充:${t.symbol || "-"} ${t.direction || "-"} | 入场:${entryPx || "-"} 止损:${slPx || "-"} 止盈:${tpPx || "-"} | 类型:${t.monitor_type || "-"}`;
|
||||||
setJournalField("note", note);
|
setJournalField("note", note);
|
||||||
|
|||||||
Reference in New Issue
Block a user