设为首页收藏本站

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

请教关于如何使用帐户函数的问题 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
跳转到指定楼层
1#
发表于 2007-12-20 18:48:10 |只看该作者 |倒序浏览
原代码(用于测试):
[code]if(con1)
{
     oneMargin = low*ContractUnit()*BigPointValue()*MarginRatio();
     TotalEquity = CurrentCapital()+ Abs(CurrentContracts())*oneMargin;
      lots = IntPart((TotalEquity*EntryRatio)/oneMargin);
      buy(lots,low);
}
为了从帐户中读取动态权益,从而算出开仓手数,是否可以仅修改为:
if(con1)
{
     If(AccountDataExist)
          {
                oneMargin = open*ContractUnit()*BigPointValue()*MarginRatio();
                TotalEquity=A_CurrentEquity;
                lots = IntPart((TotalEquity*EntryRatio)/oneMargin);
                buy(lots,low);
          }
}
开空仓省略......}/[code]
只是在开仓时进行这样的处理,其他程序一律不变(包括原程序中的平仓sell(0,price)buytocover(0,price)),请问这样是否可行?望赐教。从程序思路来看应该是可行的(相当于指定了开仓手数,应用于图表显示),除了不能进行测试外,不知对不对。
TradeBlazer交流群33647992。

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25127
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
2#
发表于 2007-12-20 20:56:23 |只看该作者
1、要按以下格式。
If(Barstatus == 2)
{
    // 用A_XXXX函数
}else
{
    // 用非账户函数
}
2、平仓也需要按照账户函数来处理
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
3#
发表于 2007-12-20 21:44:52 |只看该作者
谢谢tradeblazer,解决了大问题啊.
TradeBlazer交流群33647992。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 21:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部