- 精华
- 0
- 在线时间
- 78 小时
- UID
- 237134
- 积分
- 89
- 帖子
- 59
- 阅读权限
- 30
- 注册时间
- 2016-6-27
- 最后登录
- 2017-7-1
- 精华
- 0
- UID
- 237134
- 积分
- 89
- 帖子
- 59
- 主题
- 20
- 阅读权限
- 30
- 注册时间
- 2016-6-27
- 最后登录
- 2017-7-1
|
本帖最后由 sswywangyun 于 2016-8-5 17:43 编辑
Params
Numeric FastLength(5);
Numeric SlowLength(20);
Numeric DelayTicks(5);
Vars
NumericSeries AvgValue1;
NumericSeries AvgValue2;
Numeric LastBarTime;
Numeric TickCounter;
Begin
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
LastBarTime = GetGlobalVar(0);
TickCounter = GetGlobalVar(1);
If(BarStatus==2 && LastBarTime != Time)
{
LastBarTime = Time;
TickCounter = 0;
}
If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
{
If(MarketPosition==0 || BarStatus!=2)
{
Buy(1,Open);
}Else
{
BuyToCover(1,Open);
If(TickCounter==0)
{
TickCounter = 1;
FileAppend("e:\\marketpostion.log"," Bar索引: "+text(currentbar)+ "|| 执行buy命令后的marketposition值: " +Text(TickCounter));
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Buy(1,Open);
}
}
}
If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
{
If(MarketPosition==0 || BarStatus!=2)
{
SellShort(1,Open);
}Else
{
Sell(1,Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
SellShort(1,Open);
}
}
}
SetGlobalVar(0,LastBarTime);
SetGlobalVar(1,TickCounter);
PlotString("sy",text(currentbar),l);
End
1.为什么在公式加入FileAppend("e:\\marketpostion.log"," Bar索引: "+text(currentbar)+ "|| 执行买平命令后的TickCounter值: " +Text(TickCounter)); ,想取Tick值看看,却不能建立文件log???
2.如何获取在1分钟周期内的Tick计数值显示,或让我直观看到这个tick是第几个
3.比如现在空仓1手,marketposition=-1,平空一次,这个marketposition在平空的这根BAR上的tick还是显示是0,然后一个新的tick来了又从-1开始计算公式到0,直到下一个Bar到来再更新成0?????是这样吗?? 类似下面的这样?
类似marketposition在tick 来的时候是持有空头仓位的 marketposition在tick上值是这样的 -1 -1 -1 然后满足信号平空仓 -1 -1 -1 0 然后新Tick来了 -1 -1 -1 -1 0 然后又来一个新tick -1 -1 -1 -1 -1 0 一个bar来了 它会先计算一次前面的tick的marketposition=0 然后在自身BAR上就marketposition=0 0 0 0 0...... |
|