请教老师:样编怎写。 1.多单,价格突破前一根K线高点买入,(不停突破,会不停的加仓)。跌破前一根K线底点止损(所有多单)
2.空单,价格跌破前一根K线底点买出,(不停跌破,会不停的加仓)。突破前一根K线底点止损(所有空单)
3.周期为1分钟,收盘前强平所有单。(下午3点前强平,晚上11点前强平。)
交易下单时,不用走完一根K线,只要有一单突破就下单。
1. 你走完K 就只能等K线走完才能发单。这个模式就是这样的,无法从代码上突破这个限制的。
2.
如果是走完K模式的话,那就只能在收盘前一个K上出信号,然后收盘K上刚好按照信号下单。
if h>ref(h,1) then buy(1,1,market);//当前最高价大于上个K最高价
if l<ref(l,1) then //当前最低价低于上个K最低价
begin
sell(1,holding,market);
buyshort(holding=0,1,market);
end
if l>ref(l,1) then sellshort(1,holding,market);//当前最低价大于上个K最低价
if time=185900 or time=045900 then //走完K模式下收盘前一个K出信号,否则就只能在下次开盘K上开仓了。
begin
收盘强平1:sell(1,holding,market);
收盘强平2:sellshort(1,holding,market);
end
如果改成固定轮询模式 就是可以实现满足条件就下单。
相应的,这里时间判断改成判断收盘K就行了。因为信号会在最后一个K上直接触发 并下单。
if time=190000 or time=050000 then //走完K模式下收盘前一个K出信号,否则就只能在下次开盘K上开仓了。
begin
收盘强平1:sell(1,holding,market);
收盘强平2:sellshort(1,holding,market);
end
不好意思,这里写错了,请修改一下!
2.空单,价格跌破前一根K线底点买出,(不停跌破,会不停的加仓)。突破前一根K线高点止损(所有空单)
那这样子:
if h>ref(h,1) then sellshort(1,holding,market);//当前k最高价格大于上个K最高价
if h>ref(h,1) then buy(1,1,market);
if l<ref(l,1) then //当前最低价低于上个K最低价
begin
sell(1,holding,market);
buyshort(holding=0,1,market);
end
这里还是说明下。这里上下突破我选择用的是当前K的最高 最低价来处理的。和直接用收盘价是有点区别的。但是你这里用的是固定轮询 用最高最低价会更合理些。