5分K頻率的第一根K線在5均下且為黑K

  •   414 
  • 最後發表   王小光  2023 四月 06
王小光 發文於   2023/03/16

5分鐘的頻率設定下

開盤第一根為黑K,在5均下

5均向下

5均、10均、20均空頭排列

日線黑K

日線五日均量>2000

 

if issessionfirstbar then begin

    value1 = close<open;    //紀錄開盤第一根為黑K

    end

 

value2 = (average(close,5));

value3 = GetField("Volume", "D");

value4 = summation(value3,5)/5;

value5 = Getfield("Open","D");

value6 = Getfield("Close","D");

 

condition1 = close<value2;

condition2 = value4>2000;

condition3 = value6<value5;

 

想請教兩個問題

1.5均向下跟均線空頭排列怎麼表達?

2.這段語法有需要改進的地方嗎?

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/03/23

Hello 王小光,

 

value1 是用來存數值而不是布林值,要存布林值請用 condition1。

5MA向下您可以使用 LinearRegAngle 來判斷近N期的線性迴歸度數是否小於0,或是 value2 是否有小於前期的 value2。

空頭排列小幫手會這樣寫:

value2 = average(close, 5);

value3 = average(close, 10);

value4 = average(close. 20);

 

condition2 = value2 < value3 and value3 < value4;

 

另外需注意變數的頻率是根著主頻率,所以

value3 = GetField("Volume", "D");

value4 = summation(value3,5)/5;

這會是近5根Bar成交量的平均 (您可以直接用average),而不是近5日的成交量平均。

近5日的成交量平均應該為 value4 = average(GetField("Volume", "D"), 5);。

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

王小光 發文於   2023/03/27

請問是紀錄開盤的第一根為黑K那邊value1要改成condition1的意思嗎?

修正後的語法如下,請小幫手幫我看一下,謝謝

if issessionfirstbar then begincondition1 = close<open;    //紀錄開盤第一根為黑K

end

value1 = LinearRegAngle(close,5);

value2 = (average(close,5));

value3 = average(GetField("Volume", "D"), 5);

value5 = Getfield("Open","D");

value6 = Getfield("Close","D");

value7 = average(close, 5);

value8 = average(close, 10);

value9 = average(close. 20);

condition2 = close<value2;

condition3 = value3>2000;

condition4 = value6<value5;

condition5 = value1<0;

condition6 = value7 < value8 and value8 < value9;

condition7 = value1<0;

 

If condition2 

and condition3

and condition4 

and condition5

and condition6

and condition7

then ret = 1;

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

Hello 王小光,

 

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

 

value1 = LinearRegAngle(close,5);

這會是計算近5根收盤價的線性迴歸弧度,而不是近5根5MA的線性迴歸弧度。

value2 = average(close, 5);

value1 = LinearRegAngle(value2, 5);

才會是近5根5MA的線性迴歸弧度。

 

value2 = (average(close,5)); 和 value7 = average(close, 5); 是相同的,不需要重新計算。

condition5 和 condition7 也是相同的。

另外 condition1 您並沒有用在最後判斷 ret = 1; 的部分。

  • 按讚來自於
  • BBD9650
發表回覆
Close