創高突破的數值邏輯

  •   124 
  • 最後發表   alexw  2 週前
alexw 發文於   2026/09/27

if h>highest(GetField("High", "D")[1], 5) then value7=1 else value7=0;

if h>highest(GetField("High", "D")[1], 10) then value8=1 else value8=0;

if h>highest(GetField("High", "D")[1], 20) then value9=1 else value9=0;

if h>highest(GetField("High", "D")[1], 60) then value10=1 else value10=0;

if h>highest(GetField("High", "D")[1], 120) then value11=1 else value11=0;

if h>highest(GetField("High", "D")[1], 360) then value12=1 else value12=0;

 

假設9/23 所有條件都符合,那value6+value7+value8+value9+value10+value11+value12=6  沒錯

如果創高隔天沒繼續創高,數值加起來應該要變成6-1=5,而不是又掉回0,該怎麼改寫才對?

排序方式: 標準 | 最新
虎科大許教授 發文於   2026/09/27

把 highest 改成 simplehighest 看看。

alexw 發文於   2026/09/27

改了沒用,如中砂前面3天的分數是6,當天沒創高 又變0

虎科大許教授 發文於   2026/09/27

那應該是準備的資料不足。請加上

setTotalBar(361);

alexw 發文於   2026/09/28

一樣,沒創高就是少六分

虎科大許教授 發文於   2026/09/28

你需要確認一件事,那就是今天的收盤價沒有創新高(沒有高於過去5天最高價),是否今天收盤價也都低於過去10天、20天...的最高價。若你認為你的程式有問題,請貼上K線圖。從昨天創新高(過去360天新高),分數為6,到今天沒創新高,分數會由6變成0。

發表回覆
Close