您需要 登录 才可以下载或查看,没有帐号?注册
Params Numeric WaitTime(10); //预设等待时间,单位为秒,可调整 Numeric ShiftUnit(3); //下单价格偏移量,可调整Vars Numeric Lots; Numeric NewPrice; Numeric TimeSeconds; Bool Openning;Begin If ( Q_Last == 0 || ( Date != Date[1] High == Low ) ) Return; //如果未开盘,则直接返回 If ( GetGlobalVar(10)==InvalidNumric ) SetGlobalVar(10,0); //下单时间初始化 TimeSeconds=Value(Left(TimeToString(CurrentTime),2))*3600 //记录系统当前时间,转化为秒数 +Value(Mid(TimeToString(CurrentTime),3,2))*60 +Value(Right(TimeToString(CurrentTime),2)); If ( TimeSeconds-GetGlobalVar(10) WaitTime ) Return; //如果发单后等待时间小于WaitTime,则返回 Openning = Q_Last Q_LowLimit Q_Last Q_UpperLimit; //停板情况下不允许建仓 If ( A_TotalPosition==0 Openning==true ) { 计算开仓手数Lots; If ( 满足开多仓条件 ) { NewPrice=Q_AskPrice+ShiftUnit*MinMove*PriceScale; //计算开仓价格 A_SendOrder(Enum_Buy,Enum_Entry,Lots,NewPrice); SetGlobalVar(10,TimeSeconds); //记录下单时间 Return; } If ( 满足开空仓条件 ) { NewPrice=Q_BidPrice-ShiftUnit*MinMove*PriceScale; A_SendOrder(Enum_Sell,Enum_Entry,Lots,NewPrice); SetGlobalVar(10,TimeSeconds); } Return; } If ( A_BuyPosition 0 满足平多仓条件 ) { NewPrice=Q_BidPrice-ShiftUnit*MinMove*PriceScale; A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,NewPrice); SetGlobalVar(10,TimeSeconds); } If ( A_SellPosition 0 满足平空仓条件 ) { NewPrice=Q_AskPrice+ShiftUnit*MinMove*PriceScale; A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,NewPrice); SetGlobalVar(10,TimeSeconds); }End
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!