多個國外成熟交易策略分享交流-1 hans123突破系統(tǒng) [開拓者 TB]
- 咨詢內(nèi)容:
大家好,剛剛來到TB社區(qū),我今年20歲,目前在美國讀書準備學習金融工程專業(yè)。我的父母是國內(nèi)私募基金的操盤手,從大概八歲起就逐步接觸股票期貨和各種金融產(chǎn)品的交易。從最開始的巴菲特式的buy and hold策略,到后來研究長期資本管理公司的無風險套利策略,再到巴菲特,羅杰斯式的宏觀對沖策略,以及國內(nèi)外著名炒單手的日內(nèi)超短線策略。其間我還研究了德州撲克的打法并獲得了www.pokerstrategy.com的鉆石會員。我研究自動化交易很多年了,以前主要在MT4平臺上設(shè)計和制作用于外匯市場自動化交易程序,這是我的實盤賬戶在線網(wǎng)址:carpower007.mt4live.com過去六個月盈利超過300%資金回撤小于10%.最近受一個私募朋友的委托開發(fā)適應(yīng)國內(nèi)期貨市場的自動化交易程序.在這里我將分享我設(shè)計自動化程序的每一個步驟,包括測試報告和代碼,由于我在TB方面還是新手希望各位前輩能夠多多指點.大家如果常去國外的交易系統(tǒng)論壇的就會發(fā)現(xiàn)那里的老外非常有分享精神,一來有很多人把自己已經(jīng)非常成熟的交易系統(tǒng)的源代碼分享出來,二來只要有人提出想法就會有很多智同道和的人幫助他完成交易系統(tǒng)編程工作,通過這樣的分享他們的平均水平越來越高.而國內(nèi)的交易系統(tǒng)設(shè)計者們卻總是閉門造車,很少互相分享互相幫助.我希望通過我的分享在我們的社區(qū)里掀起分享互助的熱潮,有更多的高手分享出交易策略有更多的程序員愿意幫助論壇里的朋友編寫指標和交易策略使我們的整體交易水平越來越高.在接下來的幾篇帖子里我將和大家分享我收集破解的800多個國外自動化交易程序中最優(yōu)秀的幾個的原理,并和大家一起探討如何把他們移植到國內(nèi)的交易市場里.這些系統(tǒng)包括:
1.基于交易時段選擇和高低點突破的Hans123突破系統(tǒng)
2.適應(yīng)震蕩市場的EA scalper pro剝頭皮系統(tǒng)(我外匯實盤用的系統(tǒng))
3.適應(yīng)震蕩市場的ea boss剝頭皮交易系統(tǒng)(匯友曾經(jīng)有過2周22倍資金回撤0.89%的實盤交易記錄)
4.基于新聞公布和基本面瞬時變化的自動化交易程序Luckey news5基于隨機漫步原理和金字塔加碼的穩(wěn)健盈利ea point Break 5和其升級版DTS6用于eurgbp eurusd gbpusd的三角套利程序。其中ea boss和ea scalper pro都有一套完整的震蕩市場過濾系統(tǒng)如果移植到國內(nèi)相信對大家的交易應(yīng)該很有幫助.由于外匯市場的交易手續(xù)費大都在百分之二以上.從賭博數(shù)學和金融數(shù)學的概率期望角度來分析,所有在外匯市場上有效的系統(tǒng),在國內(nèi)千分之三的手續(xù)費條件都應(yīng)該是有效的而且利潤應(yīng)該是國外系統(tǒng)的數(shù)倍.
首先我來介紹第一個系統(tǒng)Hans123突破交易系統(tǒng).
大家知道外匯市場主要分為三個交易時段,亞洲盤.歐洲盤和美洲盤.還有一個是只有電子盤交易的時段.其中電子盤和亞洲盤由于參與者較少,和亞洲金融機構(gòu)實力較小的緣故,行情主要以上下震蕩為主,這段時間是趨勢交易者的地獄,但是是逆勢剝頭皮交易的天堂,很多準確率超過99%且風險很小的暴利策略都是針對這個交易時段的設(shè)計的(比如ea scalper pro和ea boss)這里我們后面再詳細討論.歐洲盤和美洲盤是參與者最多的時段,是最適合進行突破交易的時段,hans123就是一個非常典型且非常有效的自動化交易策略,它的基本原理是開盤一定時間內(nèi)突破前一個市場的最高價或最低價順勢做多或做空,經(jīng)過對止損止盈等參數(shù)的優(yōu)化這套系統(tǒng)可以應(yīng)用到幾乎所有的外匯品種中并且盈利穩(wěn)定,下面是具體的交易策略.
[ 本帖最后由 oliverzrl 于 2010-7-7 18:24 編輯 ]-
-
hans123黃金測試報告.rar
2010-7-7 18:22:45 上傳
下載次數(shù): 1414
多個國外成熟交易策略分享交流 1突破系統(tǒng)篇
-
- TB技術(shù)人員:
--交易規(guī)則—
初始策略
1)找出亞洲盤的最低最高點,在歐洲開市時.
2)掛單最高價+5點買進,最低價-5點賣出。
3)美洲盤開市前平掉所有倉位.
1)找出歐洲盤最高最低價在美洲盤開市時.
2)掛單最高價+5點買進,最低價-5點賣出。
3)美洲盤收市前平掉所有倉位
EUR/USD:
Buy Stop = 最高價 + 5;
止盈 = Buy Stop + 80;
止損 = Buy Stop - 50;
Sell Stop = 最低價 - 5;
止盈 = Sell Stop - 80;
止損 = Sell Stop + 50;
有30點浮動利潤時將止損移至開倉價位。(30點追蹤止損)
GBP/USD:
Buy Stop = 最高價 + 5;
止盈 = Buy Stop + 120;
止損 = Buy Stop - 70;
Sell Stop = 最低價 - 5;
止盈 = Sell Stop - 120;
止損 = Sell Stop + 70;有40點浮動利潤時將止損移至開倉價位。(40點追蹤止損)
每日早7點,平掉手上所有單子。
實盤使用的時候建議大家根據(jù)品種波動率來優(yōu)化止盈止損等參數(shù)以達到最好的效果,這個mt4里可以用遺傳基因算法優(yōu)化來搞定很快,TB上目前用的還是窮舉法,期待老大給咱們開發(fā)一下呵呵.
以下是原貼地址里面包括交易系統(tǒng)的模板和自動化交易程序國內(nèi)好像給屏蔽了可能得翻墻
http://www.forex-tsd.com/expert- ... 785-hans123-ea.html
我各人優(yōu)化以后這個系統(tǒng)的年均盈利在100%左右,資金回撤20%,使用的是分筆成交數(shù)據(jù).后面我傳了一份國際黃金期貨的測試報告這個大家相對外匯還要熟悉一些,大家參考一下。
下面來談?wù)勅绾伟堰@個系統(tǒng)移植到國內(nèi)的期貨市場中來.
我目前的基本想法是這樣的,hans123可以有以下幾種移植方法
1突破昨日最高最低點5點順勢開倉.收盤前關(guān)倉.設(shè)置止盈止損追蹤止損,止盈止損都設(shè)置成參數(shù),以便根據(jù)品種波動率優(yōu)化.這里最好加一個限制開倉時間的參數(shù)便于優(yōu)化交易時段,因為根據(jù)我的經(jīng)驗一般來講每個品種的有效突破都集中在一個特定的時段,并以此時段為中心進行正態(tài)分布排列。所以優(yōu)化交易時段對這個策略來講非常重要。這個在后面我共享的一個外匯市場的統(tǒng)計表里有說明,大家可以參考(進一步優(yōu)化的filter:交易時段優(yōu)化,ATR,Keltner Channel,KDJ等)
2突破前一個交易時段的最高最低點5點順勢開倉,本交易時段結(jié)束前平掉所有倉位。設(shè)置止盈止損追蹤止損,止盈止損追蹤止損都設(shè)置成參數(shù)以便根據(jù)品種波動率優(yōu)化。加一個限制開倉時間的參數(shù)便于優(yōu)化交易時段。(進一步優(yōu)化的filter:交易時段優(yōu)化,ATR,Keltner Channel,KDJ等)
我在論壇里逛了下發(fā)現(xiàn)了幾個和我想法相似的朋友下面是他們已經(jīng)完成的代碼的整理,有些功能還沒有實現(xiàn)各位前輩老大可否傾囊相授,告訴我如何實現(xiàn)這些功能,多謝了:)這個突破系統(tǒng)不要nextbar發(fā)送功能只要根據(jù)所有的即時價位來發(fā)出交易信號。另外希望能精確到分鐘
[ 本帖最后由 oliverzrl 于 2010-7-7 18:29 編輯 ] - TB客服:
1簡單的昨日高低點突破系統(tǒng):
原貼地址:http://www.tradeblazer.net/forum ... =%E7%AA%81%E7%A0%B4
這個系統(tǒng)我希望高手可以幫助我把那些加倉反手的功能都去掉,或者設(shè)置成可以開關(guān)的功能然后加入止盈止損和追蹤止損并加入交易時間限制,使得我可以針對品種波動率優(yōu)化參數(shù)。
日內(nèi)高低點突破交易系統(tǒng)
//------------------------------------------------------------------------
// 簡稱: todayHLCross
// 名稱:
// 類別: 交易指令
// 類型: 其他
// 輸出:
//------------------------------------------------------------------------
/*
日內(nèi)開盤區(qū)高低點機械突破系統(tǒng)
*/
Params
Numeric maxLots(1);//單次開倉手數(shù)
Numeric maxTrad(4);//最大交易次數(shù)
Numeric minSpt(15);//最小開倉間隔bar數(shù)
Numeric splitRate(3); //交易滑點和傭金
Numeric tradBegin(930); //開倉時間
Numeric tradEnd(1430); //開倉截止時間
Numeric closeTime(1457); //bar的時間超過此值后平倉,一分鐘交易=1457
Vars
Numeric splitDot; //交易滑點
Bool bc(False);//開多條件
Bool sc(False);//開空條件
Numeric tradePrice(0);
NumericSeries hh;
NumericSeries ll;
Begin
splitDot=splitRate*MinMove();
If(BarStatus==0)
{
hh=High;
ll=Low;
Return;
}
if(Day !=Day[1])
{
hh=High;
ll=Low; }
Else
If(Time<0.0001*tradBegin)
{
if(High>hh[1]) hh=High; Else hh=hh[1];
if(Low<ll[1]) ll=Low; Else ll=ll[1];
}
Else
if(Time>=0.0001*tradBegin And Time<=0.1500)
{
hh=hh[1];
ll=ll[1];
//穿越模式
bc=CrossOver(Open,hh) Or CrossOver(High,hh) Or CrossOver(Low,hh) Or CrossOver(Close,hh) ;
sc=CrossUnder(Open,ll) Or CrossUnder(High,ll) Or CrossUnder(Low,ll) Or CrossUnder(Close,ll);
if(MarketPosition == 0)
{
// 當前無倉,開始建立多頭
if(bc)
{
if(BarStatus==2) tradePrice= Q_AskPrice +splitDot; Else tradePrice=hh+splitDot;
Buy(maxLots,tradePrice);
}
Else
// 當前無倉,開始建立空頭
If(sc )
{
if(BarStatus==2)tradePrice= Q_BidPrice -splitDot; Else tradePrice=ll-splitDot;
SellShort(maxLots,tradePrice);
}
}
//-----------------------------------------------------------------------------
Else
{
if(MarketPosition > 0 )
{
// 當前多倉,加倉多頭
if(bc And BarsSinceLastEntry>minSpt)
{
if(BarStatus==2) tradePrice= Q_AskPrice +splitDot; Else tradePrice=hh+splitDot;
Buy(maxLots,tradePrice);
}
// 當前多頭,要求反轉(zhuǎn)為空頭
if(sc)
{
if(BarStatus==2)tradePrice= Q_BidPrice -splitDot; Else tradePrice=ll-splitDot;
// 平多頭開空
SellShort(maxLots,tradePrice);
}
//持倉處理,止損止盈平倉
//........
}
//-----------------------------------------------------------------------------------------------
Else
if(MarketPosition < 0 )
{
// 當前空倉,加空頭
If(sc And BarsSinceLastEntry>minSpt)
{
if(BarStatus==2)tradePrice= Q_BidPrice -splitDot; Else tradePrice=ll-splitDot;
SellShort(maxLots,tradePrice);
}
// 當前空頭,要求反轉(zhuǎn)為多頭
if(bc)
{
if(BarStatus==2) tradePrice= Q_AskPrice +splitDot; Else tradePrice=hh+splitDot;
//平空頭,開多
Buy(maxLots,tradePrice);
}
//持倉處理,止損止盈平倉
//........
}
}
}
End
//------------------------------------------------------------------------
// 編譯版本 GS2004.06.12
// 用戶版本 2008/11/18 18:49
// 版權(quán)所有 fish0451
// 更改聲明 TradeBlazer Software保留對TradeBlazer平臺
// 每一版本的TrabeBlazer公式修改和重寫的權(quán)利
//------------------------------------------------------------------------2定義時間段內(nèi)高低點的函數(shù):
- 網(wǎng)友回復:
原貼地址:http://www.tradeblazer.net/forum ... =%E7%AA%81%E7%A0%B4
vars
NumericSeries TmpHiLine;
Begin
If(Date!=Date[1])
{
TmpHiLine = InvalidNumeric;
}else
{
TmpHiLine = TmpHiLine[1];
}
If(Time >= 0.1100 && Time <= 0.1120)
{
If(TmpHiLine == InvalidNumeric )
TmpHiLine = High;
else
TmpHiLine = max(High,TmpHiLine );
}
PlotNumeric("MyHighLine",TmpHiLine );
End
3一個30分鐘突破的日內(nèi)系統(tǒng)
原貼地址:http://www.tradeblazer.net/forum ... =%E7%AA%81%E7%A0%B4
這個系統(tǒng)我認為缺乏一個有效的過濾器會造成很多無效突破,在過濾器中最簡單有效的是交易時段過濾器正如我前面提到的有效突破總是集中在一天中的某一時段呈正態(tài)分布向兩邊展開。通過時間過濾器可以大大提高系統(tǒng)的成功率和穩(wěn)定性。希望高手添加一下。
Params
Numeric nMins(30); // N分鐘的突破
Numeric nOffset(3); // 突破式的價格偏移
Vars
NumericSeries HighestOf30Min;
NumericSeries lowestOf30Min;
Numeric myPrice;
Numeric MinPoint;
Numeric lots(1);
Begin
MinPoint = MinMove*PriceScale;
If(Date <> Date[1])
{
HighestOf30Min = High;
lowestOf30Min = Low;
}Else If(Time < 0.0900+nMins*0.0001)
{
HighestOf30Min = max(high,HighestOf30Min[1]);
lowestOf30Min = min(Low,lowestOf30Min[1]);
}Else
{
HighestOf30Min = HighestOf30Min[1];
lowestOf30Min = lowestOf30Min[1];
}
If(High >= HighestOf30Min + nOffset*MinPoint && MarketPosition != 1)
{
myPrice = HighestOf30Min + nOffset*MinPoint;
If(Open > myPrice) myPrice = Open;
Buy(lots,myPrice);
}
If(Low <= lowestOf30Min - nOffset*MinPoint && MarketPosition != -1)
{
myPrice = lowestOf30Min - nOffset*MinPoint;
If(Open < myPrice) myPrice = Open;
SellShort(lots,myPrice);
}
If(Time >= 0.1459)
{
Sell(lots,Open);
BuyToCover(lots,Open);
}
End3自適應(yīng)動態(tài)突破系統(tǒng)(Dynamic Break Out II)tb版
- 網(wǎng)友回復:
3自適應(yīng)動態(tài)突破系統(tǒng)(Dynamic Break Out II)tb版
原貼地址:
這個系統(tǒng)是我看到論壇內(nèi)一個比較接近專業(yè)水準的系統(tǒng),但是很多人不研究明白交易原理不進行優(yōu)化就胡亂使用,這個代碼也缺少一個原版所擁有的交易時段篩選參數(shù)和其它一些filter,恩另外介紹一下dochian-channel,這是一個非常好的通道的指標,基于這個指標設(shè)計歐元美元剝頭皮策略準確率可以達到99%,大家可以參考這個外匯EA評測網(wǎng)站的測試報告:http://www.fx3721.cn/2009/1203/320.html
Numeric ceilingAmt(60);
Numeric floorAmt(20);
Numeric bolBandTrig(2.00);
Vars
Numeric lookBackDays(20);
Numeric todayVolatility(0);
Numeric yesterDayVolatility(0);
Numeric deltaVolatility(0);
NumericSeries buyPoint(0);
NumericSeries sellPoint(0);
NumericSeries longLiqPoint(0);
NumericSeries shortLiqPoint(0);
Numeric upBand(0);
Numeric dnBand(0);
Numeric MidLine(0);
Numeric Band(0);
Begin
todayVolatility = StandardDev(Close,30,1);
yesterDayVolatility = StandardDev(Close[1],30,1);
deltaVolatility = (todayVolatility - yesterDayVolatility)/todayVolatility;
lookBackDays = lookBackDays * (1 + deltaVolatility);
lookBackDays = Round(lookBackDays,0);
lookBackDays = Min(lookBackDays,ceilingAmt);
lookBackDays = Max(lookBackDays,floorAmt);
MidLine = AverageFC(Close,lookBackDays);
Band = StandardDev(Close,lookBackDays,bolBandTrig);
upBand = MidLine + bolBandTrig * Band;
dnBand = MidLine - bolBandTrig * Band;
buyPoint = Highest(High[1],lookBackDays);
sellPoint = Lowest(Low[1],lookBackDays);
longLiqPoint = Average(Close[1],lookBackDays);
shortLiqPoint = Average(Close[1],lookBackDays);
if(Close > upBand)
{
If(CrossOver(high,buyPoint))
{
Buy(1,max( buyPoint, Low ));
}
Commentary("多頭觸發(fā)價:"+Text(buyPoint));
}
if(Close < dnBand)
{
If(CrossUnder(Low,sellPoint ))
{
SellShort(1,min( sellPoint , High ));
}
Commentary("空頭觸發(fā)價:"+Text(sellPoint));
}
if(MarketPosition == 1)
{
If(CrossUnder(Low,longLiqPoint ))
{
Sell(1,min( longLiqPoint , High ));
}
Commentary("多頭退出:"+Text(longLiqPoint));
}
if(MarketPosition == -1)
{
If(CrossOver(high,shortLiqPoint))
{
BuyToCover(1,max( shortLiqPoint, Low ));
}
Commentary("多頭退出:"+Text(shortLiqPoint));
}
End
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
指定的模型還沒有相關(guān)內(nèi)容!