有關currenttime的問題

  •   565 
  • 最後發表   無情卻慈悲  2020 十月 26
無情卻慈悲 發文於   2020/09/04

我寫了一個指標來標出進出場訊號,

如下圖,

片段code :

Var: Flag(False);

if  currenttime >084500 and currenttime < 235959 then Flag = True;

下圖中我的if有寫到 if _stockB = 0 and Flag = True 才可以畫出指標,

但為何沒有在條件時間內的K棒,仍會畫出指標呢?

麻煩小幫手解惑,謝謝

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/09/07

無情卻慈悲 您好

主要是因為currenttime 是讀取您電腦的時間

假設您電腦的時間是在這個區間內,

那他就會畫出來

請您把currenttime 改為 time 就可以了

無情卻慈悲 發文於   2020/09/07

那再請問,我如果是警示腳本要自動下單,只想在特定時間下單,我應用time嗎?

XQ小幫手 發文於   2020/09/08

無情卻慈悲 您好

是的,如果是固定時間的話,

假設您想要在 9:00開盤進場 

可以寫成 time=090000  

 

無情卻慈悲 發文於   2020/09/22

您好,

有關特定時間下單的問題,我把小幫手之前建議的語法,與自己寫的語法來並列PRINT檢視,發現如下圖有不一樣的TRUE或false,

可否請教為何會不一樣?

20200921.000000 150000.000000 FALSE FALSE FALSE 

20200921.000000 150000.000000 早上 TRUE 下午 FALSE 晚上 FALSE 

//小幫手之前給的

condition1= time>090000 and time<133000;

condition2= time>151000 and time < 240000;

condition3= time > 000001 and time <040000;

if condition1 or condition2 or condition3 then ret=1;

print(date,time,condition1,condition2,condition3);

 

//可下單時段

Var: intrabarpersist allow_time(False), intrabarpersist m_time(False),intrabarpersist a_time(False),intrabarpersist n_time(False);

if  time >090000 and time < 133000 then m_time = True;//早上盤

if  time >151000 and time < 240000 then a_time = True;//下午盤

if  time >000001 and time < 040000 then n_time = True;//深夜盤

if m_time = True or a_time = True or n_time = True then allow_time = True;

print(date,time,"早上",m_time,"下午",a_time,"晚上",n_time);

XQ小幫手 發文於   2020/09/22

無情卻慈悲 您好

主要是您的if 的寫法,

沒有寫else,

也就是他如果符合 m_time  會是true 那當然沒問題

但是如果是false ,condition 會自動變成false 而 if 你必須在寫一段else  m_time = false

不然他會延續上一個紀錄true

無情卻慈悲 發文於   2020/09/22

您好,

原來如此,但是若是一般的變數,例如 var:_stock(0), 我沒有直接使用vlaue1的話,是否_stock(0)也要加上else來處理呢?以免變數又變成0 ?

XQ小幫手 發文於   2020/09/23

無情卻慈悲 您好

抱歉,或許是我沒說清楚造成您的誤解

我們舉個例子

假設五分k  2330 2020/9/23

9:00觸發條件

您的_stock從 0 變 1 

但9:05 時 該條件沒被觸發

所以程式的紀錄還是會是1

不會因為您一開始宣告的var:_stock(0) 而又變回0的 

 

無情卻慈悲 發文於   2020/09/23

您好,

那這樣以後是否只要針對 TRUE或false 的變數特別注意要用else 就好呢?

無情卻慈悲 發文於   2020/09/23

今日新補充問題:

問題1:

我在尾盤13:40仍會下單,不知是哪裡出問題,因一開始的if就寫了 133000之前才可以下單。

問題2:

我在打這篇文問題時,同時間再print一次,發現我的電腦時間與print的時間不一樣,如下圖,差了11分,請問為何會這樣呢?

問題3:

一樣是時間問題,尾盤要自動平倉,也沒有執行,不知是否是我第二點說的時間誤差而造成沒有執行呢?

XQ小幫手 發文於   2020/09/23

無情卻慈悲 您好

A1:您似乎忘了在 allow_time 那行撰寫 else 了喔XDD

初步看起來問題是在那,

如還有疑問,請在提供完整的策略雷達給我 我在幫您檢查看看

A2:請檢查一下您的PRINT 是寫TIME 還是CURRENTTIME 

如果為currenttime 才會是您電腦的時間,

以及如果當下有交易量,雷達有運作 才會有print值

A3:如果您是用time的話 那應該要正常出場才對,

是否能請您提供策略匯出檔,我在幫您看看問題在哪 感謝 

您也可Mail 至 XQservice@XQ.com.tw,並附上此討論串連結,以利小編請相關人員查看問題的原因。

感謝

顯示更多回應 發表回覆
Close