我的想法是在图表程序化里只写平仓条件及平仓语句,实现手工开仓后,启动程序化交易,自动平仓的功能。
我只在图表的程序里写了平仓条件和平仓语句,但发现条件成立后并不执行,这是为什么呢?
不能只写平仓语句,而没有开仓语句。
但是代码上也有一些技巧可以实现只做平仓,手工开。只需要在代码中增加下面一句开仓代码:
if BARPOS=1 then buy(1,100,market);//在K线图上第一个K下足够多的单子。
但是图表上K线必须使得第一个K在历史K位置上。不能让实际交易时候执行了这个开仓,否则真实开仓了就很麻烦。
好的多谢,我试试。
if BARPOS=1 then buy(1,100,market);//在K线图上第一个K下足够多的单子。另外,看到这个语句突然想到一个问题,像这样一次开100手,如果保证金不够的话,是都不开了,还是有多少开多少?
我希望程序自动开仓,手动平仓。
试了一下,手动平仓完成后还是显示有持仓,没有清零。
有没有方法让显示与持仓保持一致?
自动开仓手动平仓?还是自动平仓,手动开仓? 后者能实现,就是前面给的代码,前者不行。前者得话,要后台程序化可以。
刚才试了下,加入这个语句后,平仓还是没有执行,看了下PleaceOrder.txt日志里那个时间似乎就没有任何程序化交易的发出,问题会出在哪呢?
代码部分如下:
PD:=cross(man1,c);pk:=cross(c,man1);
平空:SELLSHORT(pk,1,THISCLOSE);
平多:SELL(PD,1,THISCLOSE);
if BARPOS=1 then buy(1,100,THISCLOSE);
if BARPOS=1 then BUYSHORT(1,100,THISCLOSE);
请帮忙看看为什么不执行平仓,谢谢了。