COCO研究院

 找回密碼
 註冊
搜索
查看: 3813|回復: 1

[範例程式碼] 懸賞 如何取上一次進場到目前的最高或最低點的某指標數值

[複製鏈接]
發表於 21-8-2 17:24 | 顯示全部樓層 |閱讀模式
如題 願意懸賞 買了書之後一直K還是不知道如何寫出來
只知道BarsSinceEntry這個函數可以取上一次進場是距離如今第幾根
但是要如何帶入SwingHigh,SwingLow來取得最高最低點 不知道
至於如何得到這個最高點最低點的MACD數值 更是連翻書都翻不出來



假設在放空點放空之後 我需要在短均穿越長均之後 取上一次進場到如今的最低點的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:


MACD.png
發表於 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;   






您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-25 01:36

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |