使用策略雷達做到 KD金叉向上進場;KD死叉向下,且停損10點出場

  •   4.7K 
  • 最後發表   Jack  2021 三月 17
Jack 發文於   2017/11/10

大家好,

分享如何使用策略雷達做到 KD金叉向上買進;KD死叉向下,且停損10點賣出

 

特別叮嚀:

1. 務必要先使用 "模擬交易" 帳號測試是否OK!

2. 務必要同時啟動進出場策略。

 

大致撰寫方式:

0. 策略雷達分兩個策略,一個是進場策略;一個是出場策略。兩個策略用同一個腳本即可。

1. 使用 input 宣告買進賣出參數,用來區分此腳本是進場 or 出場。

2. 參考 KD高檔死亡交叉 警示腳本,撰寫 KD。

3. 宣告 var 變數( Forecast_DealPrice ) 紀錄估算的進場價格。

 

策略雷達 KD金叉向上_買進 內容屬性設定:

 

策略雷達 KD金叉向上_買進 下單設定:

 

策略雷達 KD死叉向下_出場 內容屬性設定:

 

策略雷達 KD死叉向下_出場 下單設定:

 

警示腳本範例程式碼:

input: _BuyOrSell(-1), Length(9), RSVt(3), Kt(3);

SetTotalBar(maxlist(Length,6) * 3 + 8);

SetInputName(1, "買進=1;賣出=0");
SetInputName(2, "計算期數");
SetInputName(3, "RSVt權數");
SetInputName(4, "Kt權數");

variable: rsv(0), k(0), _d(0),Forecast_DealPrice(0);

Stochastic(Length, RSVt, Kt, rsv, k, _d);

if k cross over _d then 
    begin
        Forecast_DealPrice = close;
        if _BuyOrSell = 1 then ret = 1;
    end;

if k cross under _d and close < Forecast_DealPrice - 10 and _BuyOrSell = 0 then ret = 1;

 

以上供參考,有問題歡迎詢問。

  • 按讚來自於
  • DARKLYNN
排序方式: 標準 | 最新
Way 發文於   2017/11/12

SetTotalBar(maxlist(Length,6) * 3 + 8);  這是甚麼意思 ?

Jack 發文於   2017/11/13

Way 兄,

設定資料讀取筆數用,

也可以將之註解,

使用介面上的資料讀取筆數設定,將資料讀取筆數設為100筆,試試看數值否正確,

若覺得數值仍有問題,可以再把筆數調大一些,謝謝。

小鄭 發文於   2019/03/14

請問我想在做這個策略的回測, 進場設定和出場設定也是可以使用同一個腳本嗎 ?

若是可以的話,那要如何設定 ?

謝謝

 

小鄭 發文於   2019/03/14

我的意思是說在 "策略雷達中 是設計有一個參數 (買進=1,賣出=0) ,來判斷buy or sell ,但是在"執行回測"的設定當中 這個部分

要如何設定進去 ,目前只看到停利和停損的方式?

謝謝

 

Jack 發文於   2019/03/15

小鄭 兄,

請問我想在做這個策略的回測, 進場設定和出場設定也是可以使用同一個腳本嗎 ?

可以,進場設定和出場設定可以使用同一個腳本


 

在"執行回測"的設定當中 這個部分

要如何設定進去 ,目前只看到停利和停損的方式?

類似下圖回測設定,你可以再試試看

小鄭 發文於   2019/03/21

Hi Jack/XQ 小幫手 你好,

我試了你的設定跑回測並print 買賣資料,發現以下狀況

多方買訊在13:00出現,但是之後他條件成立(我是利用類似MA5>MA20的判斷方式),也是一直進場

要如何更改才可以有

"買進1張"之後  再執行" 賣出1張 "   再來執行  "買進1張 "   這樣的結果

=================================================================

 多 Date= 20190320.000000 time= 13:00:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:05:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:10:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:15:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

.

======================================================================

PS:最大同時進場次數=1 也有設定了~

謝謝

 

 

小鄭 發文於   2019/03/21

Hi 你好,

在詢問一下 在print 回測結果,其 進場和出場有辦法依序列出來嗎?

目前只能如下:進場資訊跑完,才會顯示出場資訊,,這樣我就沒辦法對照出哪一次的買賣點.

==============================================================

 多 Date= 20190320.000000 time= 13:05:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:10:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:15:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:20:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:25:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 多 Date= 20190320.000000 time= 13:30:00  condition1~3= TRUE TRUE TRUE buorsell= 1.000000 

 

多平 Date= 20190117.000000 time= 13:40:00 FALSE FALSE TRUE _BuyOrSell= 0.000000 

多平 Date= 20190117.000000 time= 15:00:00 FALSE FALSE TRUE _BuyOrSell= 0.000000 

多平 Date= 20190117.000000 time= 15:05:00 FALSE FALSE TRUE _BuyOrSell= 0.000000 

多平 Date= 20190117.000000 time= 15:10:00 FALSE FALSE TRUE _BuyOrSell= 0.000000 

多平 Date= 20190117.000000 time= 15:15:00 FALSE FALSE TRUE _BuyOrSell= 0.000000 

多平 Date= 20190117.000000 time= 15:20:00 FALSE FALSE TRUE _BuyOrSell= 0.000000 

================================

謝謝

 

小鄭 發文於   2019/03/21

Hi 你好 ,

想要知道一下 回測是利用哪一個原理設計來跑回測,

==>他是利用參數名稱="買進=1;賣出=0" 這個欄位的設定值,來決定跑多or空的腳本媽 ?

 那這樣這各欄位的設定值是誰給他的 ? 在程式中並沒有去設定他=1 or =0,而只是拿他來判斷爾以,

所以有需要在程式中設定他媽 ?

謝謝

 

 

東尼 發文於   2020/07/01

大大您好

謝謝回覆,如依照您的腳本為例

假設腳本及模擬下單都正確

請問大大,這樣的腳本對於買單及賣單

1.買進,賣出都自動化?

2.或買進,賣出都是是半自動化?

謝謝


 

GaryChiang 發文於   2021/03/17

請問, 若使用在股票, 多支股票都觸發過, 那Forecast_DealPrice這個值,只會存最後一次的值嗎?

發表回覆
Close