你好老师,上个问题没有明白可以在解释一下吗
1、请问Buy图表价格是不是应该和委托成交一样,求解
2、在实测中下根bar有发出了信号,假如最高价是1000,但是他显示的1005成交的,或最低价900,他显示895成交的,图表对实盘有影响吗,能否矫正过来,
不是,图表是你标记的价格
可以理解成:你认为能成交的价格
你写多少就是多少,跟实际无关
那图标的信号能矫正过来吗?还有回测数据是不是根据图表信号生成的报告,如果是,那我的回测报告是不是就不准确了
乱写当然就不准确了,明确的讲等于偷价
Params
Integer lots(1);
Vars
Series<Numeric> HH;
Series<Numeric> LL;
Series<Numeric> b_count;
Series<Numeric> s_count;
Series<Numeric> trigger_price;
Bool B;
bool S;
Events
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
If(BarStatus==0)
{
b_count = 10000;
s_count = 10000;
}
HH = Highest(High, 3);
LL = Lowest(Low, 3);
plotnumeric("HH", HH, 0, red);
plotnumeric("LL", LL, 0, green);
B = Close[1] > Open[1] AND Close[1] > HH[2];
S = Close[1] < Open[1] AND Close[1] < LL[2] ;
If(B and MarketPosition<>1)
{
b_count = 0;
trigger_price = low[1]+(high[1]-low[1])/2;
}
If(s and MarketPosition<>-1)
{
s_count = 0;
trigger_price = low[1]+(high[1]-low[1])/2;
}
b_count = b_count + 1;
s_count = s_count + 1;
Commentary("b_count:"+text(b_count));
Commentary("s_count:"+text(s_count));
Commentary("trigger_price:"+text(trigger_price));
//计数器在3以内,包含3,没有多单,最低价触碰到触发价格,在触发价格发信号
If(b_count<=3 and MarketPosition<>1 and low<=trigger_price)
{
buy(lots, min(open, trigger_price));
}
If(s_count<=3 and MarketPosition<>-1 and high>=trigger_price)
{
sellshort(lots, max(open, trigger_price));
}
我是看老师发的这个,然后复制过来学习学习。
这个正确吗,老师你说的偷价是不是在这里的原因
情况也不知一种,比如你写的425,成交435
你要考虑的是。你这条件满足时,图上会是什么价格?
你要不要试试看 buy(1,low); 呢
好的,谢谢老师,现在正在学习,劳烦老师解惑了