Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共25 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:关于平仓

1楼
lk20050805 发表于:2021/4/20 10:30:55

持仓2手空单的情况下

当C大于5日线平仓一手空单,当C大于10日线平全仓。怎么写?

2楼
FireScript 发表于:2021/4/20 10:44:50
sellshort(cross(c,ma(c,5)),1,market);
sellshort(cross(c,ma(c,10)),holding,market);

如果2个平仓是或的关系的话,就上面这样操作就行了。谁触发就执行谁。
3楼
lk20050805 发表于:2021/4/20 11:05:41

单是 大于5日线平1手后,股价来回在5日线上下波动,结果第二手也在第二次C穿过5日线时平仓了。那我想在穿越10日线平剩下一手的想法落空了啊,怎么办

4楼
FireScript 发表于:2021/4/20 11:12:35
 你如果要这样的逻辑的话,就只能用全局变量操作了。

VARIABLE:mark:=0;

if cross(c,ma(c,5)) and mark=0 and holding<0 then
begin
sellshort(1,1,market);   
mark:=1;//五日线平仓时候纪录下
end

if cross(c,ma(c,10)) and mark=1 and holding<0 then
begin
sellshort(1,holding,market);
mark:=0;//十日线平仓时候重置下全局变量
end

你参考这个逻辑 应用到你代码里就行了。

5楼
lk20050805 发表于:2021/4/20 11:16:25

谢谢

6楼
lk20050805 发表于:2021/4/20 11:56:23

平多条件:=cross(ma1,c);//平多条件
平空条件:=cross(c,ma1);//平空条件

PK:=C>三多头20;
PD:=C<三多头20;

平多条件1:=COUNT(PK,2)=2;
平空条件1:=COUNT(PK,2)=2;

 

//交易系统



BUY(开多条件 AND HOLDING=0,2,MARKET);
BUYSHORT(开空条件 AND HOLDING=0,2,MARKET);


SELL(平多条件 AND HOLDING>0,1,MARKET);
SELLSHORT(平空条件 AND HOLDING<0,1,MARKET);
VARIABLE:mark:=0;
mark:=0;
mark:=1;

if 平空条件1 and mark=1 and holding<0 then
begin
sellshort(1,holding,market);
//十日线平仓时候重置下全局变量
end
IF 平多条件1 and mark=1 and HOLDING>0 THEN
 BEGIN//若持有多单
SELL(1,HOLDING,MARKET);//平多单
END

 

老师 这样写行吗

7楼
FireScript 发表于:2021/4/20 13:33:44
 VARIABLE:mark1:=0,mark2:=0;

平多条件:=cross(ma1,c);//平多条件
平空条件:=cross(c,ma1);//平空条件

PK:=C>三多头20;
PD:=C<三多头20;

平多条件1:=COUNT(PK,2)=2;
平空条件1:=COUNT(PK,2)=2;


//交易系统
BUY(开多条件 AND HOLDING=0,2,MARKET);
BUYSHORT(开空条件 AND HOLDING=0,2,MARKET);

if 平多条件 AND HOLDING>0 and mark1=0 then
begin
SELL(1,1,MARKET);
mark1:=1;    
end

if 平空条件 AND HOLDING>0 and mark2=0 then
begin
SELLSHORT(1,1,MARKET);    
mark2:=1;
end


if 平空条件1 and mark2=1 and holding<0 then
begin
sellshort(1,holding,market);
mark2:=0;
//十日线平仓时候重置下全局变量
end

IF 平多条件1 and mark1=1 and HOLDING>0 THEN
BEGIN//若持有多单
SELL(1,HOLDING,MARKET);//平多单
mark1:=0;
END


多空要用2个全局变量分开来做的。


8楼
lk20050805 发表于:2021/4/20 15:15:24

谢谢

 

9楼
lk20050805 发表于:2021/4/20 15:29:09

老师,粘贴你这代码进去 老提示 BEGEN语句缺少END

10楼
FireScript 发表于:2021/4/20 15:35:45
 我本地正常。你再自查下看下。
共25 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 3 queries.