美文网首页
账户信息

账户信息

作者: 牛在汇上飞 | 来源:发表于2018-10-23 12:01 被阅读0次

    double AccountBalance()

    账户余额 ( B )
    无仓时,净值与该值相等,开仓后,余额仍为开仓前的余额不变,而净值同不断变化中
    示例:
    //---------达赢额或亏额平仓--------+
    //--篮初归位
    if(OrdersTotal()==0){
    篮初余额= AccountBalance();
    最大时赢额= 0;
    }

    //--计算现浮赢额
    现总浮赢= AccountEquity()- 篮初余额 ;

    //--(查看用)
    if(现总浮赢>最大时赢额)
    最大时赢额= 现总浮赢;
    if(现总浮赢<最大时亏额)
    最大时亏额= 现总浮赢;

    //--达赢或达亏, 全平
    if(现总浮赢>=篮子欲赢额 || 现总浮赢<=篮子承亏额*(-1)){
    全平子();
    全平次数++;
    }

    double AccountMargin()

    已用保证金 ( M )
    (目前持有单所占的保证金)
    示例:
    Print("账户已经使用了'', AccountMargin(), ''保证金"');

    double AccountEquity()

    净值 ( E )
    (即账户现金+-开仓单的现额)
    如果未开仓,则与余额相等, 如果开仓,则包含了单子的浮动盈亏
    示例1:
    //-- 净值超过初始金一定比率则平仓
    //-------初始化-----------+
    int init()
    {
    期初净值=AccountEquity(); // 期初净值 写在初始化中目的只为进行一次运算,始终保持该值
    return(0);
    }
    if(NormalizeDouble(((AccountEquity()-期初净值)/AccountEquity())*100, 0)>=净赢比率){ // 若现净值与原净值大于参数百分比
    期初净值= AccountEquity(); // 将初始净值重新赋为 现在的净值
    全消全平子();
    return(0);
    }

    示例2:
    extern bool 使用净值跟踪 = false;
    extern double 净值风险 = 20;
    double 最后净值;
    ....
    //--浮赢达到峰值下方百分比时 止损平仓
    if(使用净值跟踪==true){
    if(总浮赢子()<0 && MathAbs(总浮赢子())>净值峰值子()*(净值风险率/100)){
    全平子();
    Print("达到净值峰时回落比率 全平");
    }
    }
    ...
    //--------------总浮赢---------------+
    double 总浮赢子()
    {
    double 总赢亏= 0;
    for(int i=OrdersTotal()-1; i>=0; i--){
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    break;
    if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=魔术号)
    continue;
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==魔术号)
    if(OrderType()==OP_BUY || OrderType()==OP_SELL)
    总赢亏 += OrderProfit();
    }
    return(总赢亏);
    }

    //------------篮子净值最高时的值------------+
    double 净值峰值子()
    {
    //--无成交单子时 归位
    if(已成单总数子()==0)
    净值峰值= AccountEquity();

    //--找到篮子最大时净值
    if(净值峰值<最后净值)
    净值峰值= 最后净值;
    else
    净值峰值= AccountEquity();

    //--保留上次值
    最后净值= AccountEquity();
    return(净值峰值);
    }
    //-------------------------------------+

    double AccountFreeMargin()

    可用资金 ( F )
    (净值-已用 之后的剩余资金)

    示例:
    //--------确定足够开仓的手数子--------+
    double 可开仓手数子(int 开仓方向, double 指定手数)
    {
    if(AccountFreeMarginCheck(Symbol(), 开仓方向, 指定手数)<=0.0)
    return(-1); // 剩余资金不足开仓,则返回
    if(GetLastError()==134) // 如果原因为资金没了,则返回-2
    return(-2);
    return(指定手数); // 否则返回原手数
    }

    double AccountFreeMarginCheck ( string 币, int 单类, double 手数)

    检查账户可用的剩余资金
    当前账户以现价在指定的位置开仓后还能剩下多少保证金。 如果保证金余额不足,将会生成错误134 (ERR_NOT_ENOUGH_MONEY)。
    参数有:
    symbol - 交易的货币对。
    cmd - 交易类型,可能是 OP_BUY 或者 OP_SELL。
    volume - 交易手数。

    示例:
    if(AccountFreeMarginCheck(Symbol(),OP_BUY,Lots)<=0 || GetLastError()==134)
    return;//可用资金不足以开仓则返回

    double AccountFreeMarginMode()

    开仓时的可用保证金计算方式。
    计算方式的值为:
    0一浮动盈利/亏损不参与计算
    1一浮动盈利和亏损在开仓部头寸上参与保证金余额计算;
    2一只有赢利参与计算,而不考虑当前开仓头寸的亏损;
    3一只有亏损额参与计算,而不考虑当前开仓头寸的亏损。
    示例:
    if(AccountFreeMarginMode()==0)
    Print("浮动盈利/亏损不能使用。");

    double AccountCredit()

    账户信用点数
    示例:
    Print("账户信用点数= ", AccountCredit());

    string AccountCompany()
    公司名
    示例:
    Print("账户所在公司名: ", AccountCompany());

    string AccountCurrency()

    存款币种
    示例:
    Print("帐户存入的币种为是", AccountCurrency());

    int AccountLeverage()

    杠杆比率
    示例:
    Print("账户号 #: ", AccountNumber(), "的杠杆是 1:", AccountLeverage());
    // 查看本账户杠杆是1比多少

    string AccountName()

    账户名
    示例:
    Print("账户名称 ", AccountName());

    int AccountNumber()

    账户号码
    示例:
    Print("账户数字号 ", AccountNumber());

    double AccountProfit()

    账户盈利金额.
    示例:
    Print("现账户利润额", AccountProfit());

    string AccountServer()

    平台名称.
    示例:
    Print("服务器名称:", AccountServer());

    int AccountStopoutLevel()

    账户止损水平设置.
    示例::
    Print("账户止损水平设置 = ", AccountStopoutLevel());

    int AccountStopoutMode()

    账户止损水平的计算方式,
    计算方式的值为:
    0一计算保证金和净值之间的百分比;
    1一比较剩余保证金标准和绝对值。
    示例::
    int level= AccountStopoutLevel();
    if(AccountStopoutMode()==0)
    Print("止损水平= ",level, "%");
    else
    Print("止损水平= ", level, " ", AccountCurrency());

    相关文章

      网友评论

          本文标题:账户信息

          本文链接:https://www.haomeiwen.com/subject/dvgzaftx.html