想用黃金交叉和收紅才進場的問題 新手請幫忙

  •   267 
  • 最後發表   小魚  2021 二月 02
小魚 發文於   2021/01/24

想寫當均線金叉時收紅K才進場,但回測都不對 不知道要怎麼編寫才正確

input: Shortlength(5); setinputname(1,"短期均線期數");

input: Longlength(20); setinputname(2,"長期均線期數");

 

settotalbar(8);

setbarback(maxlist(Shortlength,Longlength,6));

If Average(Close,Shortlength) crosses over Average(Close,Longlength)

and close>open

then Ret=1;

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/01/25

小魚 您好

需要請您先確認下 

您撰寫settotalbar  and setbarback 的意義是?

因為這兩個是在限制"資料讀取數量"的函式

而像是您想取 20日平均  就必須抓取>20根k棒的資料

計算才會正確,

如果您settotalbar只取8根 就會出現問題

以下關於資料讀取筆數的文章提供您參考 謝謝

http://www.xq.com.tw/lesson/xspractice/%E8%B3%87%E6%96%99%E8%AE%80%E5%8F%96%E7%AF%84%E5%9C%8D%E8%88%87%E8%85%B3%E6%9C%AC%E5%9F%B7%E8%A1%8C%E7%9A%84%E9%97%9C%E4%BF%82/

 

小魚 發文於   2021/01/25

input: Shortlength(5); setinputname(1,"短期均線期數");

input: Longlength(20); setinputname(2,"長期均線期數");

 

If Average(Close,Shortlength) crosses over Average(Close,Longlength)

and close>open

then Ret=1;

好的!謝謝!那像這樣金叉當天需要收紅是在後面加上and close>open就可以了嗎?

如果當日沒收紅在研判下一根 這要如果寫? 謝謝

 

  • 按讚來自於
  • b24524658
XQ小幫手 發文於   2021/01/25

1.那像這樣金叉當天需要收紅是在後面加上and close>open就可以了嗎?

A: 沒錯! 

2.如果當日沒收紅在研判下一根 這要如果寫?

A: 如果您依然要維持 當天黃金交叉且紅K棒的話,那就維持原樣就好了 

但如果您是要曾經有發生過黃金交叉的話 

建議您使用看看 countif 語法 

https://xshelp.xq.com.tw/XSHelp/?HelpName=CountIf&group=LOGICFUNC

也就是讓程式判定過往一段時間是否曾經發生過黃金交叉

如果有,那就記錄下來並且呈現紅k棒的話 就進場

舉個範例給您

input: Shortlength(5); setinputname(1,"短期均線期數");

input: Longlength(20); setinputname(2,"長期均線期數");

If countif(Average(Close,Shortlength) crosses over Average(Close,Longlength),5)>=1 

and close>open

then Ret=1;

小魚 發文於   2021/01/26
小魚 發文於   2021/01/26

你好今天照上面的語法這裡 回測時2-3根內會重複執行

這樣加入什麼條件?可以避免掉 

XQ小幫手 發文於   2021/01/27

小魚 您好

因為您的條件是

如果之前"曾經"發生過黃金交叉 ,

且close> open  

所以短時間內多次觸發感覺是可能會發生的 (如果上漲沿著趨勢繼續漲的話)

1.您可以選擇讓增加一些條件,來使觸發更嚴苛

2.在回測裡 選擇"最大同時進場次數" 1次

也就是限制一次只買進一張 等出場後 才依照條件決定是否再次進場

附加文件

小魚 發文於   2021/01/27

那開始下單後是不是也會連續觸發?

那下實單要怎麼設定?

XQ小幫手 發文於   2021/01/27

小魚 您好

如果是實際盤中的話 

您可以設計一個買進賣出策略

可以參考這篇看看,他就會限制你的進場數

https://forum.xq.com.tw/thread/%e7%94%a8%e7%ad%96%e7%95%a5%e9%9b%b7%e9%81%94%e9%81%94%e6%88%90%e4%b8%8a%e6%bc%b2x%e9%bb%9e%e8%b2%b7%e9%80%b2-%e4%bd%8e%e6%96%bc%e6%88%90%e6%9c%acy%e9%bb%9e%e5%87%ba%e5%a0%b4/?order=all#comment-b1e63e9b-3a99-4d18-a232-ac6700081d19

或是在雷達設定當中"觸發條件"勾選"只觸發一次" 

 

小魚 發文於   2021/01/27

所以觸發後就要自己在手動在開啟一次對吧

謝謝你

XQ小幫手 發文於   2021/01/28

小魚 您好

是的,或是您使用買進賣出的策略的話 

也是控制交易數的一個辦法

顯示更多回應 發表回覆
Close