high的數值會一直亂跳動

  •   82 
  • 最後發表   飛行仁  2021 十月 27
飛行仁 發文於   2021/10/25

小幫手您好:

有試用您之前寫的移動停利程式來修改,但測試3034聯詠時發生問題,不能依價位觸發警示,後來查到是high的數值會一直亂跳動:程式碼如下:有兩個問題想請教, 

1. high的數值是根據日頻還是5分頻來選,如果是盤中10點啟動,會追之前的K棒嗎? 還是當時的K棒?
2. 停利和停損是兩個觸發,程式是會同時監控嗎?  間隔時間多久?是否可設定1分鐘檢查一次就好,降低電腦使用率

input: _base(100, "基準價"), _trigger(115, "移動點"), _stop(10, "回落%");
var: stop_point(0), moving_point(0), controller(0);

once moving_point = _trigger;
print( moving_point, _trigger,HIGH,"程式開始,MOVEPT,TRIGER, HIGH"); 
if q_Last >= moving_point then begin  //價格大於等於開始移動停利點時
    moving_point = q_Last;  //更新最高值
    print(q_Last, moving_point, "MOVPT觸發1238");

    stop_point = moving_point * (1 - (0.01*_stop)); //計算更新停損點
    controller = 1;  //開始啟動停損
    if stop_point <> stop_point[1] then print(date, time, controller, moving_point, stop_point);
    end;

if controller = 1 and low <= stop_point then begin
    ret = 1;  //當停損啟動時最低價有低於停損點時觸發
    print(low, stop_point, "觸發");
    end;

{解說邏輯:應該是股價到達基準價後回落多少百分比會有警示.

舉例來說, 基準價或買進價是100, 當股價上漲到115時更新115為基準價, 若從基準價回落10%後則會發出警示

感激不盡!}


當時PRINT LOG如下,可發現HIGH的數值393,395,跳到402,明顯不是當時的價位:


402.000000 402.000000 402.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 402.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 399.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 399.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 397.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 396.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 397.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 396.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 397.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 395.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 396.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 399.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 399.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 395.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 394.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 394.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 395.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 395.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 394.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 393.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 394.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 394.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 394.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 393.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 393.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 393.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 395.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 397.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 398.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 403.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 399.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 399.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 400.500000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.000000 程式開始,MOVEPT,TRIGER, HIGH 

402.000000 402.000000 401.500000 程式開始,MOVEPT,TRIGER, HIGH 




附加文件

XQ小幫手 發文於   2021/10/27

Hello 飛行仁,

 

1. High 的數值是根據您雷達設的頻率而定。您設在5分鐘頻率上的話就會是當下這根5分鐘Bar的High,日頻率的話就會是日Bar的High。

另外不管您什麼時候啟動都會有愈讀筆數,雷達會先從預讀筆數開始運作。

所以最前面印出來的不會是當下的資訊,而是您設定的預讀筆數資訊。

 

2.您停利停損寫在同一個腳本的話就會一起運算,兩個腳本分開的話就看您是否有同時啟動。

雷達多久運算一次是看您的設定。

是否有勾選逐筆洗價?您設定的頻率為多少?

如果您要每分鐘檢查一次的話,那麼就需要將雷達頻率設為1分鐘且不勾選逐筆洗價,但請注意 High 就會是回傳1分鐘Bar的High。

建議您可以先參考策略雷達的使用教學

發表回覆
Close