關於指標問題

  •   95 
  • 最後發表   彭琪  2023 四月 07
彭琪 發文於   2023/04/03

以下為日內10分K時,當收盤價大於前方收盤價高點時則會往上畫出連續的横線

if isSessionFirstBar then begin
    value1 = 0;
    
    end;
    
for value2 = 0 to 0 begin
    if getfield("Time", "10")[value2] >= time and getfield("Date", "1")[value2] = date and value1 < getfield("close", "10")[value2] then begin
        value1 = getfield("close", "10")[value2];
       
       
        end;
    end;
    
plot1(value1);

請問,若反過來,日內10分K時,當收盤價小於前方收盤價低點時則會往下畫出連續的横線的指標腳本該如何撰寫?

又或者兩個指標可以合併在一起?

XQ小幫手 發文於   2023/04/07

 Hello 彭琪,

 

建議您先閱覽網站上的教學區,裡面有XS語法的基礎和應用。

 

小幫手不理解您為什麼要寫 for value2 = 0 to 0,因為這樣迴圈就只會執行一次,而那次的value2就為0。

10分鐘頻率下 getfield("Time", "10")[0] >= time 和 getfield("Date", "1")[0] = date 也是一定會符合條件。

所以就只有value1 < getfield("close", "10")[0] 符合時更新為新的close值。

簡化後的腳本就會是:

if isSessionFirstBar then begin

    value1 = getfield("close", "10");    

    end;

 

if value1 < getfield("close", "10") then value1 = getfield("close", "10");    

plot1(value1);

 

反過來的話就只是

if value1 > getfield("close", "10") then value1 = getfield("close", "10");

 

您可以同時設兩個變數紀錄即可:

if isSessionFirstBar then begin

    value1 = getfield("close", "10");  

    value2 = getfield("close", "10");

    end;

 

if value1 < getfield("close", "10") then value1 = getfield("close", "10");    

if value2 > getfield("close", "10") then value2 = getfield("close", "10");    

plot1(value1);

plot2(value2);

發表回覆
Close