金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2170|回复: 6

亏损加仓

[复制链接]

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
发表于 2023-7-31 19:57 | 显示全部楼层 |阅读模式
本帖最后由 技术009 于 2023-8-1 08:54 编辑

MA20:=MA(CLOSE,20);
KD:=CLOSE>MA20;          //开多条件
PD:=CLOSE<MA20;          //平多条件
KK:=CLOSE<MA20;          //开空条件
PK:=CLOSE>MA20;          //平空条件

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

老师:
用这个单均线策略加载一个逻辑,比如第一次开仓为1手,止损后,第二次开仓为2手,止损后,第3次开仓为4手,止损后,第4次开仓为8手,止损后,第5次开仓为16手,以此类推,
这个逻辑有点像马丁策略,用在单均线策略上,如何加载?

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-1 08:51 | 显示全部楼层
亏损一次就加仓?什么条件下重置为初始开仓的手数? 这种亏损加仓的必须有这个逻辑才行的。另外一般也会限定开仓手数上限的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-8-1 11:38 | 显示全部楼层
盈利一次后和连续止损9次后就返回重置为初始开仓的手数,初始开仓手数为1手,
在此策略实际运行中,止损10次以上,账户资金可能就不足开仓了,相当于2的10次方了,开仓手数就很大了,可能交易所开仓手数受限
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-1 13:25 | 显示全部楼层
[PEL] 复制代码
ma20:=ma(close,20);
kd:=close>ma20;          //开多条件
pd:=close<ma20;          //平多条件
kk:=close<ma20;          //开空条件
pk:=close>ma20;          //平空条件



variable:num:=0;
cs:=9;//加仓次数上限


if pk and holding<0 then 
begin 
平空:sellshort(pk,0,thisclose); 
if NUMPROFIT(1)<0 then 	num:=num+1;
if NUMPROFIT(1)>0 then 	num:=0;
end 

if pd and holding>0 then 
begin 
平多:sell(pd,0,thisclose);  
if NUMPROFIT(1)<0 then 	num:=num+1;
if NUMPROFIT(1)>0 then 	num:=0; 	
end 



if kd and holding=0 then 
begin
开多:buy(kd and holding=0,1*POW(2,num),thisclose);   	 
end 

if kk and holding=0 then 
begin
开空:buyshort(kk and holding=0,1*POW(2,num),thisclose);  	 
end 
  
if num=cs then num:=0;

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

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-8-1 16:08 | 显示全部楼层
有时候想法和实践出入太大  策略很难执行
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-8-1 17:08 | 显示全部楼层
要是把开仓手数递减是不是把num:=num+1改num:=num-1就可以了?我改了,感觉还是不行。
比如我初始开仓32手,亏损一次后,第2次开仓为16手数,亏损二次后,第2次开仓为8手数,亏损三次后,第2次开仓为8手数,亏损四次后,第2次开仓为4手数,以此类推,
当策略在一段时间连续亏损,开仓手数递减,规避风险,
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-1 17:22 | 显示全部楼层
本帖最后由 技术009 于 2023-8-1 17:23 编辑

num 是连亏次数。
手数的计算是在下单语句里操作的:
开多:buy(kd and holding=0,1*POW(2,num),thisclose);     

递减的话,手数这里改成除就行了。
[PEL] 复制代码
variable:num:=0;
cs:=5;//加仓次数上限
 
ss:=32;
if pk and holding<0 then
begin
平空:sellshort(pk,0,thisclose); 
if NUMPROFIT(1)<0 then   num:=num+1;
if NUMPROFIT(1)>0 then   num:=0;
end
 
if pd and holding>0 then
begin
平多:sell(pd,0,thisclose);  
if NUMPROFIT(1)<0 then   num:=num+1;
if NUMPROFIT(1)>0 then   num:=0;     
end
 
 
 
if kd and holding=0 then
begin
开多:buy(kd and holding=0,ss/POW(2,num),thisclose);     
end
 
if kk and holding=0 then
begin
开空:buyshort(kk and holding=0,32/POW(2,num),thisclose);    
end
 
//连亏CS次数后,重置亏损次数为0.手数恢复默认值 
if num=cs then num:=0;
 
持仓:holding;

当然你也可以在num上操作,但是那样num初始值就要改成减仓或者加仓次数了。即默认值不能为0.


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 13:11 , Processed in 0.127153 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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