: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

新手如何寫多指標條件進場訊號(以KD、RSI、MA為例)

新手如何寫多指標條件進場訊號(以KD、RSI、MA為例)

以技術指標來寫進出場策略是最基本好上手的寫法(最基本並不代表水平低無法獲利),一開始先用一個指標,接著可以嘗試用多個指標來搭配,本文示範初學者如何把自己習慣看的指標組成一個交易策略(以KD、RSI、MA指標為例)。


指標百百種,有些很簡單好理解,例如均線就是計算平均值,多數則有其複雜的數學運算邏輯,當然要把一個指標摸透徹,最好要一一解構他的數理原理,求速成的話,我們也可以跳過去,先學會怎麼使用。在「從內建指標或訊號程式碼學怎麼運用函式」一篇中以MACD為例引導初學者如何從內鍵指標語法,學會怎麼呼叫或是引用指標。

我們將以KD、RSI、MA指標為例,初學者在不知道KD與RSI如何引用的情況下,一樣先去參考內建的相關指標用法。以下是PowerLanguager 內建「Stochastic Slow LE」訊號程式碼(KD指標在MC裡名稱為「Stochastic」):
=============================
inputs: Length( 14 ), OverSold( 20 ) ;
variables: var0( 0 ), var1( 0 ), var2( 0 ), var3( 0 ) ;

Value1 = Stochastic( H, L, C, Length, 3, 3, 1, var0, var1, var2, var3 ) ;
condition1 = CurrentBar > 2 and var2 crosses over var3 and var2 < OverSold ;
if condition1 then                                                     
Buy ( "StochLE" ) next bar at market ;
=============================

從策略名稱可以知道這是一個KD多單進場訊號(LE=Long Entry),再從condition1的陳述中不難推敲出var2就是K值,var3就是D值,這樣我們就知道怎麼呼叫K值與D值。(補充說明:Stochastic函式可以回傳多個值,var0~var3,分別是Fast K、Fast D、Slow K、Slow D,也可以參考PowerLanguage Editor內建的函式說明或是這個函式說明網頁(TS函式,與MC幾乎共通))

再來打開PowerLanguager 內建「RSI LE」訊號程式碼:
=============================
inputs:  Price( Close ), Length( 14 ), OverSold( 30 ) ;
variables:  var0( 0 ) ;

var0 = RSI( Price, Length ) ;

condition1 = Currentbar > 1 and var0 crosses over OverSold ;
if condition1 then                                                                    
Buy ( "RsiLE" ) next bar at market ;
=============================

RSI更簡單,RSI( Price, Length )就是算出RSI的函式。

接者我們試者把兩段程式碼合併,同時把均線程式碼也加進去,並做一些精簡及改名(以利識別),如下:
=============================
inputs: KD_Length(14),RSI_Length(14),MA_Length(60) ;
variables: var0(0), var1(0), var_K(0), var_D(0),var_RSI(0),var_MA(0) ;

Value1 = Stochastic( H, L, C, KD_Length, 3, 3, 1, var0, var1, var_K, var_D ) ;
var_RSI = RSI( close, RSI_Length ) ;
var_MA = Average( close, MA_Length ) ;
=============================

到這邊為止我們就可以引用(計算):
Var_K即K值
Var_D即D值
Var_RSI即RSI值
Var_MA即均線值

接下來就看我們的策略要怎麼安排,例如多單進場條件如下:
1.K>D且D小於50,且
2.RSI呈現上升趨勢,且
3.收盤價在季線(60MA)以上

再加個停損停利機制,把它們都寫進腳本,如下:
=============================
inputs: KD_Length(14),RSI_Length(14),MA_Length(60) ;
variables: var0(0), var1(0), var_K(0), var_D(0),var_RSI(0),var_MA(0) ;

Value1 = Stochastic( H, L, C, KD_Length, 3, 3, 1, var0, var1, var_K, var_D ) ;
var_RSI = RSI( close, RSI_Length ) ;
var_MA = Average( close, MA_Length ) ;

if var_K>var_D and var_D>50 and var_RSI>var_RSI[1] and close>var_MA then buy next bar at market;
setstoploss(5000);
setprofittarget(20000);
=============================

以上就完成一個多指標交易策略,初學者如果對寫程式還不熟悉可以循此方式多多練習。

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

謝謝分享

TOP

返回列表