首页 Ghost_Trader_Trading_Strategy

Ghost_Trader_Trading_Strategy

举报
开通vip

Ghost_Trader_Trading_Strategy THE GHOST TRADER TRADING STRATEGY The code for the Ghost Trader is designed more as a template than a complete trading strategy. Some trading strategies incorporate the success of the last trade signal in the calculation/determination of the next trade signa...

Ghost_Trader_Trading_Strategy
THE GHOST TRADER TRADING STRATEGY The code for the Ghost Trader is designed more as a template than a complete trading strategy. Some trading strategies incorporate the success of the last trade signal in the calculation/determination of the next trade signal. We have tested several methodologies that only initiate new positions after a losing trade. Some traders feel that there exists a high probability of failure on the next trade signal if the last trade was closed out with a profit. This approach is much easier to trade than historically back test. It’s easy to keep track of your trades and then skip the hypothetical trades that don’t meet your criteria. In our example of waiting for a losing trade before initiating a new trade, you would simply stop trading your account after a winning trade and start paper trading and wait until you have a loser on paper. Once a paper loser occurs, the next trade would be initiated in the real world. The code for Ghost Trader demonstrates how to keep track of simulated trades and only issue the trades that meet a certain criteria. The core trading strategy of the Ghost Trader is based off of an expo- nential moving average and a RSI indicator. if(marketPosition = 0 and myProfit < 0 and Xaverage(Close,9) > Xaverage(High,19) and RSI(Close,9) crosses below 70) then begin buy next bar at High stop; end; if(marketPosition = 0 and myProfit < 0 and Xaverage(Close,9) < Xaverage(Low,19) and RSI(Close,9) crosses above 30) then begin sellShort next bar at Low stop; end; Long positions are initiated on the next day at today’s high on a stop order. This order is only issued if the nine day exponential moving average of closes is greater than the 19 day exponential moving average of high prices and the nine day RSI of closing prices is crossing from above to below the 70 reading. Short positions are initiated in just the opposite fashion. Long positions are liq- uidated if today’s market action penetrates the lowest low of the past 20 days and short positions are liquidated if today’s market action penetrates the high- est high of the past 20 days. These entry/exit techniques are interesting but are not the main focus of the Ghost Trader. The main focus of the Ghost Trader is to keep track of a trading system and issue only the trade signals that meet a certain criteria. In our case, actual trade signals should only be issued after a real or simulated losing trade. The following code keeps track of all trades— real and simulated. Trading Strategies That Work 149 Ghost System Code {Ghost system} {Look to see if a trade would have been executed today and keep track of our position and our entry price. Test today's high/low price against the trade signal that was generated by offsetting our calculations by one day.} if(myPosition = 0 and Xaverage(Close[1],9) > Xaverage(High[1],19) and RSI(Close[1],9) crosses below 70 and High >= High[1]) then begin myEntryPrice = MaxList(Open,High[1]); {Check for a gap open} myPosition = 1; end; if(myPosition = 1 and Low < Lowest(Low[1],20) )then begin value1 = MinList((Lowest(low[1],20)),Open); {Check for a gap open} myProfit = value1 - myEntryPrice {Calculate our trade profit/loss} myPosition = 0; end; if(myPosition = 0 and Xaverage(Close[1],9) < Xaverage(Low[1],19) and RSI(Close[1],9) crosses above 30 and Low <= Low[1]) then begin myEntryPrice = MinList(Open,Low[1]); myPosition =-1; end; if(myPosition =-1 and High > Highest(High[1],20)) then begin value1 = MaxList((Highest(High[1],20)),Open);{Check again for a gap open} myProfit = myEntryPrice - value1; {Calculate our trade profit/loss} myPosition = 0; end; See how we compare today’s market action against the signal that was poten- tially generated on yesterday’s bar: if(myPosition = 0 and Xaverage(Close[1],9) > Xaverage(High[1],19) and RSI(Close[1],9) crosses below 70 and High >= High[1]) then We are checking to see if yesterday’s nine day exponential moving average of closes crossed above yesterday’s 19 day exponential moving average if highs and yesterday’s nine day RSI of closes reading crossed down below 70 and today’s high price penetrated yesterday’s high price. If all of these criteria were met yesterday and today, then we know we should be in a long position (real or simulated) and the following block of code is executed: 150 Building Winning Trading Systems with TradeStation begin myEntryPrice = MaxList(Open,High[1]); {Check for a gap open} myPosition = 1; end; Notice that we did not instruct TradeStation to issue an order. We are just simply trying to keep track of all trades and we do so by setting our own vari- ables, myEntryPrice and myPosition, accordingly. Remember that we are plac- ing stop orders for the next day at the price of today’s high, and since we are keeping track of myEntryPrice, we need to check and see if the Open price of today gapped above our stop price. If the Open did gap above our stop, then we need to manually set myEntryPrice equal to the Open. We also keep track of liquidated trades: if(myPosition = 1 and Low < Lowest(Low[1],20) )then begin value1 = MinList((Lowest(low[1],20)),Open); {Check for a gap open} myProfit = value1 - myEntryPrice; {Calculate our trade profit/loss} myPosition = 0; end; Since TradeStation is not keeping track of all our trades, in addition to myPo- sition and myEntryPrice, we must keep track of the profit/loss from the last trade by storing the information in myProfit. Once myProfit is negative (a loss occurred) we can start issuing real trade orders. The following code issues the real signals based on the entry technique and the value of myProfit. Real System Code {Real System} {Only enter a new position if the last simulated or real trade was a loser. If last trade was a loser, myProfit will be less than zero.} if(marketPosition = 0 and myProfit < 0 and Xaverage(Close,9) > Xaverage(High,19) and RSI(Close,9) crosses below 70) then begin buy next bar at High stop; end; if(marketPosition = 0 and myProfit < 0 and Xaverage(Close,9) < Xaverage(Low,19) and RSI(Close,9) crosses above 30) then begin sellShort next bar at Low stop; end; Trading Strategies That Work 151 if(marketPosition = 1) then sell next bar at Lowest(Low,20) stop; if(marketPosition =-1) then buytocover next bar at Highest(High,20) stop; The core entry/exit strategy issued the following signals: 12/1/2000 Sell 1 .9446 $0.00 $0.00 Short 2/5/2001 SExit 1 .9098 $0.00 $0.00 Cover 4350.0000 3/14/2001 Sell 1 .8674 $0.00 $0.00 Short 5/3/2001 SExit 1 .8563 $0.00 $0.00 Cover 1387.5000 7/3/2001 Sell 1 .8272 $0.00 $0.00 Short 7/20/2001 SExit 1 .8342 $0.00 $0.00 Cover (875.0000) 8/13/2001 Buy 1 .8433 $0.00 $0.00 Buy 10/11/2001 LExit 1 .8385 $0.00 $0.00 Sell (600.0000) 10/30/2001 Sell 1 .8323 $0.00 $0.00 Short 11/8/2001 SExit 1 .8443 $0.00 $0.00 Cover (1500.0000) 11/21/2001 Sell 1 .8250 $0.00 $0.00 Short 3/6/2002 SExit 1 .7669 $0.00 $0.00 Cover 7262.5000 3/11/2002 Buy 1 .7903 $0.00 $0.00 Buy 4/1/2002 LExit 1 .7543 $0.00 $0.00 Sell (4500.0000) 5/1/2002 Buy 1 .7861 $0.00 $0.00 Buy The core entry/exit technique with the last trade was a loser criteria issued the following trades: 12/1/2000 Sell 1 .9446 $0.00 $0.00 Short 2/5/2001 SExit 1 .9098 $0.00 $0.00 Cover 4350.0000 8/13/2001 Buy 1 .8433 $0.00 $0.00 Buy 10/11/2001 LExit 1 .8385 $0.00 $0.00 Sell (600.0000) 10/30/2001 Sell 1 .8323 $0.00 $0.00 Short 11/8/2001 SExit 1 .8443 $0.00 $0.00 Cover (1500.0000) 11/21/2001 Sell 1 .8250 $0.00 $0.00 Short 3/6/2002 SExit 1 .7669 $0.00 $0.00 Cover 7262.5000 5/1/2002 Buy 1 .7861 $0.00 $0.00 Buy Over this time period, waiting for a losing trade proved to be much more suc- cessful. The Ghost Trader was designed as a template to help in the program- ming of trading strategies that base the next trade signal off of the results of the prior signal. You could easily modify the code and only issue real trade signals after two consecutive losers. 152 Building Winning Trading Systems with TradeStation
本文档为【Ghost_Trader_Trading_Strategy】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_528207
暂无简介~
格式:pdf
大小:51KB
软件:PDF阅读器
页数:4
分类:金融/投资/证券
上传时间:2012-12-02
浏览量:19