投资者咨询:开不了仓?? (文华财经wh9)
来源:文华财经 日期:2019-6-10 21:43
data1:"RB1910";
Params
//此处添加参数
Vars
Numeric Lots; //定义参数,下单手
Numeric CurDate; //定义参数,当前日期
Numeric CurTime; //定义参数,当前时间
Numeric CONQC; //定义参数
Numeric BMP; //买盘量
Numeric SMP; //卖盘量
Numeric LLL;//量开关
Var_TickData data2; //定义数据区变量
Global_Numeric PriceBid; //记录多头开仓价位
Global_Numeric PriceBidTime; //记录多头开仓时间
Global_Numeric PriceAsk; //记录空头开仓价位
Global_Numeric PriceAskTime;
Begin
Lots = 2; // 下单手数
data2 = Def_TickData("RB1910",1,4); // 保存最近四笔的tick数据
// 收盘前30秒清仓
CONQC = ((HourFromDateTime( CurDate + CurTime ) == 23 && MinuteFromDateTime( CurDate + CurTime ) == 29) || (HourFromDateTime( CurDate + CurTime ) == 14 && MinuteFromDateTime( CurDate + CurTime ) == 59) || ( HourFromDateTime( CurDate + CurTime ) == 10 && MinuteFromDateTime( CurDate + CurTime ) == 14 ) || ( HourFromDateTime( CurDate + CurTime ) == 11 ) && MinuteFromDateTime(CurDate + CurTime ) == 29 ) && SecondFromDateTime(CurDate + CurTime ) > 30 ;//收盘前30秒
BMP = data0.price("bidvol1")+data0.price("bidvol2")+data0.price("bidvol3")+data0.price("bidvol4")+data0.price("bidvol5");
SMP = data0.price("askvol1")+data0.price("askvol2")+data0.price("askvol3")+data0.price("askvol4")+data0.price("askvol5");
LLL = BMP/SMP;
If(data2.State == 1)
{
If (CONQC == 1)//满足在收盘前30秒内
{
Commentary("收盘前30秒清仓");//输出"收盘前30秒清仓"
A_SendOrder(Enum_Sell,Enum_Exit,data1.F_BuyRemainPosition(),data1.Price("bid1")); //以买一价清仓
A_SendOrder(Enum_Buy,Enum_Exit,data1.F_SellRemainPosition(),data1.Price("ask1")); //以卖一价清仓
}
if( LLL<0.5 && (data1.price("acceleratechange60")*100>0.19))
{
A_SendOrder(Enum_Buy,Enum_Entry,lots,data1.Price("bid1"));
PriceBidTime=CurrentTime();
PriceBid=data1.Price("ask1");
}
IF( data1.price("close")-PriceBid>60)
{
A_SendOrder(Enum_Sell,Enum_Exit,lots,data1.Price("bid1"));
}
if( LLL >2 && (data1.price("acceleratechange60")*100<-0.19))
{
A_SendOrder(Enum_Sell,Enum_Entry,lots,data1.Price("ask1"));
PriceAskTime=CurrentTime();
PriceAsk=data1.Price("bid1");
}
IF(PriceAsk-data1.price("close")>60)
{
A_SendOrder(Enum_Buy,Enum_Exit,lots,data1.Price("ask1"));
}
}
投资者咨询:开不了仓?? (文华财经wh9)
来源:文华财经 日期:2019-6-10 21:43
技术人员回复
日期:2019-6-11 16:02
投资者咨询:开不了仓?? (文华财经wh9)
来源:文华财经 日期:2019-6-10 21:43
投资者咨询:开不了仓?? (文华财经wh9)
来源:文华财经 日期:2019-6-10 21:43
技术人员回复
日期:2019-6-11 21:25
技术人员回复
日期:2019-6-12 10:33
您前面DATA定义的合约是用的DATA1,后续再引用的时候就写成DATA0了,所以不可能取到值的
另外引用60秒速涨的时候PRICE函数当中写的是AccelerateChange,而不是AccelerateChange60,您查看PRICE函数说明理解下
如下修改,参考:
Data
data1:"RB1910";
Params
//此处添加参数
Vars
Numeric Lots;
//定义参数,下单手
Numeric CurDate;
//定义参数,当前日期
Numeric CurTime;
//定义参数,当前时间
Numeric CONQC;
//定义参数
Numeric BMP; //买盘量
Numeric SMP; //卖盘量
Numeric LLL;//量开关
Var_TickData data2;
//定义数据区变量
Global_Numeric PriceBid;
//记录多头开仓价位
Global_Numeric PriceBidTime;
//记录多头开仓时间
Global_Numeric PriceAsk;
//记录空头开仓价位
Global_Numeric PriceAskTime;
Begin
Lots = 2; // 下单手数
data2 = Def_TickData("RB1910",1,4); // 保存最近四笔的tick数据
// 收盘前30秒清仓
CONQC = ((HourFromDateTime( CurDate + CurTime ) == 23 && MinuteFromDateTime( CurDate + CurTime ) == 29) || (HourFromDateTime( CurDate + CurTime ) == 14 && MinuteFromDateTime( CurDate + CurTime ) == 59) || ( HourFromDateTime( CurDate + CurTime ) == 10 && MinuteFromDateTime( CurDate + CurTime ) == 14 ) || ( HourFromDateTime( CurDate + CurTime ) == 11 ) && MinuteFromDateTime(CurDate + CurTime ) == 29 ) && SecondFromDateTime(CurDate + CurTime ) > 30 ;//收盘前30秒
BMP = data1.price("BidVol1")+data1.price("BidVol2")+data1.price("BidVol3")+data1.price("BidVol4")+data1.price("BidVol5");
SMP = data1.price("AskVol1")+data1.price("AskVol2")+data1.price("AskBol3")+data1.price("AskVol4")+data1.price("AskBol5");
LLL = BMP/SMP;
If(data2.State == 1)
{
If (CONQC == 1)//满足在收盘前30秒内
{
A_SendOrder(Enum_Sell,Enum_Exit,data1.F_BuyRemainPosition(),data1.Price("Bid1")); //以买一价清仓
A_SendOrder(Enum_Buy,Enum_Exit,data1.F_SellRemainPosition(),data1.Price("Ask1")); //以卖一价清仓
}
if( LLL<0.5 && (data1.price("AccelerateChange")*100>0.19))
{
A_SendOrder(Enum_Buy,Enum_Entry,lots,data1.Price("Bid1"));
PriceBidTime=CurrentTime();
PriceBid=data1.Price("Ask1");
}
IF( data1.price("close")-PriceBid>60)
{
A_SendOrder(Enum_Sell,Enum_Exit,lots,data1.Price("Bid1"));
}
if( LLL >2 && (data1.price("AccelerateChange")*100<-0.19))
{
A_SendOrder(Enum_Sell,Enum_Entry,lots,data1.Price("Ask1"));
PriceAskTime=CurrentTime();
PriceAsk=data1.Price("bid1");
}
IF(PriceAsk-data1.price("close")>60)
{
A_SendOrder(Enum_Buy,Enum_Exit,lots,data1.Price("ask1"));
}
}
Commentary("-------------比值:"+Text(LLL));
Commentary("------------速涨值:"+Text((data1.price("AccelerateChange"))*100));
End
投资者咨询:开不了仓?? (文华财经wh9)
来源:文华财经 日期:2019-6-10 21:43
好的谢谢老师
投资者咨询:开不了仓?? (文华财经wh9)
来源:文华财经 日期:2019-6-10 21:43
仍然不开仓,条件都满足,不知道啥原因,请看看
======
Data data1:"RB1910";
Params//RB-15 /10主力连续
Numeric Length1(1);
Numeric Length3(3);
Numeric Length5(5); //快线周期
Numeric Length9(9);
Numeric Length10(10); //慢线周期
Numeric Length20(20);
Numeric Length100(100);
Numeric Length1000(1000);
Vars
NumericSeries MA5; //定义变量,计算均值
NumericSeries MA10; //定义变量,计算均值
NumericSeries MA20;
NumericSeries LLV9;
NumericSeries HHV9;
NumericSeries RSV;
NumericSeries D;
NumericSeries K;
NumericSeries OPI1;
Numeric BMP; //买盘量
Numeric SMP; //卖盘量
Setting
AddTimes:2;
Begin
MA5 = AverageFC(Close, Length5);
MA10 = AverageFC(Close, Length10);
MA20 = AverageFC(Close, Length20);//PlotNumeric("MA1",AvgValue1);
OPI1 = OpenInt;
LLV9 = LLV(Low,Length9);
HHV9 = HHV(High,Length9);
RSV = (Close-LLV9)*Length100/(HHV9-LLV9); // KLineStart = KLineStart=KText= K_State= K_State1
K = Sma(Sma(RSV,Length3,Length1),Length3,Length1);
D = Sma(k,Length3,Length1);
BMP = data1.price("bidvol1")+data1.price("bidvol2")+data1.price("bidvol3")+data1.price("bidvol4")+data1.price("bidvol5");
SMP = data1.price("askvol1")+data1.price("askvol2")+data1.price("askvol3")+data1.price("askvol4")+data1.price("askvol5");
If(MarketPosition <>1 && length1000* (Close[1]-Open[1])/Open[1]>3 && D[1]>D[2])
{
Buy;
}
If(MarketPosition <>-1 &&length1000* (Open[1]-Close[1])/Open[1]>3 && D[1]<D[2])
{
SellShort;
}
if(IsLastBuy&& (data1.price("acceleratechange60")*100>0.02) && BMP/SMP<0.5 )
{
Buy(1,open);
}
if(IsLastSellShort&& (data1.price("acceleratechange60")*100<-0.02) && BMP/SMP>2 )
{
SellShort(1,Open);
}
Commentary("-------------比值:"+Text(bmp/smp));
Commentary("------------速涨值:"+Text((data1.price("AccelerateChange"))*100));
=======
技术人员回复
日期:2019-6-17 21:44


