請問小幫手 假設我使用兩分鐘頻率 例如今天早上9點30分的兩分k棒的high=日最高價
然後接下來可能9點40分從高點跌下來2% 然後當日振福有3% 然後可能過了15分鐘都沒再過高
我要如何用變數紀錄讓他不會再一直更新累計下去 我的意思是
假設9點30分的high是今天的最高點 可是很有可能等等10點過後 又拉過9點30分的那一個高點產生一個新的當日最高點
那我變數要如何寫 才不會好像計數器一樣一直累加上去 而是讓變數只記錄9點30分的那個高點呢
再麻煩小幫手了
請問小幫手 假設我使用兩分鐘頻率 例如今天早上9點30分的兩分k棒的high=日最高價
然後接下來可能9點40分從高點跌下來2% 然後當日振福有3% 然後可能過了15分鐘都沒再過高
我要如何用變數紀錄讓他不會再一直更新累計下去 我的意思是
假設9點30分的high是今天的最高點 可是很有可能等等10點過後 又拉過9點30分的那一個高點產生一個新的當日最高點
那我變數要如何寫 才不會好像計數器一樣一直累加上去 而是讓變數只記錄9點30分的那個高點呢
再麻煩小幫手了
聽不太懂你在說什麼
如果只想紀錄9.30前的最高點 用下面的判斷式即可
if time<093000 //時間小於9點30分
Hello 阿林,
您可以參考 test999 的回覆,用時間作條件限制。
舉例來說:
if issessionfirstbar then value1 = high;
if high > value1 and time <= 093000 then value1 = high;
這樣value1就會是開盤到 093000 這根Bar之間的最高價。
感謝 test999 的熱心回覆。
小幫手您好 因為我說9點半的高點是舉例 因為我要的情況他可能今天高點不一定是出現在九點半
if barfreq <> "Min" or Barinterval <> 2 then RaiseRuntimeError("請設定頻率為2分鐘");
var:dd(0);
Value1 = GetQuote("振幅");
if issessionFirstBar then begin dd = 0;
if high[3] = GetField("最高價", "D") and low <= high[3]*0.98 and value1 >= 3 then dd += 1; end;
如果我寫這樣那這個變數dd會一直累加上去 要怎樣寫才會讓dd只記錄一次 而且就算接下來又有同樣條件出現
這個dd也不會被覆蓋過去呢? 例如現在九點半dd紀錄一次了 那現在10點多了 又發生一次dd會去紀錄的情況
要怎樣寫就算10點多又發生一次if high[3] = GetField("最高價", "D") and low <= high[3]*0.98 and value1 >= 3 then dd += 1; end;
我寫的情況 但他只會紀錄九點半那次 而不會再覆蓋過去呢
再麻煩小幫手了 感謝
Hello 阿林,
就以您的範例,只需要加一個 dd <= 1 的條件即可。
像是if high[3] = GetField("最高價", "D") and low <= high[3]*0.98 and value1 >= 3 and dd <= 1 then dd += 1;
這樣dd += 1 就會被限制只會增加一次。
4 評論