设为首页收藏本站

 找回密码
 注册
查看: 2688|回复: 4
打印 上一主题 下一主题

指南中的跟踪止损为什么不好用? [复制链接]

Rank: 3Rank: 3

精华
0
UID
87709
积分
222
帖子
112
主题
27
阅读权限
40
注册时间
2011-12-20
最后登录
2015-7-23
跳转到指定楼层
1#
发表于 2013-1-31 23:07:30 |只看该作者 |倒序浏览
MyEntryPrice = AvgEntryPrice;
    If(BarsSinceentry == 0)
    {
        HighestAfterEntry = Close;
        LowestAfterEntry = Close;
        If(MarketPosition <> 0)
        {
            HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice);  
            LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice);  
        }
    }else
    {
        HighestAfterEntry = Max(HighestAfterEntry,High);
     LowestAfterEntry = Min(LowestAfterEntry,Low);   
   }

    If(MarketPosition==1) // 有多仓的情况
    {
        If(HighestAfterEntry[1] >= MyEntryPrice + DTTrailingStart2*MinPoint)   // 第二级跟踪止损的条件表达式
        {
            If(Low <= HighestAfterEntry[1] - TrailingStop2*MinPoint)
            {
                MyExitPrice = HighestAfterEntry[1] - TrailingStop2*MinPoint;
                If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
                Sell(0,MyExitPrice);
            }
        }else if(HighestAfterEntry[1] >= MyEntryPrice + TrailingStart1*MinPoint)// 第一级跟踪止损的条件表达式
        {
            If(Low <= HighestAfterEntry[1] - TrailingStop1*MinPoint)
            {
                MyExitPrice = HighestAfterEntry[1] - TrailingStop1*MinPoint;
                If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
                Sell(0,MyExitPrice);
            }
        }else if(Low <= MyEntryPrice - StopLoss*MinPoint)//可以在这里写上初始的止损处理
        {
            MyExitPrice = MyEntryPrice - StopLoss*MinPoint;
            If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
            Sell(0,MyExitPrice);
        }
    }else if(MarketPosition==-1) // 有空仓的情况
    {
        If(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart2*MinPoint)   // 第二级跟踪止损的条件表达式
        {
            If(High >= LowestAfterEntry[1] + TrailingStop2*MinPoint)
            {
                MyExitPrice = LowestAfterEntry[1] + TrailingStop2*MinPoint;
                If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
                BuyToCover(0,MyExitPrice);
            }
        }else if(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart1*MinPoint)// 第一级跟踪止损的条件表达式
        {
            If(High >= LowestAfterEntry[1] + TrailingStop1*MinPoint)
            {
                MyExitPrice = LowestAfterEntry[1] + TrailingStop1*MinPoint;
                If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
                BuyToCover(0,MyExitPrice);
            }
        }else If(High >= MyEntryPrice + StopLoss*MinPoint)//可以在这里写上初始的止损处理
        {
            MyExitPrice = MyEntryPrice + StopLoss*MinPoint;
            If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
            BuyToCover(0,MyExitPrice);
        }
    }
实盘的时候为什么会在开仓同时就出现平仓信号,而且平仓信号一直变动,最后符合条件才停止。
请问是什么原因,我是完全按照指南写的,有什么问题么?请高手指点。

Rank: 3Rank: 3

精华
0
UID
87709
积分
222
帖子
112
主题
27
阅读权限
40
注册时间
2011-12-20
最后登录
2015-7-23
2#
发表于 2013-2-1 18:38:49 |只看该作者
问题已经解决。

使用道具 举报

Rank: 1

精华
0
UID
115010
积分
27
帖子
6
主题
0
阅读权限
10
注册时间
2013-1-21
最后登录
2013-4-30
3#
发表于 2013-3-18 22:54:51 |只看该作者
lanmeng_818 发表于 2013-2-1 18:38
问题已经解决。

我遇到了同样的问题
能请教一下楼主是怎么解决的吗?
多谢先了

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
87709
积分
222
帖子
112
主题
27
阅读权限
40
注册时间
2011-12-20
最后登录
2015-7-23
4#
发表于 2013-3-20 12:35:02 |只看该作者
梦d解析 发表于 2013-3-18 22:54
我遇到了同样的问题
能请教一下楼主是怎么解决的吗?
多谢先了

你策略里一定有收盘平仓,先去掉就好了。

使用道具 举报

Rank: 1

精华
0
UID
255537
积分
7
帖子
7
主题
0
阅读权限
10
注册时间
2017-8-17
最后登录
2018-7-26
5#
发表于 2018-3-28 20:39:32 |只看该作者
用收盘影响这么大吗?鸡肋真多。
都什么时代了,安装个目录还要英文的;一次报警功能也是鸡肋,都不改。
是软件去适应市场,而不是客户来适应软件。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-10 10:11

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部