於警示腳本 中自算分價量的錯誤 求救

  •   123 
  • 最後發表   小角色  2021 九月 02
小角色 發文於   2021/08/30

主要是希望可以把每一次成交變動時的各價位的分價量print出來
因為無內建,所以就自行比對成交價格,若成交價= input的價格時就把成交單量累加上去。

 

遇到的問題是,用來進行累加的變數  value11-value14  似乎每次都會歸0,無法累加
程式碼感覺上沒有羅輯上的問題,已經debug好幾天了,仍找不到原因

希望各位先進是否能抽空幫忙找bug 

以下為程式碼


Inputs:

Price1(109.5),

Price2(110),

Price3(110.5),

Price4(111);

 

Value1 = Getquote("委買1");

Value2 = Getquote("委賣1");

Value3 = Getquote("買進1");

Value4 = Getquote("賣出1");

Value5 = Getquote("成交");

Value6 = Getquote("單量");

Value7 = GetQuote("總量(日)");

If Value5 = Price1 and Value7 <> Value7[1] then

Begin

Value11 = Value11[1] + Value6;

Print(file("d:\print\trade.log"), "Date1=", NumToStr(Date, 0), "Time=", NumToStr(CurrentTime,0),"總量=", NumToStr(Value7, 0),"成交價=", NumToStr(value5,1),"單量=", NumToStr(value6,0),TEXT("分價量",Price1,"="), NumToStr(Value11,0),TEXT("分價量",Price2,"="), NumToStr(Value12,0),TEXT("分價量",Price3,"="), NumToStr(Value13,0),TEXT("分價量",Price4,"="), NumToStr(Value14,0));

End;

If Value5 = Price2 and Value7 <> Value7[1] then

Begin

 

Value12 = Value12[1] + Value6;

Print(file("d:\print\trade.log"), "Date2=", NumToStr(Date, 0), "Time=", NumToStr(CurrentTime,0),"總量=", NumToStr(Value7, 0),"成交價=", NumToStr(value5,1),"單量=", NumToStr(value6,0),TEXT("分價量",Price1,"="), NumToStr(Value11,0),TEXT("分價量",Price2,"="), NumToStr(Value12,0),TEXT("分價量",Price3,"="), NumToStr(Value13,0),TEXT("分價量",Price4,"="), NumToStr(Value14,0));

 

End;

If Value5 = Price3 and Value7 <> Value7[1] then

Begin

 

Value13 = Value13[1] + Value6;

Print(file("d:\print\trade.log"), "Date3=", NumToStr(Date, 0), "Time=", NumToStr(CurrentTime,0),"總量=", NumToStr(Value7, 0),"成交價=", NumToStr(value5,1),"單量=", NumToStr(value6,0),TEXT("分價量",Price1,"="), NumToStr(Value11,0),TEXT("分價量",Price2,"="), NumToStr(Value12,0),TEXT("分價量",Price3,"="), NumToStr(Value13,0),TEXT("分價量",Price4,"="), NumToStr(Value14,0));

 

End;

If Value5 = Price4 and Value7 <> Value7[1] then

Begin

 

Value14 = Value14[1] + Value6;

Print(file("d:\print\trade.log"), "Date4=", NumToStr(Date, 0), "Time=", NumToStr(CurrentTime,0),"總量=", NumToStr(Value7, 0),"成交價=", NumToStr(value5,1),"單量=", NumToStr(value6,0),TEXT("分價量",Price1,"="), NumToStr(Value11,0),TEXT("分價量",Price2,"="), NumToStr(Value12,0),TEXT("分價量",Price3,"="), NumToStr(Value13,0),TEXT("分價量",Price4,"="), NumToStr(Value14,0));

 

End;

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/09/02

Hello 小角色,

 

由於您是需要在同根Bar內累加,所以需要使用 IntrabarPersist 來宣告變數。

另外 Value12 = Value12[1] + Value6; 應修改為 變數 += value6 或是 變數 = 變數 + value6 才對。

附上小幫手修改過的策略雷達匯出檔。

附加文件

小角色 發文於   2021/09/02

非常感謝

發表回覆
Close