开拓者期货期权程序化系统交易论坛
标题:
nopain管理员
[打印本页]
作者:
zyxsir
时间:
2012-5-2 08:37:52
标题:
nopain管理员
能否请nopain管理员帮助编一个if主力合约的日线程序,最好换合约的跳空能消除,如果不能除权,能否标示?自己编了很久,还是不能解决。谢谢!
请参见
http://bbs.tradeblazer.net/thread-4274-1-1.html
作者:
zyxsir
时间:
2012-5-2 11:01:16
我以前做日内,只需在主力连续合约测试就可以了。如果要做长线,888或000都不能接近实盘,需要做主力连续合约,并消除跳空才能准确测试,为何不能完善888合约?
作者:
zyxsir
时间:
2012-5-3 07:11:01
//------------------------------------------------------------------------
// 简称: 1zlhy
// 名称: 主力合约
// 类别: 公式应用
// 类型: 用户应用
//------------------------------------------------------------------------
Vars
Numeric Major(0);
NumericSeries Con0;
NumericSeries Con1;
NumericSeries Con2;
NumericSeries Con3;
NumericSeries Con4;
NumericSeries Con5;
NumericSeries Con6;
NumericSeries Con7;
NumericSeries Con8;
NumericSeries Con9;
NumericSeries Con10;
NumericSeries Con11;
Numeric MyOpen;
Numeric MyHigh;
Numeric MyLow;
Numeric MyClose;
Numeric myvol;
Numeric myopenint;
Begin
CON0=DATA0.OPENINT;
CON1=DATA1.OPENINT;
CON2=DATA2.OPENINT;
CON3=DATA3.OPENINT;
CON4=DATA4.OPENINT;
CON5=DATA5.OPENINT;
CON6=DATA6.OPENINT;
CON7=DATA7.OPENINT;
CON8=DATA8.OPENINT;
CON9=DATA9.OPENINT;
CON10=DATA10.OPENINT;
CON11=DATA11.OPENINT;
If(Con0[1] > Major*1.1)
{
Major = Con0[1];
MyOpen = Data0.Open;
MyHigh = Data0.High;
MyLow = Data0.Low;
MyClose = Data0.Close;
myvol = Data0.Vol;
myopenint = Data0.OpenInt;
}
If(Con1[1] > Major*1.1)
{
Major = Con1[1];
MyOpen = Data1.Open;
MyHigh = Data1.High;
MyLow = Data1.Low;
MyClose = Data1.Close;
myvol = Data1.Vol;
myopenint = Data1.OpenInt;
}
If(Con2[1] > Major*1.1)
{
Major = Con2[1];
MyOpen = Data2.Open;
MyHigh = Data2.High;
MyLow = Data2.Low;
MyClose = Data2.Close;
myvol = Data2.Vol;
myopenint = Data2.OpenInt;
}
If(Con3 [1]> Major*1.1)
{
Major = Con3[1];
MyOpen = Data3.Open;
MyHigh = Data3.High;
MyLow = Data3.Low;
MyClose = Data3.Close;
myvol = Data3.Vol;
myopenint = Data3.OpenInt;
}
If(Con4[1] > Major*1.1)
{
Major = Con4[1];
MyOpen = Data4.Open;
MyHigh = Data4.High;
MyLow = Data4.Low;
MyClose = Data4.Close;
myvol = Data4.Vol;
myopenint = Data4.OpenInt;
}
If(Con5[1] > Major*1.1)
{
Major = Con5[1];
MyOpen = Data5.Open;
MyHigh = Data5.High;
MyLow = Data5.Low;
MyClose = Data5.Close;
myvol = Data5.Vol;
myopenint = Data5.OpenInt;
}
If(Con6[1] > Major*1.1)
{
Major = Con6[1];
MyOpen = Data6.Open;
MyHigh = Data6.High;
MyLow = Data6.Low;
MyClose = Data6.Close;
myvol = Data6.Vol;
myopenint = Data6.OpenInt;
}
If(Con7[1] > Major*1.1)
{
Major = Con7[1];
MyOpen = Data7.Open;
MyHigh = Data7.High;
MyLow = Data7.Low;
MyClose = Data7.Close;
myvol = Data7.Vol;
myopenint = Data7.OpenInt;
}
If(Con8[1] > Major*1.1)
{
Major = Con8[1];
MyOpen = Data8.Open;
MyHigh = Data8.High;
MyLow = Data8.Low;
MyClose = Data8.Close;
myvol = Data8.Vol;
myopenint = Data8.OpenInt;
}
If(Con9[1] > Major*1.1)
{
Major = Con9[1];
MyOpen = Data9.Open;
MyHigh = Data9.High;
MyLow = Data9.Low;
MyClose = Data9.Close;
myvol = Data9.Vol;
myopenint = Data9.OpenInt;
}
If(Con10 [1]> Major*1.1)
{
Major = Con10[1];
MyOpen = Data10.Open;
MyHigh = Data10.High;
MyLow = Data10.Low;
MyClose = Data10.Close;
myvol = Data10.Vol;
myopenint = Data10.OpenInt;
}
If(Con11[1] > Major*1.1)
{
Major = Con11[1];
MyOpen = Data11.Open;
MyHigh = Data11.High;
MyLow = Data11.Low;
MyClose = Data11.Close;
myvol = Data11.Vol;
myopenint = Data11.OpenInt;
}
PlotNumeric("Open",MyOpen);
PlotNumeric("High",MyHigh);
PlotNumeric("Low",MyLow);
PlotNumeric("Close",MyClose);
Commentary("myvol"+Text(myvol));
Commentary("myopenint"+Text(myopenint));
End
//------------------------------------------------------------------------
// 编译版本 GS2010.12.08
// 用户版本 2012/04/30 07:20
// 版权所有 zyxsir
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
作者:
zyxsir
时间:
2012-5-3 07:14:53
我希望能在换合约的时候计算出跳空,并消除跳空。如果不好编译,能否在换合约时在图上作出标记,能知道是在哪一根K线换的合约,请帮助将上面的代码做修改!谢谢!
作者:
zyxsir
时间:
2012-5-3 12:12:16
请问管理员在吗?能帮我解决吗?盼望回复!谢谢!
作者:
zyxsir
时间:
2012-5-4 05:55:34
怎么没人理,还在休假吗?
作者:
jixieshi
时间:
2013-8-30 09:32:42
很有意思,支持
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2