此主题相关图片如下:2013-10-27_175544.png
研究了几天新图表交易后,自己写了个简单的系统,测试发现有问题,就像图中这样,开仓点是对的,但是所有平仓点都出现在开仓点同一根K上
可能是对全局变量没写好
平仓策略如下:
做多后,跌破开仓均价10点止损。
做多后,如果开仓均价盈利大于50点但小于100点时,跌破盈利段的一半止盈。
做多后,如果开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈。
这种平仓策略应该怎样写呢
平仓策略第一条写错了,是做多后
请您耐心等待
//用固定时间间隔
variable:maxprofit=0;//有仓位时最大获利
buycond:=ref(count(c>o,2)=2,1);
if buycond and holding=0 then
begin
buy(1,1,limitr,o+2*mindiff);
maxprofit:=0;
end
//止损平仓
if holding>0 and low<enterprice-10 then sell(1,1,market);
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
win:=(high-enterprice); //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=maxprofit-win; //最大盈利后的回调幅度
end
//如果开仓均价盈利大于50点但小于100点时,跌破盈利段的一半止盈
if maxprofit>50 and maxprofit<100 and holding>0 then
止赢1:SELL(win2<0.5*maxprofit,1,market);
//如果开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈
if maxprofit>=100 and holding>0 then
止赢2:SELL(win2<100+0.5*(maxprofit-100),1,market);
明白了,谢谢指导。
“多头开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈”的代码。
如果将多头开仓价换为日线的开盘价,变成“由日线开盘价上行大于100点时,以上行100点的位置为低点,100+N点为高点,这段距离回落一半止盈”,应该怎么写呢,改了几次好像都有问题
variable:maxprofit=0;//有仓位时最大获利
if 条件 and holding=0 then
begin
buy();
maxprofit:=0;
end
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
win:=(high-enterprice); //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=maxprofit-win; //最大盈利后的回调幅度
end
//多头止盈
if maxprofit>=100 and holding>0 then
SELL(win2<100+0.5*(maxprofit-100),1,market);
你的需求可以实现
你是在什么周期上运行的,日线周期吗?
你的需求可以实现
你是在什么周期上运行的,日线周期吗?
5分钟周期上,这个还有区别吗
o1:=VALUEWHEN(todaybar=1 ,open);//当日开盘价
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
win:=(high-o1); //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=maxprofit-win; //最大盈利后的回调幅度
end
如果变成“价格大于均线MA(C,20)+100点时,以MA(C,20)+100点的位置为低点,100+N点为高点,这段距离回落一半止盈”,应该怎么写呢