您现在的位置:程序化交易>> 股票公式>> 同花顺>> 同花顺公式>>正文内容

公式编写基础1[同花顺公式]

相关标签: 同花顺公式编写 、 同花顺指标公式 、 同花顺公式 、 同花顺选股公式大全 、 同花顺公式大全 、 同花顺指标公式源码 、 同花顺指标公式大全 、 同花顺必涨选股公式 、 同花顺公式密码破解 、

 

 

同花顺公式编写基础

(已自带是最基本的,用于条件结合色彩逻辑判断表达式,即得到K线模式公式,用于描述特定的K线模式。公式的编辑在公式编辑器中完成。    
公式系统处理的原始数据的分析周期(即相邻两组数据间的时间间隔)可以从1分钟到1000天间的任意值,也可以是分笔成交数据,改变分析窗口显示的分析周期,则公式处理新的分析周期的数据。    

学习公式编写,使用的基本方法

基本捷径是从软件公式或他人公式入手,多看多动手边理解其写法,为什么调用这个函数,这个函数的意义是什么,这一句预要表达什么意思等等。不动手永远不可能学会的。从简单公式入手,先弄懂一,两个公式。从修改公式加入自己的目标语句实现自己目标入手,几乎没有一个公式是那一个人自己完成的,或多或少都使用了前人的成果。
在编写中多用“测试公式”按钮,让软件作判断,告诉你编写对错与否。
使用彩色编辑可事半功倍。
多用鼠标指针指向不懂的函数,软件马上会告诉你。

公式编写步骤 //本文来至程序化交易网 cxh99.com//

1.设定,就是一条指标线,语句间用分号(“;”)隔开。 一个语句由若干函数通过四则运算或逻辑运算而组成。函数是公式系统的基本成分,它是对数据做某种操作,如CLOSE()函数表示调用该分析周期的收盘价。//本文 来源:程序化交易网 //
函数由函数名称和参数组成,参数用函数名后的括号括起来,每个函数调用的参数可以是变量或常量,变量是一个随着时间变化而变化的数据,例如收盘价;常量是一个不随时间变化而变的数据。例如函数ref(X,N)用于引用N周期前的X值,X是一个变量,N是一个常量,ref(CLOSE(),1)表示计算上一周期的收盘价。函数若需调用几个参数,则它们在括号内是有顺序的。若没有参数则可以省去括号,例如CLOSE()函数没有参数,所以写成 CLOSE和 CLOSE()都可以。函数计算得到的结果是一个变量。  

计算符将函数连接成为语句。计算符分为算术计算符和逻辑计算符。算术计算符有+、-、*、/,分别是对计算符两边的数值进行加减乘除计算;逻辑计算符有>、<、<>、>=、<=、=、AND(与)、OR(或),分别是对计算符两边的数值做大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或的逻辑运算,如果逻辑条件成立返回的计算结果为1,否则为0。例如:2>1的逻辑运算结果等于1,1>2的逻辑运算结果就等于0。    语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号(“:”)将它与语句隔开。语句“上日收盘价:ref(CLOSE,1)”就表示该语句ref(CLOSE,1)的名称为“上日收盘价”。该语句后而的语句若需引用它,则写公式名即可,如MA(上日收盘价,20)意思是对上日收盘价求20日平均。  

设计中间语句: 
  
 一个语句将显示一条显示的是K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,当返回非0时表示需要进行相应的操作。其他的语句都应设定为中间语句。    条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSE>ref(CLOSE,1)语句,表示选出当期收盘价高于上日收盘价的股票。其他的语句必须设定为中间语句,否则编辑器出现“只能有一个输出结果”的警示。    交易系统公式需要逻辑表达式语句,分别为买入(在语句后加buy)、卖出条件(在语句后加sell),当这些语句返回非0时,表示需要进行相应的操作。其他的语句必须设定为中间语句,否则编辑器出现“非交易信号变量只能用:=赋值”的警示。条件中必须至少设定一个条件。 //本文来至程序化交易网 cxh99.com//

函数可以用简写,如收盘价开盘价分别用C,O来表示,在编写中往往可以自动变成大写字母,可以以此判断。函数名编写正确时字母变为大写。编写中要用彩色编辑,这样可以指示出软件对于此函数是否认可--应变成彩色。//本文 来源:程序化交易网 //

公式编写完测试公式通过后,还需进行曲线属性的设置,在“曲线属性”:如显示曲线的位置是主图,副图,成交量图等,还可以设置是否显示曲线参数或只显示参数而不显示曲线,选择显示的图标,提供象箭头,圆,凌形(buy红色向上箭头,buy1黄色箭头,1空心三角形,2空心圆,4空心菱形,5星花...),曲线颜色等...最后再测试通过,确定退出编辑。


未来函数
公式系统对数据的运算是基于一系列函数,函数必须满足时间不变性,即时间靠后的数据不对时间靠前的结果产生影响(判断是否未来函数的依据)。这个很重要!对于未来函数可以理解为:某一量依赖另一量,如量A和量B,B变化使A改变,那么A是B的函数,如果B是稍后的量,A是稍早的量,A跟着B变,A是B的未来函数。未来函数是有时间周期的,在一个短的周期内可能是未来函数,但在稍长的周期内就不是未来函数,比如"HIGH"(最高价),在一天收市前都是不确定的.如在交易没有结束时我们可以看到某一个指标,如“卖出”跟着股价的高低一会出现,一会消失(这个现象很容易观察到)。所以对于一个日周期的指标在分时周期具有“未来函数”特征。但一旦收盘该指标是定值,不应随明日及以后的价而变,所以该指标在日周期中不是未来函数。
被人们普遍认为是未来函数的是比较长时间才被确认的ZIG函数,比如把参数设置为ZIG(3,5),就要等下一个ZIG(3,5)成立时才能被确认,就是说你把周期设置得越长,被确认的时间就越长(比如ZIG(3,30)),如果把它设置的很短(比如ZIG(3,1)),那就跟"HIGH"差不多了.
有未来函数的公式对历史模拟的相当准确,对号称100%的.99%准确的公式要小心。 //内容来至程序化交易网 CXH99.COM//
未来函数有:
ZIG
PEAK
PEAKBARS
TROUGH
TROUGHBARS
所以任何函数都具有未来函数特性,也没什么可怕。第一不要依据公式入市,第二还是不要依据公式入市!不要迷信公式。
公式只能给你一个信号,最终判断取舍要靠人。

关于未来函数的典型例子

有这么多人对一个叫鬼谷神算公式推崇,甚至将它说成'极品‘。我感到吃惊。应该把此公式的本质性的东西反映出来才是;该公式使用了未来函数,因而有“很高” 的准确率,因为它是马后炮所以100%准。这是需要大家十分注意的。

我不反对使用未来函数,但要充分认识其特有的“欺骗性”--已经出现的“结果"因后面的数据的改变而改变。

在此,我要说的是本来是一个及其简单的公式,故意弄成很复杂,高深,写了那么多行毫无相干的东西。是忽悠人的。我给“简化”了一下,只剩下6行。希望大家知道这样的公式人人可写。

这样的公式恐怕是别有用心之人忽悠卖钱的。//本文 来源:程序化交易网 // //文章来至程序化交易网 cxh99.com//

改成下面的公式,而且完全显示买卖两个信号。其核心是Z字转向于其他没关系。Z字转向即为未来函数
而ZIG函数的定义为,当前收盘价超过上次ZIG转向输出值的N%,则输出当前收盘价并ZIG转向。对该公式为50/5=10,即当价格变化量超过10%时转向。

对于下面的公式:
第一行,ZIG函数,它输出的是就是价格,为了欺骗乘以100;
第二行,是第一行的2日平均;
第三行,第四行是第一行,第二行的金叉,死叉;
而买卖信号的出现就是在于金叉,死叉。
请大家试试看。

简化的公式:
B:ZIG(3,50/5)*100,colorwhite;
G:MA(B,2),coloryelLOW;
D:=CROSS(B,G)*1000,colorred;
W:=CROSS(G,B)*1000,colorblue;
DRAWTEXT(W=1000,B*1.05,'卖' ),colorgreen;
DRAWTEXT(D=1000,B*1.05,'买'),colorred; //文章来至程序化交易网 cxh99.com//


原公式
公式名称:鬼谷神算
VAR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-ref(CLOSE,1))),ABS(LOW-ref(CLOSE,1))),25);
VAR2:=HIGH-ref(HIGH,1);
VAR3:=ref(LOW,1)-LOW;
VAR4:=SUM(IF(VAR2>0 AND VAR2>VAR3,VAR2,0),25);
VAR5:=SUM(IF(VAR3>0 AND VAR3>VAR2,VAR3,0),25);
VAR6:=VAR4*100/VAR1;
VAR7:=VAR5*100/VAR1;
VAR8:=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15);
VAR9:=(VAR8+ref(VAR8,15))/2;
A:=(VAR7>VAR6 AND VAR7>25 AND VAR6<25);
B:ZIG(3,50/5)*100,COLORWHITE;
G:MA(B,2),COLORYELLOW;
D:=CROSS(B,G)*1000,COLORRED;
W:=CROSS(G,B)*1000,COLORBLUE;
E:=ref(INDEXC,1);
F:=SMA(MAX(INDEXC-E,0),3,1)/SMA(ABS(INDEXC-E),3,1);
VAR10:=F AND F<8;//本文 来源:程序化交易网 //
VAR11:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
VAR12:=SMA(VAR11,3,1);
VAR13:=SMA(VAR12,3,1);
VAR14:=VAR13 AND VAR13<20;
MM:=A AND D AND VAR10 AND VAR14 ;
DRAWTEXT(W=1000,B*1.05,'卖' ),COLORGREEN;
DRAWTEXT(D=1000,B*1.05,'买'),COLORRED;

