金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3123|回复: 4

新手请老师帮忙看看代码表达是否正确。

[复制链接]

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
发表于 2022-11-18 14:26 | 显示全部楼层 |阅读模式
//准备需要的中间变量
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
MA20:MA(CLOSE,20);
//多头建仓条件;
//MA5>MA10时,如果手里有空单,平掉全部空单;最新价格买入1手多单;
Long:=  MA5>MA10 ;
if Long then                              
        begin
        sell(holding<0, holding,thisclose);
        buy(holding=0,1,thisclose) ;
        end  
//多头平仓条件       
//MA5<MA10时,平全部多单;
LongX:=MA5<MA10  AND  Holding>0;
if LongX then
begin        
sell (1,0,Limitr,c);
END
//建立空头建仓条件
//MA10<MA20时,如果手里有多单,平掉全部多单;最新价格下1手空单;
Short:= MA10<MA20
if Short then
        begin
        SELL(holding<0, holding,thisclose);
        BUYSHORT(holding=0,1,thisclose) ;
        end  
//空头平仓条件       
//MA10>MA20时,平全部空单;
ShortX:=MA10>MA20 AND Holding>0;
if ShortX then
begin        
SELLSHORT(1,0,Limitr,c);
END



请老师帮忙看看以上策略表达是否有问题?测试的时候,开仓次数很少,甚至不开仓。是不是我的编码和要表达的意思不一样?

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-11-18 14:37 | 显示全部楼层
[PEL] 复制代码
//准备需要的中间变量
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
MA20:MA(CLOSE,20);
//多头建仓条件;
//MA5>MA10时,如果手里有空单,平掉全部空单;最新价格买入1手多单;
Long:=MA5>MA10 ;
if Long then                              
        begin
        sellshort(holding<0, holding,thisclose);
        buy(holding=0,1,thisclose);
        end  
//多头平仓条件       
//MA5<MA10时,平全部多单;
LongX:=MA5<MA10  AND  Holding>0;
if LongX then
begin        
sell(1,0,Limitr,c);
END
//建立空头建仓条件
//MA10<MA20时,如果手里有多单,平掉全部多单;最新价格下1手空单;
Short:= MA10<MA20;
if Short then
        begin
        SELL(holding>0, holding,thisclose);
        BUYSHORT(holding=0,1,thisclose) ;
        end  
//空头平仓条件       
//MA10>MA20时,平全部空单;
ShortX:=MA10>MA20 AND Holding>0;
if ShortX then
begin        
SELLSHORT(1,0,Limitr,c);
END


持多头仓位时候 holding是大于0 的。反正空头时候holding小于0
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
 楼主| 发表于 2022-11-18 15:38 | 显示全部楼层
好的,谢谢,老师。麻烦再请教一个问题,如果我想把下单数量设置成可以改的参数,如3手、5手方便修改,不用去动源代码,该怎么写呢?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-11-18 15:42 | 显示全部楼层
手数这块一般是定义成参数变量。然后改参数就行了。

input:ss(1,1,100,1);

然后用ss替代所有开仓函数里面的手数参数就行了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
 楼主| 发表于 2022-11-18 20:38 | 显示全部楼层
嗯,学到了。感谢老师。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 04:19 , Processed in 0.131776 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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