xs 月線技術指標寫在日線下的比較方式

  •   193 
  • 最後發表   kevin0428  2022 二月 23
kevin0428 發文於   2022/02/17

小幫手您好

我有個問題我今天要寫一個macd策略是在日線下比較當月osc比上個月是增長的 而不是要比較今天的月soc跟昨天的月osc   不曉得這能有方式改寫嗎  簡單講就是每天的月osc 要去跟上個月最後一天的osc相比

下面是我先寫一個日線選股方式   有疑問的部分在< >  我在底下有附一張截圖  希望讓您更清楚我想表達的意思

input:FastLength(12), SlowLength(26), MACDLength(9),Length(5),period(12,"天數"),period2(50,"天數");

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

 

xf_macd("D",xf_weightedclose("D"), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

xf_macd("W",xf_weightedclose("W"),FastLength, SlowLength, MACDLength, value5, value6, value7);

xf_macd("M",xf_weightedclose("M"),FastLength, SlowLength, MACDLength, value11, value12, value13);

 

value1=EMA(close,period);

value2=average(close,period);

 

value3=(value1-value2);

 

value8=EMA(close,period2);

value9=average(close,period2);

 

value10=(value8-value9);

 

Value4 = Average(volume, Length);

condition1 = Value4 > VolumeLimit;

condition2 = difValue > 0;

condition3 = value10 > 0;

//周

condition4 = value7 > 0;

//月

//condition5 = value11 > 0;

//condition6 = value13 > 0;

//condition7 = value13 > value13[1];       <這部分我未納入條件  因跑出來並不是我要的  因這部分好像是變成再比較每天的月osc>

//MACD增

condition8 =oscValue > oscValue[1];

condition9 =value3 > value3[1]; 

 

if condition1 and condition2 and condition3 and condition4 and condition8 and condition9  then ret=1;

附加文件

排序方式: 標準 | 最新
kevin0428 發文於   2022/02/22

請問小幫手 有看到嗎

XQ小幫手 發文於   2022/02/23

Hello kevin0428,

 

您想的沒錯,value13 > value13[1] 這樣比的話會是跟執行頻率(日頻率)的上一筆作比較。

您可以使用 xf_GetValue 來取得指定頻率的數值。

或是您可以在換月時用變數紀錄OSC,然後再以此作比較。

舉例來說:

value20 = getfield("Date", "M");

if value20 <> value20[1] then value21 = value13[1];

condition7 = value13 > value21; 

這樣value21就會是前一個月最後一天的數值。

kevin0428 發文於   2022/02/23

謝謝小幫手  可以了!! 

發表回覆
Close