【金字塔使用技巧】----次交易日起卖出如何编写
[图表程序化交易] N分钟周期下,买入后,要求从次一个交易日起开始卖出(不能从下一根K线起),这个“次交易日起”条件如何实现?
variable:flag=0;// 全局变量,买开仓时赋值为1
if cond1 and holding=0 then
begin
buy(1,1,market);
flag:=1;
end
if cond2 and holding>0 and flag=0 then sell(1,1,thisclose);
if time=CLOSETIME(0) then flag:=0;//收盘的同时,flag赋值为0
------------
这是你们的金字塔技巧,
可是有一句看不懂,就是
if cond2 and holding>0 and flag=0 then sell(1,1,thisclose);
这里FLAG如果是0,里面并没有单子,因为此时补单了,此时FLAG是1,
是不是应当这样写
if cond2 and holding>0 and flag=1then sell(1,1,thisclose);
enterbars,不对
因为有时有仓或没有仓,有时是一分钟,
开仓的K线根数还有可能是隔夜,日期相同
按照你的思路,只要cond2条件满足就直接平仓了,那里能够体现出次日平仓来?
我是要被上,比如说昨晚白银,尾盘发出开仓指令,但是要等到九点开盘才可以打进单子,
这里这个价就是本日的,或者说 假定是下午三点收盘发出开仓指令,那则要晚上九点才可以发出委托
这里就是要补单,或者说有单,但因结算被交易公司撤单了,需要重新补单
按照你的思路,只要cond2条件满足就直接平仓了,那里能够体现出次日平仓来?
COND2条件不满足,因为他的FLAG是1,不是0,平不掉
variable:flag=0;// 全局变量,买开仓时赋值为1
if cond1 and holding=0 then
begin
buy(1,1,market);
flag:=1;
end
这里开仓之后flag变成1是不是?
if cond2 and holding>0 and flag=0 then sell(1,1,thisclose);
如果这里写成flag=1
那么当天cond2条件成立就会直接平掉是不是?
if time=CLOSETIME(0) then flag:=0;//收盘的同时,flag赋值为0
那么就体现不出当前开仓次日平仓了是不是?
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
KD:=CROSS(K,D);
dk:=CROSS(D,K);
手数:=1;
//交易条件
开多平空条件:=CROSS(K,D);//开多平空条件
开空平多条件:=CROSS(D,K);//开空平多条件
这样由于委托是尾盘或隔夜,或交易所结算,
委托的单就有可能不成交,需要补单或撤单,再进行交易
有 高手用后台程序编一下吗
没有用,自动持仓同步是中长线可以用,
短线因为滑点等原因不可以用