//红璟程序化交易平台 //网站: 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); } } }