GHOST TRADER交易系統

2011-07-21 08:58:35

Building Winning Trading Systems with TradeStation書裡的6個交易系統之一的WLD版。

ChartScript Description

This trading system is disclosed in the book "Building Winning Trading Systems with TradeStation," by George Pruitt and John R. Hill. Pruitt and Hill are the principals of Futures Truth, the independent trading system testing company. In that capacity they have seen and forward tested literally thousands of trading systems and have developed informed opinions about what works and what doesnt work in the markets. Their recommendations thus merit consideration.

The strategy of this system is predicated on the thesis that winning trades are more likely to follow losing trades. Therefore, to implement this strategy the system is "ghost" or paper traded in the background and a real trade is entered only after a ghost or real losing trade. The ghost trading accurately simulates the action of Wealth-Lab to the extent that entry and exit conditions are evaluated, market position is maintained, simulated entry and exit prices are calculated, and hypothetical profits determined. However, the ghost system does not enter real trades. That is left to the real system which enters a real trade only following a real or ghost losing trade, logs that trade, and uses it in the determination of back test performance. The authors suggest that this system is mostly a template demonstrating how background ghost trading may be used to develop information for the use and benefit of foreground real trading.

The core trading logic itself is simple enough. Long and short trades are entered stop when the 9-day RSI crosses under/over the 70/30 critical levels preconditioned by the 9-day EMA being outside a channel formed by the 19-day EMA of highs and lows. Positions are closed stop when the EMA penetrates the highest high/lowest low of the past 20 days.

This system was back tested over five years against the WL-100 portfolio. The real system alone gave a RAR=34.7% and 148/425=34.8% winners. Using the ghost system and entering a new real trade only after a losing ghost or real trade yielded a RAR=20.7% and 144/426=33.8% winners thus calling the losing trade hypothesis into question. Alternatively, using the ghost system and entering a new trade only after a winning ghost or real trade resulted in a RAR=76.6% and 103/316=32.6% winners. It therefore appears, at least for this core logic, watchlist, and backtest period, that when youre hot youre hot!

q

WealthScript Code

Below is the WealthScript code for this ChartScript.

( Click here for a version of the WealthScript code suitable for copying to the clipboard)

var Bar,paneRSI,myPosition :integer;

var myEntryPrice,myExitPrice,myProfit :float;

HideVolume;

myPosition:= 0;

myProfit:= -1;

for Bar:= 21 to BarCount-1 do

begin

{--------------------Ghost System--------------------}

{Simulate system, offset by one bar, in every respect to determine if last trade was loss}

if myPosition = 0 then

begin

if EMA(Bar-1,#Close,9) > EMA(Bar-1,#High,19) then

if CrossUnderValue(Bar-1,RSISeries(#Close,9),70) then

if PriceHigh(Bar) > PriceHigh(Bar-1) then

begin

myEntryPrice:= Max(PriceOpen(Bar),PriceHigh(Bar-1));

myPosition:= +1;

end;

if EMA(Bar-1,#Close,9)< EMA(Bar-1,#Low,19) then

if CrossOverValue(Bar-1,RSISeries(#Close,9),30) then

if PriceLow(Bar)< PriceLow(Bar-1) then

begin

myEntryPrice:= Min(PriceOpen(Bar),PriceLow(Bar-1));

myPosition:= -1;

end;

end;

if ((myPosition = +1) and (PriceLow(Bar)< Lowest(Bar-1,#Low,20))) then

begin

myExitPrice:= Min(Lowest(Bar-1,#Low,20),PriceOpen(Bar));

myProfit:= myExitPrice - myEntryPrice;

myPosition:= 0;

end;

if ((myPosition = -1) and (PriceHigh(Bar) > Highest(Bar-1,#High,20))) then

begin

myExitPrice:= Max(Highest(Bar-1,#High,20),PriceOpen(Bar));

myProfit:= myEntryPrice - myExitPrice;

myPosition:= 0;

end;

{-------------------Real System--------------------}

{Real trades are entered only if the last ghost or real trade resulted in a loss, i.e. myProfit< 0}

{myProfit:= -1;}

if ((MarketPosition = 0) and (myProfit< 0)) then

begin

if EMA(Bar,#Close,9) > EMA(Bar,#High,19) then

if CrossUnderValue(Bar,RSISeries(#Close,9),70) then

BuyAtStop(Bar+1,PriceHigh(Bar),);

if EMA(Bar,#Close,9)< EMA(Bar,#Low,19) then

if CrossOverValue(Bar,RSISeries(#Close,9),30) then

ShortAtStop(Bar+1,PriceLow(Bar),);

end;

if MarketPosition = +1 then

SellAtStop(Bar+1,Lowest(Bar,#Low,20),LastPosition,);

if MarketPosition = -1 then

CoverAtStop(Bar+1,Highest(Bar,#High,20),LastPosition,);

end;

{----------Plotting----------}

DrawLabel(GHOST TRADER,0);

DrawLabel(19-day EMA(hi/lo): dotted lines,0);

DrawLabel(9-day EMA(close): solid line,0);

PlotSeries(EMASeries(#High,19),0,#Blue,#Dotted);

PlotSeries(EMASeries(#low,19),0,#Blue,#Dotted);

PlotSeries(EMASeries(#Close,9),0,#Blue,#Thin);

paneRSI:=CreatePane(75,true,false);

DrawLabel(9-Day RSI(close),paneRSI);

PlotSeries(RSISeries(#Close,9),paneRSI,#Blue,#Thin);

 承諾與聲明

兄弟財經是全球歷史最悠久,信譽最好的外匯返佣代理。多年來兄弟財經兢兢業業,穩定發展,獲得了全球各地投資者的青睞與信任。歷經十餘年的積澱,打造了我們在業内良好的品牌信譽。

本文所含内容及觀點僅為一般信息,並無任何意圖被視為買賣任何貨幣或差價合約的建議或請求。文中所含内容及觀點均可能在不被通知的情況下更改。本文並未考 慮任何特定用戶的特定投資目標、財務狀況和需求。任何引用歷史價格波動或價位水平的信息均基於我們的分析,並不表示或證明此類波動或價位水平有可能在未來 重新發生。本文所載信息之來源雖被認為可靠,但作者不保證它的準確性和完整性,同時作者也不對任何可能因參考本文内容及觀點而產生的任何直接或間接的損失承擔責任。

外匯和其他產品保證金交易存在高風險,不適合所有投資者。虧損可能超出您的賬戶註資。增大槓桿意味著增加風險。在決定交易外匯之前,您需仔細考慮您的財務目標、經驗水平和風險承受能力。文中所含任何意見、新聞、研究、分析、報價或其他信息等都僅 作與本文所含主題相關的一般類信息.

同時, 兄弟財經不提供任何投資、法律或稅務的建議。您需向合適的顧問徵詢所有關於投資、法律或稅務方面的事宜。