开拓者期货期权程序化系统交易论坛

标题: 请教关于如何使用帐户函数的问题 [打印本页]

作者: 孤舟骑浪    时间: 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    时间: 2007-12-20 20:56:23

1、要按以下格式。
If(Barstatus == 2)
{
    // 用A_XXXX函数
}else
{
    // 用非账户函数
}
2、平仓也需要按照账户函数来处理
作者: 孤舟骑浪    时间: 2007-12-20 21:44:52

谢谢tradeblazer,解决了大问题啊.




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2