總是更高的獲利%賣出,何處有誤?

  •   82 
  • 最後發表   XQYi  2025 六月 17
XQYi 發文於   2025/06/17

1.原預計獲利3%賣出,但總是以更高的獲利甚至>20%才執行賣出( 交易:標籤是獲利3%)

2.isfirstcall("date") 這個函數是 當日第一次洗價觸發之後,才開始執行後面指令?

if isfirstcall("date") and filledAvgPrice <> 0 //當日第一次洗價之後是有庫存成本(<>0 避免取值錯誤)

then

begin

  if close >filledAvgPrice*1.03 then setposition(0,getField("收盤價", "Tick"),label:="獲利3%");

  if close > filledAvgPrice*F1006

     and (ExitSignal_A or ExitSignal_B or ExitSignal_C) then setposition(0,getField("收盤價", "Tick"),label:="跌破停損");

end;

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/06/17

用限價單可能沒成交,最後在隔天開高賣出,獲利就會超過3%。

XQYi 發文於   2025/06/17

如圖是用if isfirstcall("date") and filledAvgPrice <> 0
成交並不是在第一筆09:00:07,而是在之後09:00:08,所以搞不清楚其用法到底為何!!

網站說明 :換交易日就會更新為 true 一次,其餘洗價維持 false。
是否應改如下 isfirstcall("date")=False
//第一次洗價之後
達到「跳過開盤第一筆,然後在盤中持續監控」的目的

if isfirstcall("date")=False and filledAvgPrice <> 0

then .......

XQYi 發文於   2025/06/17

看了一下執行紀錄,為何是09:00:13才洗價?

但委託交易上09:00:08就已成交!

once isfirstcall("date") and Position > 0 

begin

alert("日期",currentDate,"時間",currentTime,"成本價",FilledAvgPrice,"獲利價",FilledAvgPrice*F1006); 

 

end;

虎科大許教授 發文於   2025/06/17

你看到的時間是你電腦的時間,若有對時,應該會比較接近。

XQYi 發文於   2025/06/17

電腦時間是網路時間同步,

警示觸發時間函數=>"時間",currentTime,

證卷行的交易時間回報資料也是09:00:08

 

發表回覆
Close