设为首页收藏本站

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

我写的这个,开启自动交易后咋好像没啥反应呀? [复制链接]

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
跳转到指定楼层
1#
发表于 2008-6-30 14:22:07 |只看该作者 |倒序浏览
Params
Numeric nOrders(1);
Numeric nMax(1);
Numeric nLoss(50);
Vars
Bool con1(False);
bool con2(False);
Bool con3(False);
Begin
con1=(CloseD[1]-OpenD[1])>=0;
con2=(CloseD[1]-OpenD[1])<0;
con3=CurrentTime>=0.091000 and CurrentTime<=0.145800;
if(BarStatus==2 and con3)
{
//----------------------------------------
if(con1 and MaxContracts<=nMax)
{
  if(MarketPosition==-1) BuyToCover(nOrders,0);
  if(MarketPosition==0)
  {
   Buy(nOrders,0);
  }
}
//--------------------------------------------------------------
if(con2 && MaxContracts<=nMax)
{
  if(MarketPosition==1) Sell(nOrders,0);
  if(MarketPosition==0)
  {
   SellShort(nOrders,0);
  }
}
//----------------------------------------------------------
if(MarketPosition!=0 and MaxPositionLoss>=nLoss)
{
  if(MaxPositionLoss==1)
  {
   Sell(nOrders,0);
   SellShort(nOrders,0);
  }
  if(MaxPositionLoss==-1)
  {
   BuyToCover(nOrders,0);
   Buy(nOrders,0);
  }
}
}
//收盘清仓
if(CurrentTime>0.145800)
{
Sell;
BuyToCover;
}
End
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-6-30 17:15:57 |只看该作者
写法有问题
BarStatus==2的情况会开仓,但这个Bar变成非最后Bar时没有处理

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
3#
发表于 2008-6-30 17:23:52 |只看该作者
恩,我是在“日K线”上启动自动交易的呀,当天里,这个“K线”应该始终满足“Barstatus==2”这个条件的呀...
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2008-7-1 09:01:05 |只看该作者
那就更是错的离谱了,想收盘平仓的时候con3肯定为false.这个时候连开盘信号都没有,自然不能平仓了

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
5#
发表于 2008-7-1 18:51:03 |只看该作者
大哥,CurrentTime是我电脑的时间,为啥回事False呀,。。说说嘛。。。
就算不能Con3==Fasle,前面的以con2为开平仓条件总应该可以吧?
呵呵,一方面我再试试,另一方面你给我说说原理嘛。。。
呵呵,我觉得呀,有些地方,可能涉及到TB的运行机制上,所以要了解它的运行和处理机制,才能写出符合它的逻辑被它识别和认可的代码,虽然这样的逻辑不一定符合常理,您说对吧?我觉得按照一般的道理来说,好像看不出我上面有撒问题嘛。。。
是不是,可以这样理解,因为在临近收盘的时候,因为“Con3==False”所以之前进行交易的那段代码不再被执行,因为不再被执行,所以,无法获取这段代码产生的开平仓信息,因此,产生了个“不同步”的问题呀?小生实在愚钝,还望不要见怪呀。。。
另外呀,假如我想在“日K线”上实现上面那样的功能是否有办法呢,我该怎么做呢?

[ 本帖最后由 szdfc 于 2008-7-1 19:32 编辑 ]
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
6#
发表于 2008-7-1 20:10:19 |只看该作者
您上面的理解是正确。在日线上作日内交易基本上很麻烦,CurrentTime是肯定不能用的。我建议还是换这个周期来实现吧

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
7#
发表于 2008-7-1 20:16:13 |只看该作者
嘿嘿,上面是我一个已经可以比较稳定的赚钱的大的系统内,嵌套的一个功能,算是个小系统,这个大的系统是以日线为基础的,但是在日线上建仓平仓的时候,有些不足,我本意想用这个来弥补大系统在一些细节处理上的不足的,真想实现它呀!!!
有没有啥比较可行的建议,我去尝试一下呀。。。

[ 本帖最后由 szdfc 于 2008-7-1 20:19 编辑 ]
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 4

精华
1
UID
714
积分
581
帖子
126
主题
23
阅读权限
50
注册时间
2007-11-10
最后登录
2015-12-1
8#
发表于 2008-7-15 20:09:51 |只看该作者
我是初学者,有很多东西也要向各位高人讨教,这个问题我不知
但是还是改了一下格式,但愿能够方便高人的阅读:)
//------------------------------------------------------------------------
// 简称: test
// 名称: test
// 类别: 交易指令
// 类型: 多头建仓
// 输出:
//------------------------------------------------------------------------
Params
        Numeric nOrders(1);
        Numeric nMax(1);
        Numeric nLoss(50);
Vars
        Bool con1(False);
        bool con2(False);
        Bool con3(False);
Begin
        con1=(CloseD[1]-OpenD[1])>=0;
        con2=(CloseD[1]-OpenD[1])<0;
        con3=CurrentTime>=0.091000 and CurrentTime<=0.145800;
        if(BarStatus==2 and con3)
        {
                if(con1 and MaxContracts<=nMax)
                {
                        if(MarketPosition==-1)
                                BuyToCover(nOrders,0);
                        if(MarketPosition==0)
                        {
                                Buy(nOrders,0);
                        }
                }
                if (con2 && MaxContracts<=nMax)
                {
                        if(MarketPosition==1)
                                Sell(nOrders,0);
                        if(MarketPosition==0)
                        {
                                SellShort(nOrders,0);
                        }
                }

                if (MarketPosition!=0 and MaxPositionLoss>=nLoss)
                {
                  if(MaxPositionLoss==1)
                  {
                   Sell(nOrders,0);
                   SellShort(nOrders,0);
                  }
                  if(MaxPositionLoss==-1)
                  {
                   BuyToCover(nOrders,0);
                   Buy(nOrders,0);
                  }
                }
        }
        if (CurrentTime>0.145800)          //收盘清仓
        {
                Sell;
                BuyToCover;
        }
End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2008/07/15 19:54
// 版权所有        hedgehog
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
森林中最不缺的是猎物,对猎人来说最珍贵的是子弹
[fly]人生没有彩排,每一场都是现场直播[/fly]

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
9#
发表于 2009-5-11 22:00:55 |只看该作者
CurrentTime>0.145800

0.1458表示14:58,为什么是这样表示的呢
学习TB,哪怕BT。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
10#
发表于 2009-5-11 22:01:11 |只看该作者
CurrentTime>0.145800

0.1458表示14:58,为什么是这样表示的呢
学习TB,哪怕BT。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 09:38

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部