以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这种通道线要怎么编写?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=187994)

--  作者:300qh
--  发布时间:2021/4/22 20:51:37
--  这种通道线要怎么编写?
如下图:当收盘价格突破上线后,画只上升的下线,上线取原值不变动,
直到收盘价格跌破下线后,画只下降的上线,下线取原值不变动。
可以依以下指标基础,要怎么把上线和下线如图那种不倒退的趋势线?
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);

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210422205002.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/4/22 20:52:40编辑过]

--  作者:FireScript
--  发布时间:2021/4/23 8:35:15
--  
 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=187870  这个帖子不是回复过了吗?是还有什么问题吗?

--  作者:300qh
--  发布时间:2021/4/23 10:53:30
--  
还是写不出来,想看看谁还能写一下。
--  作者:300qh
--  发布时间:2021/4/23 11:00:07
--  
这个写法图表上看起来比较方便,思路很简单,写起来我却不会。还请您再研究一下。


--  作者:FireScript
--  发布时间:2021/4/23 11:02:08
--  
 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;


这段代码不行吗?只能写到这种程度了。

--  作者:300qh
--  发布时间:2021/4/23 12:13:10
--  
你有加载到图表上看过吗?我加载上去是这样的,感觉还是哪里不对呢?
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210423121241.png
图片点击可在新窗口打开查看

--  作者:300qh
--  发布时间:2021/4/23 12:26:01
--  
收盘价突破应该不会同根K线发生吧,要么就是突破上轨,要么就是跌破下轨,当突破上轨的K线开始数N天,那么画N天的下轨最高值。上轨取原始上轨值,直到收盘价格跌破上升的下轨线,那么画N天的上轨最低值,下轨取原始下轨值。看起来非常简单的原理。要怎么用全局变量啊?
突破N:=BARSLAST(cross(c,上轨))+1;
跌破M:=BARSLAST(cross(下轨,c))+1;

上轨:=LLV(UPPER,跌破M);
下轨:=HHV(LOWER,突破N);