由简单的公式编写开始 //文章来至程序化交易网 cxh99.com//

   这里举一些最简单的例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
收盘价线    CLOSE 均线的画法  计算N日内收盘价的算术平均值,公式为:MA(X,N)表示X的N日平均。   
例如: MA1: MA (CLOSE,5) , coloryelLOW ; 表示为: 参数名 画一条5日收盘价的均线 设置该线为黄色 
MA2:MA(C,20),color0000ff(20日收盘价均线,颜色为红色)
MA3:MA(c,250),color00ff00(年线,绿色)
均线:MA(c,N);(周期N可设置最大,最小,缺省) //文章来至程序化交易网 cxh99.com//

 换手率  换手率指当期的成交量占流通股本的比例。 
 公式: hs:VOL/CAPITAL; VOL为当期成交量,CAPITAL为流通股本。 //本文来至程序化交易网 cxh99.com//

乖离率 当前股价与均线的偏差的程度
gl:(c-MA(c,20))/MA(c,20)*100; //本文来至程序化交易网 cxh99.com//

量比 当期成交量与5日均量的比
lb:vol/MA(vol,5);


涨幅  涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价*100%,  
昨日收盘价的公式为:ref(CLOSE,1),
涨幅的公式:    (CLOSE-ref(CLOSE,1))/ref(CLOSE,1)

  创新高  创新高指当日最高价是最近一段时间的最高价:    HIGH=HHV(HIGH,N)   其中的HIGH为当期最高价,HHV(X,N)是求N周期内X最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。  //文章来至程序化交易网 cxh99.com//


  横盘整理  横盘整理指最近一段时期价格在一定幅度之内摆动:    (HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05   其中的LLV(X,N)是求N周期内X最低值。因此该公式表示10日收盘价振幅振幅在5%以内。//本文 来源:程序化交易网 //

 放量、缩量(成交量函数为VOL)
A、放量
a.今天成交量较昨天增加了1倍,表示如下:   VOL/ref(VOL,1)>2 b.今天成交量较10个交易日平均成交量放大了1倍,表示如下:
a:=MA(vol,10); Vol/a>2 或者直接用如下公式表示: vol/MA(vol,10)>2;
c.今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:   a:=MA(vol,10); b:=MA(vol,5); b/a>2;
d.今日的成交量超过了整个流通盘的5%,表示如下:   vol/CAPITAL>0.05;其中CAPITAL代表流通盘。

B、缩量 
a.今日成交量较昨日减少了一半,表示如下: vol/ref(vol,1)<0.5;
b.今日成交量较10个交易日平均成交量减少一倍,表示如下:   a:=MA(vol,10); vol/a<2; 或者直接用如下公式表示:   vol/MA(vol,10)<2;
c.今日的5日均量较10个交易日平均成交量减少1倍,表示如下: a:=MA(vol,10); b:=ref(a,5); a/b<2;
d.今日的成交量低于了整个流通盘的5%,表示如下: vol/CAPITAL<0.05; //文章来至程序化交易网 cxh99.com//

上涨、下跌

上涨 今天的涨幅达到5%以上,表示如下: CLOSE>ref(CLOSE,1)>1.05;
5日均价连续上涨,表示如下: a:=MA(CLOSE,5); b:=ref(a,1);

下跌 今天的跌幅达到5%以上,表示如下: CLOSE/ref(CLOSE,1)<0.95;
5日均价连续下跌,表示如下: a:=MA(CLOSE,5); b:=ref(a,1); a< b;

描述K线 阳线 CLOSE>open; 阴线 CLOSE< open; 高开 open>ref(CLOSE,1); 低开 open< ref(CLOSE,1); 跳空高开(HIGH为最高价) open>ref(HIGH,1); 跳空低开(LOW为最低价) open< ref(LOW,1);//本文 来源:程序化交易网 //

引用大盘数据 //文章来至程序化交易网 cxh99.com//

INDEXDATA(“N”,&X,K) INDEXDATA 求某商品相关的数据
例:INDEXDATA("1a0001",&HIGH),n)沪指N周期最高值 //内容来至程序化交易网 CXH99.COM//

个股于大盘的比较
CLOSE/INDEXDATA("1A0001",&CLOSE)*1000 只于沪指比较

股价在N日线附近--这可是反映股价调整幅度的好公式(选股)
a:=MA(C,N); 选股时输入20,30,60可选不同均线附近的股,
ABS(C-a)/C<=0.02; 在某均线的2/100附近的股票。也可根据需要改百分比。

只显示数值不显示曲线 在曲线属性-输出线形的勾去掉,在公式语句使用输出符出“:”
趋势【天】:BARSLAST(MA(C,250)<ref(MA(C,250),1)),colorwhite 年线由下跌拐头向上的天数,不显示曲线。

 

//文章来至程序化交易网 cxh99.com//

 

(责任编辑:程序化交易网整理)

 

 

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容