欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 这种上下轨怎么写?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3103人关注过本帖树形打印复制链接

主题:这种上下轨怎么写?

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/19 9:40:45    Post IP:58.246.57.26[显示全部帖子]

 那个魔鬼通道是完全加密的程序,只看这个效果的话,很难推测它这个逻辑是怎样的情况。“只上升的下轨,我只下降的上轨”所以这个你最好能文字描述下。否则看图效果的话,我们很难达成理解上的共识的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/19 14:11:55    Post IP:58.246.57.26[显示全部帖子]

 你先看下这样:
input:m(10,1,100,1),n(3,1,100,1);
MID :=  MA(CLOSE,M);
UPPER:= MID + N*STD(CLOSE,M);
LOWER:= MID - N*STD(CLOSE,M);

realUPPER:if(UPPER>ref(UPPER,1),ref(UPPER,1),UPPER);
realLOWER:if(LOWER<ref(LOWER,1),ref(LOWER,1),LOWER);

这个轨道是不是你要的。就是原先上下轨得计算逻辑保持不变,但是不作为最终的指标线输出。输出指标线时候,对当前的轨道值和上个K的轨道值进行对比后 再取值。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/19 16:59:18    Post IP:58.246.57.26[显示全部帖子]

 这样做。用全局变量纪录。

input:m(10,1,100,1),n(3,1,100,1);
MID :=  MA(CLOSE,M);
UPPER: MID + N*STD(CLOSE,M);
LOWER: MID - N*STD(CLOSE,M);

VARIABLE:x1:=0,x2:=0;
if BARPOS=M then  //M个K之后上下轨才正常有值。
begin
x1:=UPPER;
x2:=LOWER;   
end


if UPPER<x1 then x1:=UPPER;
if LOWER>x2 then x2:=LOWER;


showUPPER:x1;
showLOWER:x2;


上下轨转折地方 需要你提供一个条件。你先看下上面这样上下轨对不对吧。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/20 15:34:21    Post IP:58.246.57.26[显示全部帖子]

你这里“行情突破上轨”这个如果是用最高价突破上轨 或者是使用最低价突破下轨。这样的话,一个K上是可能同时满足2个突破的。 这样逻辑上就有冲突的。如果硬要处理 后面也会很复杂的。






命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/21 9:35:16    Post IP:58.246.57.26[显示全部帖子]

 1.确认了下。因为上下轨算法缘故,完全不能用c作为突破的价格。因为c始终都会在上下轨之间,完全不会高于上轨,低于下轨。
2.用H和L存在的问题是。一个是同时满足,但是几乎很少,好像只理论上会可能在一个K触发。更多的情况是连续多次下穿下轨或者上穿上轨。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
就像我这里标记的这样。

还是用H和L吧。我试试看。连续上穿我忽略掉,只在上下穿变化时候 进行转变。
[此贴子已经被作者于2021/4/21 9:35:23编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/21 9:55:23    Post IP:58.246.57.26[显示全部帖子]

 这样:

input:m(10,1,100,1),n(3,1,100,1);
VARIABLE:mark:=0;
MID :=  MA(CLOSE,M);
UPPER:=MID + N*STD(CLOSE,M);
LOWER:=MID - N*STD(CLOSE,M);

VARIABLE:x1:=0,x2:=0;
if BARPOS=M then  //M个K之后上下轨才正常有值。
begin
x1:=UPPER;
x2:=LOWER;   
end

if cross(h,UPPER) then mark:=1;
if cross(LOWER,l) then mark:=-1;

if UPPER<x1 and (mark=0 or mark=-1) then x1:=UPPER;
if LOWER>x2 and (mark=0 or mark=-1) then x2:=LOWER;
if mark=1 then x1:=UPPER;
if mark=-1 then x2:=LOWER;



DRAWICON(cross(h,UPPER),h,1);
DRAWICON(cross(LOWER,l),l,2);

showUPPER:x1;
showLOWER:x2;


笑脸和哭脸分别是2个上下穿的位置。


命数如织,当如磐石。
 回到顶部