Reply To: XS網格交易2.0.6版 – 預掛版

  • 麥叔

    會員
    2026/03/04 at 14:30

    謝謝查理哥無私地分享,對於程式我有「偷吃步」的作法與您分享。因為我的筆電比較破舊、算力不強,所以我盡量依已知的規則來簡化程式,減少乘法與除法,因為乘除法比較吃CPU,所以需要運算的,我儘量在程式開始,用ONCE計算一次就好。

    once grid_gap=(P_Uplimit-P_Dnlimit)/P_grid; //網格間距

    once dir_gap=grid_gap/2; //往上或往下的距離

    此外,我把您的程式,block_cen的對應點數放進去,加上block_no來表示即時位置編號,如下:

    var: intrabarpersist block_no(0); //即時位置編號

    var: intrabarpersist block_cen(0); //即時位置編號對應的點數

    var: intrabarpersist block_up(0); //即時位置編號對應的上區塊邊界點數

    var: intrabarpersist block_dn(0); //即時位置編號對應的下區塊邊界點數

    因為我把您的程式改成天地2條線而已,所以這四個值在程式一開始就計算好了,下面的就依這個已經算好的參數來計算上1格、下一個。因為已經知道網格網上就是往上一格,所以「偷吃步」,把您的上一格運算簡化,沒有原先的通用、漂亮,但是可以讓程式跑快一點點。反方向往下一格也是這樣偷吃步

    block_no=block_no+1;

    block_cen= block_cen+grid_gap; //即時位置編號對應的點數

    block_up = block_cen+grid_gap; //上面區塊的上邊界

    block_dn = block_cen-grid_gap; //下面區塊的下邊界

    我這樣搞的目的,讓程式跑快一點,減少掉TICK的風險,老電腦也可以跑順一點。

    回饋給您參考。