關於大戶買賣力

  •   190 
  • 最後發表   alexw  2022 十月 18
alexw 發文於   2022/10/14

這樣要怎麼寫,比方說其中一個條件是,跳標前那段時間累積的大戶買賣力最低時不小於-1000

 

就是想過濾掉如圖這種標的

 

value1=GetField("買進特大單量");

value2=GetField("買進大單量");

value6=GetField("賣出特大單量");

value7=GetField("賣出大單量");

value8=value1+value2-value6-value7;

if Date <> Date[1] then value9=value8 else value9=value9[1]+value8;

 

單純condition1=value9 > -1000?還是要加什麼語法?

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/10/17

Hello alexw,

 

小幫手不太確定您所謂的 跳標前那段時間 是怎麼判斷,不過如果是上次符合條件到當下的話,可以用變數來記錄經過的Bar數量,搭配 trueall 函數來檢查。

由於您要的是一段時間value9 都不小於 -1000,所以只檢查當下那根Bar 是不夠的。

舉例來說:

condition1 = trueall(value9 > -1000, 10);

這樣就會檢查近10根Bar的value9 是否都有大於-1000。

alexw 發文於   2022/10/17

其實我的意思是,從開盤到現在,如果value9 從開盤到現在曾經小於-1000,則condition1不成立,只要某一根小於-1000就算

 

if value 9 ever <= -1000 then condition1=false else condition1=true 大概想表達這樣的意思

 

只是不知語法該怎麼寫,請達人幫忙一下~

XQ小幫手 發文於   2022/10/18

 Hello alexw,

 

那就是小幫手上面所回覆的:

用變數來記錄經過的Bar數量,搭配 trueall 函數來檢查。

舉例來說:

if date <> date[1] then value1 = 0;  //每日重置 value1

value1 += 1;  //計算今日過了幾根Bar

condition1 = trueall(value9 > -1000, value1);   //確認今日的value9 都大於 -1000

 

或是更簡單又節省效能的寫法:

if date <> date[1] then condition1 = True;  //每日重置 condition1 

if value9 < -1000 then condition1 = False;  //只要有任何一根Bar value9 小於 -1000 的話 condition1 就會變為 false

發表回覆
Close