金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 啥玩意

平移

[复制链接]

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 15:02 | 显示全部楼层
这是还没改之前的
XX:=REF(H,ENTERBARS);
XL:=REF(L,ENTERBARS);
RCH:=MAX(H20,XX);
RCL:=MIN(L20,XL);

//以收盘价开空

//O1:=VALUEWHEN(,L);



XX1:=RCL-ABS(RCH-RCL);


X2:IF(c<xx1,RCL,RCH);
X21:IF(c<xx1,XX1,RCL);

X3:=IF(C<x21,x21,x2);
X31:=IF(C<x21,X21-ABS(X2-X21),x21);

X4:=IF(C<x31,x31,x3);
X41:=IF(C<x31,x31-ABS(X3-X31),x31);

IF X=0 AND ENTERBARS<>-1 THEN X:=RCH;
IF X1=0 AND X<>0 THEN X1:=RCL;

IF C<XX1  THEN
BEGIN
//重置变量 的逻辑在这里实现下
X:=RCL;
X1:=XX1;         
END

IF X=RCL AND C<X21 THEN X:=X21;
IF X1=XX1 AND C<X21 THEN X1:=X21-ABS(X2-X21);

IF X=X21 AND C<X31 THEN X:=X31;
IF X1=X21-ABS(X2-X21) AND C<X31 THEN X1:=x31-ABS(X3-X31);


IF X=X31 AND C<X41 THEN X:=X41;
IF X1=X31-ABS(X3-X31) AND C<X41 THEN X1:=x41-ABS(X4-X41);
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 15:17 | 显示全部楼层

X2:RCL;//X2:IF(CROSS(xx1,c),RCL,RCH);
X21:XX1;//X21:IF(CROSS(xx1,c),XX1,RCL);

X3:X21;//X3:IF(CROSS(x21,c),x21,x2);
X31:X21-ABS(X2-X21);//X31:IF(CROSS(x21,c),X21-ABS(X2-X21),x21);

X4:X31;//X4:IF(CROSS(x31,c),x31,x3);
X41:x31-ABS(X3-X31);//X41:IF(CROSS(x31,c),x31-ABS(X3-X31),x31);

X5:X41;//X5:=IF(CROSS(x41,c),x41,x4);
X51:x41-ABS(X4-X41);//X51:=IF(CROSS(x41,c),x41-ABS(X4-X41),x41);

X6:X51;//X6:=IF(CROSS(x51,c),x51,x5);
X61:x51-ABS(X5-X51);//X61:=IF(CROSS(x51,c),x51-ABS(X5-X51),x51);

好像这个要改掉 不知道对不对
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 15:25 | 显示全部楼层
还有两个问题:图中的2和3能取值,我怎么取值1的位置。我要在1-3之间的减仓只动作一次,怎么操作,也要用全局变量吗?
截图202302021524275084.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-2 16:19 | 显示全部楼层
你这个问题 属于描述越多越混乱。你最好明确下你的问题核心在什么地方,方便我们沟通明确。

你可以整理出一个能直接运行的范例,贴上来,范例越简单约好,越能体现问题越好,这样才能有效沟通的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-2 16:26 | 显示全部楼层
https://www.weistock.com/bbs/for ... page%3D1&page=1

这个帖子里

VARIABLE:XX:=0,XX1:=0;

IF XX=0 AND ENTERBARS<>-1 THEN XX:=REF(H,ENTERBARS);
IF XX1=0 AND XX<>0 THEN XX1:=L1-ABS(h1-XX);

IF cross(c,xx1)   THEN
BEGIN
//重置变量 的逻辑在这里实现下
XX:=
XX1:=         
END

这里用cross 直接大于 会一直重置变量数值的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 16:28 | 显示全部楼层
X2:IF(CROSS(xx1,c),RCL,RCH);   改为 :X2:RCL;
X21:IF(CROSS(xx1,c),XX1,RCL);  改为:X21:XX1;
其他的X 的赋值全部改了 ,全局变量不用cross去写 ,效果是下面的这种 好像已经可以了。

我现在是想求前一个X的取值。在前一个X的取值到现在的X1之间只做一次动作
截图202302021623027185.png
截图202302021627046481.png
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 16:29 | 显示全部楼层
啥玩意 发表于 2023-2-2 16:28
X2:IF(CROSS(xx1,c),RCL,RCH);   改为 :X2:RCL;
X21:IF(CROSS(xx1,c),XX1,RCL);  改为:X21:XX1;
其他 ...

全局变量不用cross去写  打错字了   全局变量用cross去写的

IF X=X71 AND CROSS(x81,c) THEN X:=X81;
IF X1=X71-ABS(X7-X71) AND CROSS(x81,c) THEN X1:=x81-ABS(X8-X81);
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-2 16:30 | 显示全部楼层
你可以用 VALUEWHEN(x<>ref(x,1),ref(x,1))

就是取x最近一次发生变化时候的值。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 16:45 | 显示全部楼层
VARIABLE:X:=0,X1:=0;
MA120:MA(C,120);
ma30:ma(c,16);
p:cross(ma30,c) and cross(ma120,c);

RCH:=REF(H,ENTERBARS);
RCL:=REF(L,ENTERBARS);

XX1:=RCL-ABS(RCH-RCL);


X2:=RCL;
X21:=XX1;

X3:=X21;
X31:=X21-ABS(X2-X21);

X4:=X31;
X41:=x31-ABS(X3-X31);

IF X=0 AND ENTERBARS<>-1 THEN X:=RCH;
IF X1=0 AND X<>0 THEN X1:=RCL;

IF CROSS(xx1,c)  THEN
BEGIN
//重置变量 的逻辑在这里实现下
X:=RCL;
X1:=XX1;         
END

IF X=RCL AND CROSS(x21,c) THEN X:=X21;
IF X1=XX1 AND CROSS(x21,c) THEN X1:=X21-ABS(X2-X21);

IF X=X21 AND CROSS(x31,c) THEN X:=X31;
IF X1=X21-ABS(X2-X21) AND CROSS(x31,c) THEN X1:=x31-ABS(X3-X31);


IF X=X31 AND CROSS(x41,c) THEN X:=X41;
IF X1=X31-ABS(X3-X31) AND CROSS(x41,c) THEN X1:=x41-ABS(X4-X41);


XHS:X;
XLS:X1;

BUYSHORT(p ,1,THISCLOSE);

//求1和2的值,限制2和X1之间只做一次减仓动作。
截图202302021644497904.png
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-2-2 16:47 | 显示全部楼层
啥玩意 发表于 2023-2-2 16:45
VARIABLE:X:=0,X1:=0;
MA120:MA(C,120);
ma30:ma(c,16);

已知X和X1的值是最后输出的值。
1:求1和2的值。
2:限制2和X1之间只做一次减仓动作。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 19:06 , Processed in 0.148038 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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