本人手工下单多年,想减少点盯盘,用上了金字塔这好东东,可自己编程技术太菜,恳请版主赐教。
假如ru1011固定价定为21200,我想在价格向上突破21200的瞬间买入n手,如果我选择的周期是1分钟,那么在买入的这1分钟里就不再开仓平仓,等下1分钟再作判断,向下突破21200的瞬间卖出n手,同样。我是想在固定价之上就一定持有多单,之下就一定持有空单,一分钟之内最多操作一次。
(注:我自己用a:=21200 cross(c,a);编的不行,实盘,后台交易的,分析周期一分钟,预警1秒,一分钟内开了又平,反开又平。几分钟后持仓不断增加,更搞笑的是价格都到了21100了,却持了4*n手多单)
若版主肯出手相助,不胜感激!
想清楚你的交易逻辑,再做不迟,这样可能来回打耳光
平多仓时,加个条件tenterbars(0)>=1 and tholding>0,;
平空仓时,加个条件tenterbars(0)>=1 and tholding<0,;
如
tsell(cross(a,c) and tenterbars(0)>=1 and tholding>0,0,mkt);
tsellshort(cross(c,a) and tenterbars(0)>=1 and tholding<0,0,mkt);
试试
正常情况下,程式化交易的的执行语句是只会在同一个周期执行一次,不会在同一个周期的同一条交易指令上反复执行。
你可以将你的公式贴出来我们大家一起帮你看看
非常感谢!回复真是及时,谢谢!
我是想让程序自动化守住某个固定价位(21200),大于21200就持30手多单,小于21200就持30手空单,远离之后手工平单。
几个控制项因为自己编程很菜,没能如愿。
1:怎样编才会保证在价格穿越后账户上百分之百就持有正确仓位(价格都到了21100了,却持了4*n手多单,是编程?是分析周期预警没匹配?漏单?我弄不清)
2:如何在有时人工平掉一部份仓位后,再次价格穿越依然持有方向正确仓位30手。
3:如何在突破的瞬间就动作,然后这1分钟不再有动作。(有时是20秒或者是5分钟,如何快速调整?)
恳请版主和各位师傅再次赐教!
原句子:(该如何改才对?)
input:a(21200,10000,30000,200);
d:=cross(c,a);
k:=cross(a,c);
TSELL(k ,0 , mkt );
TSELLSHORT(d ,0 ,mkt );
TBUY( d,30 , mkt );
TBUYSHORT( k,30 ,mkt );
比较正确的方法是,开平仓时判断所持有的仓位方向,这样就可以保证持仓始终是正确的
input:a(21200,10000,30000,200);
d:=cross(c,a);
k:=cross(a,c);
TSELL(k and tholding>0 ,0 , mkt ),orderqueue;
TSELLSHORT(d and tholding<0 ,0 ,mkt ),orderqueue;
TBUY( d and tholding=0,30 , mkt ),orderqueue;
TBUYSHORT( k and tholding = 0,30 ,mkt ),orderqueue;
下午实盘试了,问题基本解决。金字塔软件好,人更好,素质高。再次谢谢!