需要協助 前日收盤價與當日0905-5分K棒的進出場寫法無法編譯成功,請教是哪裡出問題了?

  •   392 
  • 最後發表   skypan  2021 十一月 12
skypan 發文於   2021/10/28

如果以5分K來設定,在加權開盤後5分鐘(0905),跟前日收盤價比對,如果在0905之後收高超過前日收盤價就買進,反則賣出。

 

以下寫法不確定哪邊有問題,一直無法編譯成功

 

//前日收盤價
if Value1=GetField("close", "D")[1];

//當日0905收盤價
if time = 090500 then begin value2 = close;


condition1=Value2>Value1;

condition2=Value2<Value1;

//買進訊號
if condition1 and close cross over value2 then ret = 1;

//賣出訊號
if condition2 and close cross below value1 then ret = 1;

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/11/02

Hello skypan,

 

您第一行前日收盤價前面不需要加if,第二行當日0905收盤價不需要加begin。

附上修改過的警示腳本供您參考。

另外需注意,策略雷達是條件觸發後就警示,每隻策略設定時可以選擇多方、空方或是不指定,但是要觸發下單或回測的話一定要選擇多方或空方。

您將多空寫在一起的話他只會一直觸發同一方向,不會一多一空。

如果希望將進出寫在同一個腳本內的話,需使用交易腳本。

附加文件

skypan 發文於   2021/11/02

感謝了,晚點來測試。

到時會用多空各一個腳本使用,這邊寫在一起,是讓您知道我的思路。

skypan 發文於   2021/11/11

請問如果我要抓剛好5分K下0905的收盤價,我是要用

if time = 090500 then value2 = close;

還是

if time = 090000 then value2 = close;

因為不知道為什麼我用090500 CLOSE的,有時他會用0910的CLOSE來回應

目前還在測試中

 

XQ小幫手 發文於   2021/11/12

Hello skypan,

 

XQ裡面K棒的時間是已開始的時間來標示。

舉例來說5分鐘頻率下 090000 的K棒代表的是 09:00 ~ 09:05 的資料,090500 K棒代表的是 09:05 ~ 09:10 的資料。

if time = 090500 then value2 = close; 會取到 09:10 的成交價。

if time = 090000 then value2 = close; 會許到 09:05 的成交價。

您可以和指標上的收盤價作比較。

發表回覆
Close