上面副图部分为指标信号,用来参考买卖。请按以下思路编写一个交易公式
说明:副图向上红柱为:买多,返回数据是1. 副图向下绿柱为:卖空,返回数据是-1.
买卖原则:
1.出第一个绿柱即开空,直到出红柱再平空开多
2.出第一个红柱即开多,直到出绿柱再平多开空
以上是基本思路
另外情况如下:
当上图红柱出现后,价格跌破第一个出红柱时的5日最低价,止损并反手做空,并且之后出现的所有红柱均视为无效,直到出绿柱后信号当真
由于上图这样一个趋势市,这个摸底的红柱会不断出现,所以要将这些红柱都变成无效。然后我再以其他条件平仓,比如:当价格突破10日平均线
当绿柱出现同样情况也一样,突破第一个绿柱时的5日最高价反手做多,并以价格跌破10日均线平多。
综合以下条件写一个交易公式
1.出第一个绿柱即开空,直到出红柱再平空开多
2.出第一个红柱即开多,直到出绿柱再平多开空
3.当价格突破第一个绿柱时的5日最高反手做多,直到价格跌破10日均线平仓
4.当价格跌破第一个红柱时的5日最低反手做空,直到价格突破10日均线平仓
上面有图呀
你这个有点复杂啊 不知道能不能写出来的
董兄,
副图指标,公式计算结果得出:买多=1,卖空=-1,平时返回0
然后根据得出的数据写一个开平仓的语句
如:cross(买多,0.5),bpk;
cross(-0.5,卖空),spk;
这是简单的出信号即买卖。
另外就是当信号失真时,也就是信号出现时的5日高低点作为止损线,当收盘价触发这根止损线时止损反手,并把后面同颜色的信号柱线归0,不再参考信号买卖,而是另外根据价格突破10日均线买卖了。
买多=1,卖空=-1,平时返回0
//1.出第一个绿柱即开空,直到出红柱再平空开多
if 买空=-1 then begin
sell();
buyshort();
end
//2.出第一个红柱即开多,直到出绿柱再平多开空
if 买多=1 then begin
sellshort();
buy();
end
//3.当价格突破第一个绿柱时的5日最高反手做多,直到价格跌破10日均线平仓
if c>=绿柱5日高 then begin
sellshort();
buy();
end
if c<ma(c,10) and holding<>0 then begin
sell();
end
//4.当价格跌破第一个红柱时的5日最低反手做空,直到价格突破10日均线平仓
if c<红柱5日低 then begin
buyshort();
sell();
end
if c>ma(c,10) and holding<>0 then begin
sellshort();
end
但是 红柱5日低 和绿柱5日高 得自己去算了
这里还有一个问题。。就是当开仓后定的止损线要怎么写?
if cross(买多,0.5)then begin
BZS:=llv(l,5);//这样好象也不能写的
这样当时得出来一条止损线,会随着后面间隔的红柱出现而产生变化,我想固定这根止损线要怎么写呀?
你搜搜论坛上的 止损 代码 有好多这样的例子了
用固定止损,移动止损,得出的效果都不一样哦
我要的差不多是画线的止损效果,盘中不能因为后面的高低点变动而改变止损位