程式有錯誤碼

  •   210 
  • 最後發表   Meli  2025 二月 17
Meli 發文於   2025/02/17

input: grid_gap(150, "每格點數");

input: grid_maxcount (2, "最多格數");

input: stoploss_point (300, "停損(點)");

input: MinTradeDifference (50,"最小交易價差");

{變量設置}

var: intrabarpersist grid_started(false);

var: intrabarpersist grid_base(0);

var: intrabarpersist grid_current_base(0);

var: intrabarpersist grid_current_ord(0);

var: intrabarpersist grid_buycount(0);

var: intrabarpersist grid_sellcount(0);

var: intrabarpersist LastTradePrice(0);

{啟動網格交易邏輯}

if not grid_started and GetInfo("TradeMode") = 1 then begin

grid_started =true;

grid_base = Close;

grid_current_base = close;

grid_current_ord = 0;

grid_buycount = 0;

grid_sellcount = 0;

LastTradePrice = close;

Print ("=> 啟動網格交易,中心點:", numtostr (grid_current_base, 0));

end;

{交易邏輯}

if grid_base <> 0 then begin

{停損機制: 價格超過網格中心 停損點 平倉}

if close >=grid_base + stoploss_point or close<= grid_base-stoploss_point then begin

SetPosition (0, label:= "網格: 停損出場");

grid_base = 0; //停止網格交易

end else begin

{價格突破網格判斷,計算穿越的網格數量}

if close>= grid_current_base + grid_gap then begin

value1=grid_current_ord + IntPortion (( close-grid_current_base) / grid_gap);

 

上面的程式在黑體字中有問題,跑compilation一直出現錯誤,不知是那裏出問題?

 

虎科大許教授 發文於   2025/02/17

你的程式碼不完整,我把缺少的end加上去,編譯是OK的。

input: grid_gap(150, "每格點數");
input: grid_maxcount (2, "最多格數");
input: stoploss_point (300, "停損(點)");
input: MinTradeDifference (50,"最小交易價差");
{變量設置}
var: intrabarpersist grid_started(false);
var: intrabarpersist grid_base(0);
var: intrabarpersist grid_current_base(0);
var: intrabarpersist grid_current_ord(0);
var: intrabarpersist grid_buycount(0);
var: intrabarpersist grid_sellcount(0);
var: intrabarpersist LastTradePrice(0);
{啟動網格交易邏輯}
if not grid_started and GetInfo("TradeMode") = 1 then 
    begin
        grid_started =true;
        grid_base = Close;
        grid_current_base = close;
        grid_current_ord = 0;
        grid_buycount = 0;
        grid_sellcount = 0;
        LastTradePrice = close;
        Print ("=> 啟動網格交易,中心點:", numtostr (grid_current_base, 0));
    end;
{交易邏輯}
if grid_base <> 0 then 
    begin
        {停損機制: 價格超過網格中心 停損點 平倉}
        if close >=grid_base + stoploss_point or close<= grid_base-stoploss_point then 
            begin
                SetPosition (0, label:= "網格: 停損出場");
                grid_base = 0; //停止網格交易
            end 
        else 
            begin
                {價格突破網格判斷,計算穿越的網格數量}
                if close>= grid_current_base + grid_gap then 
                    begin
                        value1=grid_current_ord + IntPortion (( close-grid_current_base) / grid_gap);
                    end;
            end;
    end;

發表回覆
Close