金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3147|回复: 11

请大神把这个指标改为先平仓再下单。

[复制链接]

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-6-1
曾用名:
发表于 2023-6-1 08:51 | 显示全部楼层 |阅读模式
现在的代码平仓开仓同时进行,经常资金不足,无法开仓。请帮忙修改
代码如下:


DS:=NEWHBARS(HIGH,1);
DN:=IF(DS=BARPOS(),1,DS);
DM:REF(DN,DN)+DN,LINETHICK0;
HH:=IF(BARPOS()<4,CLOSE,REF(HIGH,DM));
KD:=CLOSE>LLV(HH,DS);
KS:=NEWLBARS(LOW,1);
KN:=IF(KS=BARPOS(),1,KS);
KM:REF(KN,KN)+KN,LINETHICK0;
LL:=IF(BARPOS()<4,CLOSE,REF(LOW,KM));
KK:=CLOSE<HHV(LL,KS);

TD:=ENTERBARS+1;
TK:=EXITBARS+1;
A:=REF(IF(TD<TK,HHV(LL,TD),LLV(HH,TK)),1);

多空线:A,COLOR0000FF,LINETHICK2;

PARTLINE(CLOSE<多空线,多空线,65280,2,0),COLOR00FF00,LINETHICK2;

手数:=1;
//交易条件
开多平空条件:=KD;//开多平空条件
开空平多条件:=kk;//开多平空条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 and holding=0,手数,MARKET);
开空:BUYSHORT(开空平多条件 and holding=0,手数,MARKET);
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-1 09:07 | 显示全部楼层
你这个代码本身是反手的,所以平多会开空,平空会开多。

你如果是因为反手平仓资金没来得及释放 可以考虑使用ORDERQUEUE函数处理下。


//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET),ORDERQUEUE;
开多:BUY(开多平空条件 and holding=0,手数,MARKET),ORDERQUEUE;
平多:SELL(开空平多条件,手数,MARKET),ORDERQUEUE;
开空:BUYSHORT(开空平多条件 and holding=0,手数,MARKET),ORDERQUEUE;


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-6-1
曾用名:
 楼主| 发表于 2023-6-2 22:41 | 显示全部楼层
谢谢,就是平仓资金没来得及释放

能不能加一条60日均线。比如上面一楼的策略设定下单3手,如果多单突破60日均线则再开一次单,就是再加3手。
意思是先运行1楼的策略开仓,等到多单K线走完,收在60日均线上。则加仓。反手也是一样,先开仓,等到空单运行至60日均线以下,则加仓
如果出现开仓信号时K先正好在60日均线上,则直接开仓6手,就是下单为手数X2.

可以实现吗
回复

使用道具 举报

37

主题

9981

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-6-5 09:07 | 显示全部楼层
[PEL] 复制代码
VARIABLE:flag=0;

DS:=NEWHBARS(HIGH,1);
DN:=IF(DS=BARPOS(),1,DS);
DM:REF(DN,DN)+DN,LINETHICK0;
HH:=IF(BARPOS()<4,CLOSE,REF(HIGH,DM));
KD:=CLOSE>LLV(HH,DS);
KS:=NEWLBARS(LOW,1);
KN:=IF(KS=BARPOS(),1,KS);
KM:REF(KN,KN)+KN,LINETHICK0;
LL:=IF(BARPOS()<4,CLOSE,REF(LOW,KM));
KK:=CLOSE<HHV(LL,KS);

ma60:ma(close,60);


TD:=ENTERBARS+1;
TK:=EXITBARS+1;
A:=REF(IF(TD<TK,HHV(LL,TD),LLV(HH,TK)),1);

多空线:A,COLOR0000FF,LINETHICK2;

PARTLINE(CLOSE<多空线,多空线,65280,2,0),COLOR00FF00,LINETHICK2;

手数:=3;
//交易条件
开多平空条件:=KD;//开多平空条件
开空平多条件:=kk;//开多平空条件

//交易系统
if  开多平空条件  and HOLDING<0   then  BEGIN
	平空:SELLSHORT(1,HOLDING,MARKET);
	flag:=0;
end

if  开空平多条件  and HOLDING>0   then  BEGIN
平多:SELL(1,HOLDING,MARKET);
flag:=0;
end

if  开多平空条件  and holding=0 and flag=0  then  BEGIN
	开多:BUY(1,手数,MARKET);
	flag:=1;
end

if  开空平多条件  and holding=0 and flag=0  then  BEGIN
	开空:BUYSHORT( 1,手数,MARKET);
	flag:=-1;
end



if  C>MA60  and holding>0 and flag=1  then  BEGIN
	加多:BUY(1,手数,MARKET);
	flag:=2;
end


if  C<MA60  and holding<0 and flag=-1  then  BEGIN
	加空:BUYSHORT( 1,手数,MARKET);
	flag:=-2;
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-6-1
曾用名:
 楼主| 发表于 2023-6-8 22:36 | 显示全部楼层
请帮我写一个 60日均线的交易系统 60日均线以上做多 60日均线以下反手做空。
手数可以自定义的
注意防止反手平仓同时进行,资金来不及释放。谢谢。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 08:25 | 显示全部楼层
上下穿60周期均线开平仓?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-6-1
曾用名:
 楼主| 发表于 2023-6-9 09:08 | 显示全部楼层
技术009 发表于 2023-6-9 08:25
上下穿60周期均线开平仓?

是的 可以吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 09:33 | 显示全部楼层
[PEL] 复制代码

ma60:ma(c,60);

kd:cross(c,ma60);
kk:cross(ma60,c);


if kd then 
begin 
sellshort(1,holding,market),ORDERQUEUE;
buy(holding=0,1,market),ORDERQUEUE;	
end 


if kk then 
begin 
sell(1,holding,market),ORDERQUEUE;
buyshort(holding=0,1,market),ORDERQUEUE;	
end 
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-6-1
曾用名:
 楼主| 发表于 2023-6-9 10:49 | 显示全部楼层
技术009 发表于 2023-6-9 09:33
[mw_shl_code=pel,true]

ma60:ma(c,60);

手数 调整哪个变量?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 10:59 | 显示全部楼层
buyshort  和buy 的第二个参数就是手数。

你可以参考前面那个代码,定义下手数这个变量。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-15 02:26 , Processed in 0.088097 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表