红璟高频策略

Discussion in '红璟程序化交易平台' started by terryep, Mar 21, 2014.

  1. //红璟程序化交易平台
    //网站: http://www.programtrade.com.cn
    //QQ群:289246060
    //邮件:hj_support@163.com
    //最新帮助地址:http://www.programtrade.com.cn/webhelp/index.html

    //由网友“一雨成东”于2014-03-16提供,QQ号:78361923
    //因为是在两个tick之间交易,该策略只能在界面仿真回测,无法快速回测。
    using System;
    using System.Collections.Generic;
    using DevelopLibrary.Enums;
    using DevelopLibrary.DevelopAPI;

    namespace DemoStrategy.策略范例
    {
    public class 高频 : EventStrategyBase
    {
    int clc = 0;
    double lastPrice;
    int x = 10;
    bool canCancel = true;

    public override void OnStart()
    {
    // ShowMessage("DemoStrategy的策略不能用于真实资金账户,只能用于复盘或者模拟测试");
    }

    public override void OnTick()
    {
    clc++;
    lastPrice = ASKPRICE(1).LASTVALUE;

    //数据到来时执行
    if (clc == 5)
    {
    //下单-必然不成交
    OpenBuy(lastPrice - x, 1);
    Print("lastPrice=" + lastPrice);
    }
    }

    public override void OnOrderReturn(Order order)
    {
    PrintLine("报单回报,状态=" + order.OrderStatus.ToString());
    if (order.OrderStatus == EnumOrderStatusType.NoTradeQueueing && canCancel)
    {
    canCancel = false;
    CancelOrder(order);
    PrintLine("发出撤单指令");
    x--;
    }
    }
    public override void OnOrderRejected(Order order)
    {
    PrintLine("报单拒绝,状态=" + order.OrderStatus.ToString());
    }
    public override void OnTrade(Trade trade)
    {
    PrintLine("成交回报:成交了" + trade.Volume + "手");
    }

    public override void OnCancelOrderSucceeded(Order order)
    {
    PrintLine("撤单成功回报:" + order.StatusMsg);
    PrintLine("x:" + x);
    if (x >= -1)
    {
    OpenBuy(lastPrice - x, 1);
    PrintLine("买价:" + (lastPrice - x).ToString());
    }
    canCancel = true;
    }

    public override void OnCancelOrderFailed(Order order)
    {
    PrintLine("撤单失败:" + order.StatusMsg);
    }
    }
    }
     
  2. 是c#的代码吗?这个好像只有开仓啊?而且这个开仓策略是指在5个报价传回后,在ask方向上的最后报价减10的价位开一个多单?这个怎么成交?是不是类似“埋单”的策略?有点晕,望指教。
     
  3. 就是做10次追价,因为onOrderReturn比ontick要快,在交易所返回的如果不是已成交,就撤单,撤单成功后,再onordercancelsuccessed里再加一跳下单。