仿照系统自带的海龟系统编写了一套简单的海龟交易系统 [开拓者 TB]
- 咨询内容:
- //------------------------------------------------------------------------
- // 简称: TurtleDayTrader
- // 名称: TurtleDayTrader
- // 类别: 公式应用
- // 类型: 用户应用
- // 输出:
- //------------------------------------------------------------------------
- Params
- Numeric LongLength(20); // 长周期
- Numeric ShortLength(10); // 短周期
- Numeric TrailingScale(0.5); // 增仓比例
- Numeric StopLossSet(2); // 止损比例
- Numeric Lots(1); // 交易数量
- Vars
- Numeric MinPoint; // 最小变动单位
- NumericSeries AvgTR; // ATR
- Numeric N; // N 值
- NumericSeries DonchianHi; // 唐奇安通道上轨,延后1个Bar
- NumericSeries DonchianLo; // 唐奇安通道下轨,延后1个Bar
- Numeric ExitHighestPrice; // 离市时判断需要的N周期最高价
- Numeric ExitLowestPrice; // 离市时判断需要的N周期最低价
- Numeric myEntryPrice; // 开仓价格
- Numeric myExitPrice; // 平仓价格
- Bool SendOrderThisBar(False); // 当前Bar有过交易
- NumericSeries preEntryPrice(0); // 前一次开仓的价格
- Begin
- If(BarStatus == 0)
- {
- preEntryPrice = InvalidNumeric;
- } Else
- {
- preEntryPrice = preEntryPrice[1];
- }
-
- AvgTR = XAverage(TrueRange,LongLength);
- N = AvgTR[1];
- DonchianHi = HighestFC(High[1],LongLength);
- DonchianLo = LowestFC(Low[1],LongLength);
- ExitLowestPrice = LowestFC(Low[1],ShortLength);
- ExitHighestPrice = HighestFC(High[1],ShortLength);
- Commentary("N="+Text(N));
- Commentary("preEntryPrice="+Text(preEntryPrice));
- PlotNumeric("上轨",DonchianHi);
- PlotNumeric("下轨",DonchianLo);
- PlotNumeric("退出上轨",ExitHighestPrice);
- PlotNumeric("退出下轨",ExitLowestPrice);
-
- /*/////////////////////////////////开仓////////////////////////////////////////*/
- If(MarketPosition == 0 && High > DonchianHi)
- {
- myEntryPrice = min(high,DonchianHi);
- myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替
- preEntryPrice = myEntryPrice;
- Buy(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- If(MarketPosition == 0 && Low < DonchianLo)
- {
- myEntryPrice = max(low,DonchianLo);
- myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替
- preEntryPrice = myEntryPrice;
- SendOrderThisBar = True;
- SellShort(Lots,myEntryPrice);
- }
- /*///////////////////////////////止盈加仓////////////////////////////////////*/
- If(MarketPosition == 1)
- {
- Commentary("ExitLowestPrice="+Text(ExitLowestPrice));
- If(Low < ExitLowestPrice)
- {
- myExitPrice = max(Low,ExitLowestPrice);
- myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
- Sell(0,myExitPrice); // 数量用0的情况下将全部平
- }Else
- {
- If(preEntryPrice!=InvalidNumeric)
- {
- If(Open >= preEntryPrice + TrailingScale*N) // 如果开盘就超过设定的1/2N,则直接用开盘价增仓。
- {
- myEntryPrice = Open;
- preEntryPrice = myEntryPrice;
- Buy(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- while(High >= preEntryPrice + TrailingScale*N) // 以最高价为标准,判断能进行几次增仓
- {
- myEntryPrice = preEntryPrice + TrailingScale * N;
- preEntryPrice = myEntryPrice;
- Buy(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- }
- /*///////////////////////////////////止损策略///////////////////////////////*/
- If(Low <= preEntryPrice - StopLossSet * N && SendOrderThisBar == false) // 加仓Bar不止损
- {
- myExitPrice = preEntryPrice - StopLossSet * N;
- myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
- Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
- }
- }
- }Else If(MarketPosition ==-1) // 有空仓的情况
- {
- Commentary("ExitHighestPrice="+Text(ExitHighestPrice));
- If(High > ExitHighestPrice)
- {
- myExitPrice = Min(High,ExitHighestPrice);
- myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
- BuyToCover(0,myExitPrice); // 数量用0的情况下将全部平仓
- }Else
- {
- If(preEntryPrice!=InvalidNumeric)
- {
- If(Open <= preEntryPrice - TrailingScale*N) // 如果开盘就超过设定的1/2N,则直接用开盘价增仓。
- {
- myEntryPrice = Open;
- preEntryPrice = myEntryPrice;
- SellShort(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- while(Low <= preEntryPrice - TrailingScale*N) // 以最低价为标准,判断能进行几次增仓
- {
- myEntryPrice = preEntryPrice - TrailingScale * N;
- preEntryPrice = myEntryPrice;
- SellShort(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- }
- /*///////////////////////////////////止损策略///////////////////////////////*/
- If(High >= preEntryPrice + StopLossSet * N && SendOrderThisBar==false) // 加仓Bar不止损
- {
- myExitPrice = preEntryPrice + StopLossSet * N;
- myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
- BuyToCover(0,myExitPrice); // 数量用0的情况下将全部平仓
- }
- }
- }
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2010.12.08
- // 用户版本 2012/02/24 20:16
- // 版权所有 飞跃
- // 更改声明 TradeBlazer Software保留对TradeBlazer平台
- // 每一版本的TrabeBlazer公式修改和重写的权利
- //------------------------------------------------------------------------
- //------------------------------------------------------------------------
- TB技术人员:
本帖最后由 飞跃 于 2012-3-18 11:45 编辑
TB自带的海龟交易系统,仿照其编写了一套简单的海龟交易系统,大家可以模拟一下,表现还是不错的,全局设置我设置了交易次数为4次。 - TB客服:
橡胶的30分钟周期(优化参数后的)
0.jpg (70.74 KB, 下载次数: 7) 2012-3-18 06:58:39 上传 下载次数: 7 4.jpg (100.61 KB, 下载次数: 1) 2012-3-18 06:58:38 上传 下载次数: 1 3.jpg (64.12 KB, 下载次数: 1) 2012-3-18 06:58:39 上传 下载次数: 1 2.jpg (37.18 KB, 下载次数: 1) 2012-3-18 06:58:39 上传 下载次数: 1 - 网友回复:
橡胶的30分钟周期(参数优化后)
1.jpg (245.33 KB, 下载次数: 0) 2012-3-18 07:00:28 上传 下载次数: 0 - 网友回复:
PTA30分钟周期(参数优化后)
0.jpg (204.22 KB, 下载次数: 0) 2012-3-18 07:04:04 上传 下载次数: 0 1.jpg (70.13 KB, 下载次数: 0) 2012-3-18 07:04:05 上传 下载次数: 0 2.jpg (67.17 KB, 下载次数: 0) 2012-3-18 07:04:05 上传 下载次数: 0 4.jpg (47.16 KB, 下载次数: 0) 2012-3-18 07:04:03 上传 下载次数: 0
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
相关文章
-
没有相关内容