符合某條件的均線計算

  •   395 
  • 最後發表   ㄚ書  2018 十二月 17
ㄚ書 發文於   2018/12/13

嘉實資訊您好~

我想寫一個條件是從某天開始「股價跌破120MA,且收黑K棒」的均價線計算。

腳本如下:

input:length(120);

input:stratday(20181101);

SetFirstBarDate(stratday);//腳本計算開始日期

//settotalbar(120);

variable:i(0);

value3=bias(length);//乖離率計算跌破某條均線

condition1=value3<0 and close<open; //跌破均線且收黑K

 

if condition1 then

begin

value4=0;

value2=close;

end;

 

value4=value4+1;//算K棒

value5 = 0;

For i = 0 to value4-1 //迴圈數

    value5 = value5 + c[i];//加總

 

value66 = value5 / value4;//均價

plot2(value66,"買進均價");

//==================================

但是畫出來的圖怪怪的,不太像是這個條件的收盤平均價,想請問我是哪個地方寫錯了....

想好久不知道怎麼寫,謝謝喔~

排序方式: 標準 | 最新
XQ小幫手 發文於   2018/12/13

Hi ㄚ書,

您好,待小幫手查看後,再給予您方向,謝謝。

  • 按讚來自於
  • obook69
ㄚ書 發文於   2018/12/17

好的~再麻煩你了,謝謝~

XQ小幫手 發文於   2018/12/17

Hi ㄚ書,

您好,請將

input:stratday(20171101,"指定日期");
SetFirstBarDate(stratday);//腳本計算開始日期

刪除或註解,因為自訂指標不需要限定資料筆數,

 

再來應該要修改

value3=bias(length);//乖離率計算跌破某條均線
condition1=value3<0 and close<open; //跌破均線且收黑K

這兩行程式碼,改成如下兩行程式碼,才是代表「股價跌破120MA,且收黑K棒」

value3=average(close,length);//股價的120MA
condition1=close cross below value3 and close<open; //跌破均線且收黑K

 

最後以下程式碼

value5 = 0;

For i = 0 to value4-1 //迴圈數
    value5 = value5 + c[i];//加總 

value66 = value5 / value4;//均價

可以簡寫成如下,value66 應該就能代表 「股價跌破120MA,且收黑K棒」的均價線計算。

value66 = average(close,value4);

 

以上方向供您參考,相關XS函數語法說明如XS函數搜尋網

修改後的完整程式碼範例如下,謝謝:

//股價跌破120MA,且收黑K

input:length(120,"MA天期");

variable:i(0);

value3=average(close,length);//股價的120MA
condition1=close cross below value3 and close<open; //跌破均線且收黑K

if condition1 then begin
        value4=0;
        value2=close;
end; 

value4=value4+1;//算K棒
value66 = average(close,value4);

plot1(condition1,"Con1=True");
plot2(value66,"買進均價");

 

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