金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2190|回复: 5

请问老师这个怎么写?谢谢

[复制链接]

15

主题

36

帖子

46

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-4-11 10:20 | 显示全部楼层 |阅读模式
你好老师。
我的这个模型思路很简单,就是画一条线,价格上穿这条线平空开多; 价格下穿这条线平多开空;
①,下面的模型是以周一的早晨9点,画线的;
②,我想改成【周二早晨9点画线】平仓时间都是在周五的下午2.45或2.50。平仓后不再交易了。直到再到周二的早晨9点,重新开始;
③,再新建一个模型,是【周三早晨9点画线】,平仓时间都是在周五的下午2.45或2.50。平仓后不再交易了。直到再到周3的早晨9点,重新开始;
谢谢老师。

XD:=1  ;//这里修改开仓数量;

COND:=BARSSINCE2(TIMEZONECONVER(090000)<time,TODAYBAR) ;
AA:VALUEWHEN(WEEKDAY=1 AND COND=0,CLOSE);


//判断是否为周一夜盘。取反后表示非周一夜盘
COND2:not(WEEKDAY=1 and TIME<130000);


//n_time:185000,185100;
n_time:=184500;
timecond:TIME<n_time;


if CROSS(close,AA)=1 THEN BEGIN
    SELLSHORT(HOLDING<0,XD,MARKET);
    BUY(HOLDING=0 and COND2=1 AND timecond=1,XD,MARKET);
END


if CROSS(AA,close)=1 THEN BEGIN
    SELL(HOLDING>0,XD,MARKET);
    BUYSHORT(HOLDING=0 and COND2=1 AND timecond=1,XD,MARKET);   
END

//**************************【以下代码适合3分钟和5分钟的周五平仓】**************************

if WEEKDAY=5 and time=n_time then BEGIN
        SELLSHORT(HOLDING<0,HOLDING,MARKET);//周五的2.45全平
        SELL(HOLDING>0,HOLDING,MARKET);
END

if WEEKDAY=5 and time=185000 then BEGIN
        SELLSHORT(HOLDING<0,HOLDING,MARKET);//周五的2.50全平
        SELL(HOLDING>0,HOLDING,MARKET);
END


回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-11 10:44 | 显示全部楼层
[PEL] 复制代码
INPUT:con(1,1,3,1);
XD:=1  ;//这里修改开仓数量;

tCOND:=BARSSINCE2(TIMEZONECONVER(090000)<time,TODAYBAR) ;
AA:VALUEWHEN(WEEKDAY=con AND tCOND=0,CLOSE);


COND1:not(WEEKDAY=1 and TIME<130000);
COND2:not(WEEKDAY=1 or (WEEKDAY=2 and  TIME<130000));
COND3:not(WEEKDAY<=2 or (WEEKDAY=3 and  TIME<130000));
if  con=1 then cond:=cond1;
if con=2 then cond:=cond2;
if cond=3 then cond:=cond3;

//n_time:185000,185100;
n_time:=184500;
timecond:TIME<n_time;


if CROSS(close,AA)=1 THEN BEGIN
    SELLSHORT(HOLDING<0,XD,MARKET);
    BUY(HOLDING=0 and COND=1 AND timecond=1,XD,MARKET);
END


if CROSS(AA,close)=1 THEN BEGIN
    SELL(HOLDING>0,XD,MARKET);
    BUYSHORT(HOLDING=0 and COND=1 AND timecond=1,XD,MARKET);   
END

//**************************【以下代码适合3分钟和5分钟的周五平仓】**************************

if WEEKDAY=5 and time=n_time then BEGIN
        SELLSHORT(HOLDING<0,HOLDING,MARKET);//周五的2.45全平
        SELL(HOLDING>0,HOLDING,MARKET);
END

if WEEKDAY=5 and time=185000 then BEGIN
        SELLSHORT(HOLDING<0,HOLDING,MARKET);//周五的2.50全平
        SELL(HOLDING>0,HOLDING,MARKET);
END


新增了一个参数con ,con 从1-3表示初始开仓的周几。不用写好几个模型了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

36

帖子

46

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-11 10:47 | 显示全部楼层
技术009 发表于 2023-4-11 10:44
[mw_shl_code=pel,true]INPUT:con(1,1,3,1);
XD:=1  ;//这里修改开仓数量;

谢谢,明白了,哈。
回复

使用道具 举报

15

主题

36

帖子

46

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-11 10:52 | 显示全部楼层
技术009 发表于 2023-4-11 10:44
[mw_shl_code=pel,true]INPUT:con(1,1,3,1);
XD:=1  ;//这里修改开仓数量;

老师,我看了周二是正常的,  改成周三、周四,只显示水平线;  没有开平仓的信号,麻烦您再帮助看看,谢谢?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-11 11:05 | 显示全部楼层
上面原本是没考虑周四的情况的。

[PEL] 复制代码
INPUT:con(1,1,5,1);
XD:=1  ;//这里修改开仓数量;
 
tCOND:=BARSSINCE2(TIMEZONECONVER(090000)<time,TODAYBAR) ;
AA:VALUEWHEN(WEEKDAY=con AND tCOND=0,CLOSE);
 
 
COND1:=not(WEEKDAY=1 and TIME<130000);
COND2:=not(WEEKDAY=1 or (WEEKDAY=2 and  TIME<130000));
COND3:not(WEEKDAY<=2 or (WEEKDAY=3 and  TIME<130000));
COND4:not(WEEKDAY<=3 or (WEEKDAY=4 and  TIME<130000));
COND5:not(WEEKDAY<=4 or (WEEKDAY=5 and  TIME<130000));
if con=1 then cond:=cond1;
if con=2 then cond:=cond2;
if con=3 then cond:=cond3;
if con=4 then cond:=cond4;
 if con=5 then cond:=cond5;
//n_time:185000,185100;
n_time:=184500;
timecond:TIME<n_time;

if CROSS(close,AA)=1 THEN BEGIN
    SELLSHORT(HOLDING<0,XD,MARKET);
    BUY(HOLDING=0 and COND=1 AND timecond=1,XD,MARKET);
END
 
 
if CROSS(AA,close)=1 THEN BEGIN
    SELL(HOLDING>0,XD,MARKET);
    BUYSHORT(HOLDING=0 and COND=1 AND timecond=1,XD,MARKET);   
END
 
//**************************【以下代码适合3分钟和5分钟的周五平仓】**************************
 
if WEEKDAY=5 and time=n_time then BEGIN
        SELLSHORT(HOLDING<0,HOLDING,MARKET);//周五的2.45全平
        SELL(HOLDING>0,HOLDING,MARKET);
END
 
if WEEKDAY=5 and time=185000 then BEGIN
        SELLSHORT(HOLDING<0,HOLDING,MARKET);//周五的2.50全平
        SELL(HOLDING>0,HOLDING,MARKET);
END

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

使用道具 举报

15

主题

36

帖子

46

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-11 11:08 | 显示全部楼层
技术009 发表于 2023-4-11 11:05
上面原本是没考虑周四的情况的。

[mw_shl_code=pel,true]INPUT:con(1,1,5,1);

辛苦啦 谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 09:35 , Processed in 0.114347 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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