金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2211|回复: 4

怎么解决只开空不开多

[复制链接]

13

主题

25

帖子

25

积分

Rank: 1

等级: 新手上路

注册:
2024-3-5
曾用名:
发表于 2024-3-27 09:49 来自手机 | 显示全部楼层 |阅读模式
MA1 := MA(CLOSE, 5);
MA2 := MA(CLOSE, 10);
MA3 := MA(CLOSE, 20);
MA4 := MA(CLOSE, 30);



VARIABLE :ma_move:=0;
VARIABLE : 开仓数量 :=10;
VARIABLE : 平仓数量 :=10;
VARIABLE : 已开多 :=100;
VARIABLE : 已开空 :=100;


MA30 :MA (C,30); 均线向上:ALL(MA30>REF(MA30,1),3),NODRAW ;
MA5:MA (C,5);
MA10:MA (C,10);
MA20:MA(C,20);
ma60:ma(c,60);

MA30:=MA (C,30); 均线向下:ALL(MA30<REF(MA30,-1),3),NODRAW;
MA5:=MA (C,5);
MA10:=MA (C,10);
MA20:=MA(C,20);
ma60:=ma(c,60);
//更新MA_move变量
IF MA30 > REF(MA30, 1)  THEN ma_move := 1;
IF MA30 < REF(MA30, 1)  THEN ma_move := -1;

// 交易条件
// 计算均线交叉程度
MA_cross_degree := (ABS(MA5 - REF(MA5, 1)) + ABS(MA10 - REF(MA10, 1)) + ABS(MA20 - REF(MA20, 1)) + ABS(MA30 - REF(MA30, 1)));

// 设置阈值
threshold :=100;

// 开多条件
开多条件 :(ma5>ma60); // 开多条件
  
IF 开多条件 AND 已开多 = 0 and  not (close=ma60) THEN BEGIN
    BUY(开仓数量, 开多条件, MARKET); // 开多条件触发开仓
    已开多 := 1;
END;

平多条件 :=(cross(ma5,ma60))and(ma5<ma30) and(close<ma60); // 平多条件
IF 平多条件 THEN BEGIN
   SELL(平仓数量, 平多条件, MARKET ); // 平多条件触发平仓
    已开多 := 0;
END;

// 开空条件
开空条件 : (ma5<ma60); // 开空条件
IF 开空条件 AND 已开空 = 0 and  not (close=ma60) THEN BEGIN
    BUYSHORT(开仓数量, 开空条件, MARKET); // 开空条件触发开仓
    已开空 := 1;
END;

平空条件 :=(cross(ma5,ma60))and(ma5>ma30) and(close>ma60)  ; // 平空条件
IF 平空条件 THEN BEGIN
    SELLSHORT(平仓数量, 平空条件, MARKET); // 平空条件触发平仓
    已开空 := 0;
end ;

//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-3-27 10:00 | 显示全部楼层
用法:
BUY(COND,V,Type,P);
表示当COND条件成立时,
买入V股(手)当前品种,
TYPE表示买入类型,
P表示买入价格或者保护价,所有参数均可以省略。


你开平语句里面参数位置写反了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

13

主题

25

帖子

25

积分

Rank: 1

等级: 新手上路

注册:
2024-3-5
曾用名:
 楼主| 发表于 2024-3-27 10:17 来自手机 | 显示全部楼层
老师可以详细一些吗?我是刚刚开始学习不是很懂
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-3-27 10:34 | 显示全部楼层
  BUY(开多条件, 开多数量, MARKET); // 开多条件触发开仓


第一个参数是条件,第二个参数才是数量

这段代码是谁写的,不可能是完全小白能写得出的,写的基本都没问题,就是参数顺序写错了

就好比写中文,写的中文很多,但是一些主谓宾顺序错了而已
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

13

主题

25

帖子

25

积分

Rank: 1

等级: 新手上路

注册:
2024-3-5
曾用名:
 楼主| 发表于 2024-3-27 12:09 来自手机 | 显示全部楼层
好的谢谢老师、这段代码是ai辅助写的、我是刚刚开始接触,所以不是太懂
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-30 10:18 , Processed in 0.109770 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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