python量化交易通达信_分享一个可以实战的量化交易策略(适用于通达信系统)...
2018-12-07 15:30
交易系統是每一個資深交易員必須具備的交易工具,擁有自己的交易系統是一個交易者成熟的標志之一。那么,一個交易系統都有哪些元素?應該如何分辨交易系統的優劣?今天起,我將介紹一些有實戰價值的量化交易系統,這些系統都經過了時間的沉淀,是可以盈利的系統,希望能給大家以啟迪,幫助大家更好的從市場上盈利。
首先明確幾個要點:
1、所有的技術指標都是價格變化的反映,指標是價格變化的結果,而不是原因,這就意味著再“好看”的指標,也隨時有變臉的可能,要對任何指標隨時保持警惕,而不是盲目的崇拜和信任。
2、行情變化的根本在“人”,所有的交易系統一定是有局限的:
1)、時間局限:
所有的交易系統一定有失效的時間,有些是開始有效,后來無效,最后又有效,比如某些追蹤趨勢或震蕩的系統;有些是開始有效,隨著市場的變化效果越來越差,直至失效,比如某些復雜的量化交易策略。不同的只是在于有效和失效時間的長短和周期。
2)、品種局限:
客觀來說,市場上的不同品種具有不同的走勢特征,至少波動性和趨勢性不會完全相同,這意味著一個交易系統不一定能適用于所有的品種,比如銀行股和小盤股(所謂的小盤股“股性活”)、期貨里的工業品和農業品。
或者再進一步,我們可以這樣理解:同一個交易系統對不同的交易品種,有著不同的盈利和虧損的周期,這個周期可能很短:幾周、幾個月,我們能夠熬過去;也可能很長:幾年、十幾年甚至幾十年,這期間怎么交易怎么虧,完全不適合交易。這也是不能完全信任系統回測和參數優化的原因之一。所以在量化交易中,品種的選擇至關重要。
3)、執行的局限:
對于執行交易系統的人來說,如果機械的執行交易系統,隨著時間的流逝,有可能系統已經不適合當前的行情而不自知;如果對交易系統進行人為干預,又怎么能確定自己的干預一定符合當前的行情?這是一個兩難的選擇。
3、任何技術指標和基于技術指標的交易系統,都不過是高開低收的計算+不同周期的前后平移,原理的相似導致共振很常見。一旦一個品種出現趨勢行情,不同的趨勢指標或系統會做出相同的反應,只是時間的先后而已。所以,要避免單純以共振作為開平倉的依據(作為資金管理的一部分是可以的,比如根據信號出現的順序分批開平倉以控制風險)。
交易系統名稱:基于k線中點突破高點均線的做多交易系統
適用周期:日線、周線、月線
原理:常見的突破往往以高低點或收盤價作為計算的依據,但如果把一根k視為一個整體,能夠體現整體突破的,不是收盤價,而是整根k線的中值,因為中值的上移意味著價格中樞的上移。
系統準備:
1、計算前5日最高價的均線,并且向右平移一個單位,把這根均線命名為:Highma5。
(假設當前k線為T,計算T-6日到T-1日的最高價均線。)
2、 計算前5日最低價的均線,并且向右平移一個單位,把這根均線命名為:lowma5。
(假設當前k線為T,計算T-6日到T-1日的最低價均線。)
3、計算5日前k線中點的5日均線,命名為:Midprice5。
(設當前k線為T,計算T-9日到T-5日每根k線的中點,計算出這五天中點的平均值)
4、定義一根K線R,R要符合以下特征:
1)、R的中點((HIGH+LOW)÷2)要高于T-1日的最高價。
2)、R的振幅(HIGH-LOW)要大于T-1日的振幅。
開倉條件:
如果K線R的收盤價高于Highma5,在下一個k線(T+1)以開盤價買入;。
平倉條件:
1)、開倉后,5個K線內(T+5)以中軌均線Midprice5止損;
2)、持倉超過5個K線后,用下軌均線Lowma5止損。
系統源碼
{ 名稱: 基于K線中點突破高點均線的交易系統(做多) }
{使用系統:通達信5.91}
AUTOFILTER;
HMA5:REF(MA(H,5),1);{平移前一日的5日高點均線到當前K線}
LMA5:=REF(MA(L,5),1);{平移前一日的5日低點均線到當前K線}
MIDPRICE:=REF(MA((L+H)/2,5),5);{平移5日前的中點5日均線到當前K線}
MIDR:=(L+H)/2;{當前K線中點}
R:=H-L;{當前K線振幅}
BUY((REF(C,1)>=REF(HMA5,1)) AND( MIDR>=REF(MIDR,1))AND (R>REF(R,1)),LOW);
{假如前一天收盤價高于當前}
SELL(LOW<=MIDPRICE AND BUYBARS<=5,HIGH);
SELL(LOW<=LMA AND BUYBARS>5,HIGH);
信號顯示
總結
以上是生活随笔為你收集整理的python量化交易通达信_分享一个可以实战的量化交易策略(适用于通达信系统)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql小写转大写UPPER() 和大
- 下一篇: web自动化测试(java)---测试过