设为首页收藏本站

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

按(初始资金+总盈利)的50%比例开仓怎么写 [复制链接]

Rank: 3Rank: 3

精华
0
UID
114001
积分
136
帖子
71
主题
34
阅读权限
40
注册时间
2012-12-10
最后登录
2014-8-1
跳转到指定楼层
1#
发表于 2013-9-14 15:34:46 |只看该作者 |倒序浏览
本帖最后由 大力水手 于 2013-9-14 15:39 编辑

全自动资金比例管理,意思是永远按(初始资金+总盈利)的50%比例开仓 ,这样自动计算开仓手数,如下写有严重问题
Portfolio_TotalProfit: 获得投资组合的累计交易盈亏。 图表第一根K线,一手都没开,居然用这个函数显示出盈利五万。显然,总盈利Portfolio_TotalProfit不准了



下面的代码不对,管理员,应该怎么写啊
BaoZhenJin=  (ContractUnit*BigPointValue*open    )*0.15   );  //计算机一手资金需要多少保证金,比例15%
lots= IntPart(   (Portfolio_TotalProfit+   Portfolio_InitCapital)*0.5/ BaoZhenJin   );
buy(lots,open);

Rank: 3Rank: 3

精华
0
UID
126116
积分
180
帖子
133
主题
15
阅读权限
40
注册时间
2013-3-14
最后登录
2021-11-19
2#
发表于 2013-9-14 18:06:45 |只看该作者
你是想测试吧   buy(0,open); 就可以了

使用道具 举报

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
3#
发表于 2013-9-14 20:48:36 |只看该作者
Params
    Numeric RiskRatio(50);
    ..............................
    .............................
Vars
    Numeric TotalEquity;
    Numeric TurtleUnits;
    Numeric UseMargin;
    ............................
    ............................
Begin
    UseMargin=Close*ContractUnit*BigPointValue*MarginRatio;
    TotalEquity=Portfolio_CurrentCapital+Portfolio_UsedMargin;
    TurtleUnits=(TotalEquity*RiskRatio/100)/UseMargin;
    TurtleUnits=IntPart(TurtleUnits);
    ..........................
    ..........................
    .........................
    If(MarketPosition<>1 And ...................)
    {
        MyPrices=Max(Open,...............);
        Buy(TurtleUnits,MyPrices);
    }
    .........................
    .........................
End

不知道这个写法能不能符合你的要求。


不要因为众生的愚疑,而带来了自己的烦恼。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
114001
积分
136
帖子
71
主题
34
阅读权限
40
注册时间
2012-12-10
最后登录
2014-8-1
4#
发表于 2013-9-14 22:51:41 |只看该作者
superwin 发表于 2013-9-14 20:48
Params
    Numeric RiskRatio(50);
    ..............................

楼上的代码,正是我要的代码,关键是这三句就行了
(1)  UseMargin=Close*ContractUnit*BigPointValue*MarginRatio; //没问题
(2)   TotalEquity=Portfolio_CurrentCapital+Portfolio_UsedMargin; //有问题ortfolio_CurrentCapital不准
  (3)  TurtleUnits=(TotalEquity*RiskRatio/100)/UseMargin;  //没问题
测试如下
Commentary("当前Bar可用资金"+Text(        Portfolio_CurrentCapital));  //当前BAR可用资金(初始+盈利),不准
        Commentary("初始资金"+Text(        Portfolio_InitCapital));  //没问题
        Commentary("获得投资组合的累计交易盈亏"+Text(Portfolio_TotalProfit));//有问题
//在图表最开始处,一手没开,居然盈利五万   ,导致  "当前Bar可用资金" Portfolio_CurrentCapital不准,这个函数应该是初始值+盈利,总值,我要的就是这个函数,请楼主测试一下,是不是不准了

使用道具 举报

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
5#
发表于 2013-9-15 00:10:54 |只看该作者




第一根Bar的时候,没任何操作的时候,可用资金等于初始资金,没有问题。





第一个出现信号的Bar以及下一个Bar上的可用资金,算一下,也是没有问题的。

所以,这个写法是不会有不准确出现的。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册


不要因为众生的愚疑,而带来了自己的烦恼。

使用道具 举报

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
6#
发表于 2013-9-15 00:29:58 |只看该作者
再来看看最后一根Bar是不是能对上





相加起来,是不是刚好等于初始入市的资金?所以,函数是没有问题的,计算结果也是没有任何问题的。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册


不要因为众生的愚疑,而带来了自己的烦恼。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
126116
积分
180
帖子
133
主题
15
阅读权限
40
注册时间
2013-3-14
最后登录
2021-11-19
7#
发表于 2013-9-16 01:03:33 |只看该作者
chairmin 发表于 2013-9-14 18:06
你是想测试吧   buy(0,open); 就可以了

你两也真逗,真接获取当前资金帐户的可用资金。如果是测试 就在用上面那个说的buy(0,open),然后在全局交易设置中设置资金使用比例

使用道具 举报

Rank: 1

精华
0
UID
297606
积分
1
帖子
1
主题
0
阅读权限
10
注册时间
2020-11-10
最后登录
2020-12-18
8#
发表于 2020-12-18 14:35:11 |只看该作者
chairmin 发表于 2013-9-16 01:03
你两也真逗,真接获取当前资金帐户的可用资金。如果是测试 就在用上面那个说的buy(0,open),然后在全局交 ...

怎么获得当前账户可用资金

使用道具 举报

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

bottom

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

GMT+8, 2024-5-16 20:42

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部