gash29261821 發表於 21-8-2 17:24

懸賞 如何取上一次進場到目前的最高或最低點的某指標數值

如題 願意懸賞 買了書之後一直K還是不知道如何寫出來
只知道BarsSinceEntry這個函數可以取上一次進場是距離如今第幾根
但是要如何帶入SwingHigh,SwingLow來取得最高最低點 不知道
至於如何得到這個最高點最低點的MACD數值 更是連翻書都翻不出來


http://www.coco-in.net/forum.php?mod=image&aid=126361&size=300x300&key=54f97b16ca0a3397&nocache=yes&type=fixnone
假設在放空點放空之後 我需要在短均穿越長均之後 取上一次進場到如今的最低點的MACD
假設是70 我要在短均突破長均的狀態下 如果MACD到60 就做多
如以上這樣的訊號 我應該如何寫??
目前的理解寫成下面這樣的式子

Inputs:EMALen1(3),EMALen2(12),FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ),MACDDiff(0);

variables: var0( 0 ), var1( 0 ), var2( 0 ), var3(0),var4(0),var5(0),var6(0);

var0 = MACD( Close, FastLength, SlowLength ) ;
var1 = XAverage( var0, MACDLength ) ;
var2 = var0 - var1 ;
var2 = MACDDiff;

var3=BarsSinceEntry(1);
var4 = SwingHigh(1,h,4,var3);
var5 = SwingLow(1,l,4,var3);


if value2>-1 then plot1(value2,"buyfractal");
if value3>-1 then plot2(value3,"sellfractal");



if EMALen1 cross over EMALen2 then begin
if MACDDiff(var5)<MACDDiff(0)-10 then buy next bar market ; // 我知道是錯的 但是我不知道如何表示XD
if EMALen1 cross under EMALen2 then begin
if MACDDiff(var4)>MACDDiff(0)+10 then sellshort next bar market ; // 同上


end:


liawfujin 發表於 21-8-21 01:59

本帖最後由 liawfujin 於 21-8-21 02:03 編輯

你的意思應該是放空後, macd 有下跌至最小值 -70, 然後 macd 縮腳回升至 -60, 則此時翻多? 如果是這樣, 我會這樣寫:
var0 = MACD( Close, FastLength, SlowLength ) ;
if MarketPosition < 0 then begin
    value1 = barssinceentry;
    Macd_low = lowest(var0, value1);
      if Macd_low < -70 and var0 > -60 then buy next bar on market;
end;   






頁: [1]
查看完整版本: 懸賞 如何取上一次進場到目前的最高或最低點的某指標數值