如何雪出兩個向上的選法

  •   129 
  • 最後發表   緊繃  2023 五月 24
緊繃 發文於   2023/05/22

小編想請問~

//

input: FastLength(12), SlowLength(26), MACDLength(9);

variable: price(0);

 

SetInputName(1, "DIF短天數");

SetInputName(2, "DIF長天數");

SetInputName(3, "MACD天數");

 

price = WeightedClose();

 

Value1 = XAverage(price, FastLength) - XAverage(price, SlowLength);

Value2 = XAverage(Value1, MACDLength) ;

Value3 = Value1 - Value2 ;

 

input: Length(9), RSVt(3), Kt(3), JType(0);

variable: rsv(0), k(0), _d(0), j(0);

 

SetInputName(1, "天數");

SetInputName(2, "RSVt權數");

SetInputName(3, "Kt權數");

 

Stochastic(Length, RSVt, Kt, rsv, k, _d);

//

上面這段我如何把MACD跟J值選古法寫在一起
我想要的是DIF在零軸之下且DIF比昨日增加(MACD-DIF值)J值同時上升(比昨日高)的當天選出來
J的部分我大概還理解,MACD的部分不太知道怎麼寫出來?
另外我如果想再添加 成交量跟股價介於多少之間,是不是要編寫condition來編譯

感謝小編回復~

XQ小幫手 發文於   2023/05/24

Hello 緊繃,

 

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

另外MACD現在可以使用函數來計算,不需要用XAverage從頭開始計算。

您只需要把所需的條件寫出即可。

 

舉例來說:

input: FastLength(12), SlowLength(26), MACDLength(9);

variable: difValue(0), macdValue(0), oscValue(0);

 

SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 4);

 

SetInputName(1, "DIF短期期數");

SetInputName(2, "DIF長期期數");

SetInputName(3, "MACD期數");

 

MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

 

input: Length(9), RSVt(3), Kt(3), JType(0);

variable: rsv(0), k(0), _d(0), j(0);

 

SetInputName(1, "天數");

SetInputName(2, "RSVt權數");

SetInputName(3, "Kt權數");

 

Stochastic(Length, RSVt, Kt, rsv, k, _d);

 

if JType = 0 then

j = 3 * k - 2 * _d

else

j = 3 * _d - 2 * k;

 

condition1 = difValue < 0 and difValue > difValue[1];    //DIF在零軸之下且DIF比昨日增加

condition2 = j > j[1];    //J值同時上升

 

if condition1 and condition2 then ret = 1;

 

若想要增加成交量跟股價的條件,只要在繼續撰寫condition即可。

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