突破關鍵K進出場

  •   380 
  • 最後發表   k0230  2023 二月 15
k0230 發文於   2023/02/12

策略是希望 DIF由負轉正那根為關鍵K(黃色箭頭),之後股價收盤突破那根關鍵K的高點買進(黃色B)

但圖上K棒突破關鍵K高點時並沒有出現買進的黃色B,是不是哪裡寫錯了

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

variable:mkp(0),mkk(0),price(0),difValue(0), macdValue(0), oscValue(0);

 

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

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

SetInputName(3, "MACD期數");

 

price = WeightedClose();

 

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

macdValue = XAverage(difValue, MACDLength) ;

oscValue = difValue - macdValue ;

 

if CurrentBar <= SlowLength then

begin

difValue = 0;

macdValue = 0;

oscValue = 0;

end;

 

value1 = barslast(difValue>0  and V>1000);

condition1 = difValue>0 and V>1000;

 

if mkk=0 and condition1=true then

  begin

  mkk=1;

  plot50(C,"關鍵K");

  end; 

 

condition4=C>C[value1];

if condition4 and condition4[1] = False and mkp=0 and mkk=1 then

  begin

   mkp=1;

   plot51(c,"進");

  end;  

 

if mkp=1 and C<L[value1] then

  begin

   mkp=0;

   mkk=0;

   plot52(C,"出");

  end;  

 

 

附加文件

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

Hello k0230,

 

您的條件是 DIF大於0 (difValue>0),並不是DIF由負轉正。

如果要是由負轉正的話應該是 difValue cross over 0 或是 difValue[1] < 0 and difValue > 0 這樣才對。

建議您可以將計算條件畫出 (ex. plot1(difValue>0  and V>1000);) 這樣就可以直接看出問題所在。

 

另外與其用 barlast 向前找,在 condition1 符合條件時記錄當下的 close 和 low 在運算效能上會比較好。

  • 按讚來自於
  • CHOU830722
k0230 發文於   2023/02/14

不好意思~請問"在 condition1 符合條件時記錄當下的 close 和 low"這要用什麼函數來寫?

 

XQ小幫手 發文於   2023/02/15

Hello k0230,

 

舉例來說:

if condition1 then begin

    value1 = close;

    value2 = low;

    end;

這樣value1和value2就會是condition1符合時的close和low。

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