查看: 2406|回复: 11
打印 上一主题 下一主题

大家好,请问怎么设置自己的交易系统,让它在这里买,在这里卖?请看图。

[复制链接]
跳转到指定楼层
1
发表于 2012-9-25 19:45:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
50金币
本帖最后由 湖北网迅 于 2012-10-1 07:57 编辑

这几天看了一本书,里面用TB设计的一个交易系统个人很看好,但是在编译时出错,错误是什么C0012,小括号匹配不正确。不知道什么原因。想请高人帮忙改成文华公式或者用TB编好?谢谢。书我上传,公式我贴出来。谢谢大家。

其实质就是一个短线上穿下穿长线时操作,但加了一个止损功能。
Params                                                
        Numeric Length1(5);           //线一标准
        Numeric Length2(21);         //线二标准
        Numeric TrailingStop(100);
        Numeric Lots(1);   
    Numeric InitialStop(20);                    // 初始止损(千分之N)
        Numeric BreakEvenStop(30);                  // 保本止损(千分之N)
        Numeric TrailingStop(50);                   // 追踪止损(千分之N)       
    Numeric MinPoint;
        Numeric MyPrice;
Vars                                                   
        NumericSeries MA1;                           
        NumericSeries MA2;
        BoolSeries condBuy(false);
        BoolSeries condSell(false);
        NumericSeries HigherAfterEntry;
        NumericSeries LowerAfterEntry;
        NumericSeries HigherAfterEntry;                    // 多头盈利峰值价
        NumericSeries LowerAfterEntry;                     // 空头盈利峰值价

Begin                                                
        If(BarsSinceEntry >= 1)
        {
                HigherAfterEntry = Max(HigherAfterEntry[1],High[1]);
                LowerAfterEntry = Min(LowerAfterEntry[1],Low[1]);
        }
MinPoint = MinMove * PriceScale;
        MA1 = AverageFC(Close,Length1);              
        MA2 = AverageFC(Close,Length2);               
        condBuy = CrossOver(MA1,MA2);
        condSell = CrossUnder(MA1,MA2);
       
        If (condBuy[1]==true)
        {
                Buy(Lots,Open);
                HigherAfterEntry = Open;
                LowerAfterEntry = HigherAfterEntry;
        }
        If (condSell[1]==true)
        {
                SellShort(lots,Open);
                HigherAfterEntry = Open;
                LowerAfterEntry = Open;
        }
    Commentary("HigherAfterEntry="+Text(HigherAfterEntry));
        Commentary("LowerAfterEntry="+Text(LowerAfterEntry));
        If(MarketPosition==1)
        {
                If(Low <= HigherAfterEntry * (1 – TrailingStop/1000))
        {
                MyPrice = HigherAfterEntry * (1 – TrailingStop/1000);
                        If(Open < MyPrice) MyPrice = Open;
                        Sell(Lots,MyPrice);
                }
        }Else If(MarketPosition == -1)
        {
                If(High >= (LowerAfterEntry * (1 + TrailingStop / 1000)))
        {
                MyPrice = LowerAfterEntry * (1 + TrailingStop / 1000);

                        If(Open > MyPrice) MyPrice = Open;
                        BuyToCover(Lots,MyPrice);
                }
        }
End

未命名.JPG (41.73 KB, 下载次数: 69)

未命名.JPG





2
 楼主| 发表于 2012-9-25 19:47:36 | 只看该作者
贴子编得很乱,主要意思就是上穿 时买入,下穿时卖出。在60日线上不做空,在60日线下不做多。
回复

使用道具 举报

3
 楼主| 发表于 2012-9-25 20:11:41 | 只看该作者
MA1:=MA(CLOSE,N);
MA2:=MA(CLOSE,M);
CROSS(MA1,MA2),BPK;
CROSS(MA2,MA1),SPK;
谢谢,已解决。
回复

使用道具 举报

4
 楼主| 发表于 2012-9-25 22:00:40 | 只看该作者
晶莹剔透
回复

使用道具 举报

5
发表于 2012-9-26 07:05:28 | 只看该作者
顶                  
回复

使用道具 举报

6
 楼主| 发表于 2012-9-26 21:53:56 | 只看该作者
高手帮忙看一下撒?麻烦大家了。
回复

使用道具 举报

7
 楼主| 发表于 2012-9-29 22:21:03 | 只看该作者
{:soso_e181:}每天一顶,希望高手帮忙
回复

使用道具 举报

8
 楼主| 发表于 2012-10-1 07:57:37 | 只看该作者
{:soso_e109:}
回复

使用道具 举报

9
发表于 2012-10-1 09:16:38 | 只看该作者
MA1:=MA(CLOSE,N);
MA2:=MA(CLOSE,M);
MA3:=MA(CLOSE,60);

C>MA3 AND CROSS(MA2,MA1),SP;//如果线上死叉平仓
C<MA3 AND CROSS(MA1,MA2),BP;//如果线下金叉平仓

C>MA3 AND CROSS(MA1,MA2),BK;
C<MA3 AND CROSS(MA2,MA1),SK;

评分

1

查看全部评分

回复

使用道具 举报

10
发表于 2012-10-1 09:18:23 | 只看该作者
看不懂你贴的指标
只是按你中文意思写得{:soso_e113:}
回复

使用道具 举报

11
发表于 2012-10-1 12:41:24 | 只看该作者
{:soso_e146:}
回复

使用道具 举报

12
 楼主| 发表于 2012-10-1 15:00:37 | 只看该作者
遨游九霄 发表于 2012-10-1 09:18
看不懂你贴的指标
只是按你中文意思写得

谢谢你。麻烦你了。。
回复

使用道具 举报

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

本版积分规则

易家网  ©2015-2023  郑州期米信息技术有限公司版权所有  豫公网安备 41010502005136号 豫ICP备16010300号