以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  macd指标编写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=164521)

--  作者:253996689
--  发布时间:2018/7/23 8:50:52
--  macd指标编写
能否用Macd的价格表示来编一个交易系统!不是用Macd均线表示来编。
--  作者:FireScript
--  发布时间:2018/7/23 8:56:27
--  
 你这个需求不是很明确,你需要详细描述你的交易思路,否则无法帮你实现。
另外你可以参考下系统自带的macd交易指标。

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

[此贴子已经被作者于2018/7/23 8:57:29编辑过]

--  作者:253996689
--  发布时间:2018/7/23 11:38:31
--  我发给你看一下,这个思路
 
大家可以看到这个像什么?MACD是不是,有点像MACD那我们就认为是MACD。那么我在下面这里画了一条线,这条线比较粗,是绿色的,在上面画的一条红线,这条线,是红线和绿线,这样看的话,你是根本不知道它是怎么组成的,或者怎么写出来的,那我们来看一下源码,源码很简单,第一行数字就是设定了一个参数,在编写的过程中,一定是要有参数的,其实这个程序只有一行代码,就是这条多分线,我把它定义成多分线,它的运算方式是什么呢?运算方式是50减100乘以前期最高,这个是什么前期最高?是35天的前期最高,再减去它当前的一个收盘价,除以最高价前35天的最高减去前35天的最低,那它就会得出一条多空线,这条多空线我用柱状图把它画出来,那它出来就是这个。就是这个很像MACD,那这个思路是怎么走来的?就是我在想MACD,如果用MACD容易出现一个问题,我们都知道MACD是由均线组成的,那么均线的话容易出现一个问题,MACD经常出现背离,像这种行情,上涨的行情中,它反而是跌的,原因在于它这一段短期均线上穿长期均线,所以它就会反而是这样走的。那我认为这就容易出现一个捕捉不到该有的行情,那我们就给它用了一个用价格来画一条类似MACD。这是我们的第一个步骤。接下来我们在这做了一个极值,极值就是上面这条线和下面这条线,做多线和做空线永远就是45,因为它的这条多空线,它永远是在最高值是在50,最低值是就是负50。那我做多线就是45,做空线就是负45,我们先不评论这个指标好坏,我们再继续。接下来我们开始构建开平仓,构建开平仓很简单,当我们的收盘价收完以后,这个做多线在45以上,我们就开多,在负45以下,就平多,翻空,就这么简单。那我们看一下,现在信号出来了。接下来在我们再做一件事情就是检查,就核对信号是不是我想象的,做多的那我们来看一下,这个刚好,可以看到这个是做空线,就是开空,是不是,这最下面的多空线是48,负48那就是小于负45了,那我就应该开空,之后这边的话大于45,那我们就开多,如果真的是在写模型过程中我们是要从有效数据中开始一个一个的去检查。我通常是写完以后就开始,这样子开始推,一直推,推到哪里?这里,好像有一个小于极值的,那这里有没有出一个信号,没有的话,那就有问题了。那接下来我们再看一下,这里面实现的源码的全过程。首先我们还是一样的设定参数,为什么要设定参数,是因为我们在编写的过程中最终还要有一个优化的过程,就是还要让计算机把所有的参数去跑一遍,看看出现什么情况,那我写程序的过程中,通常我会先在前面加中文,这个就是注释,参数模块,这个板块。接下来看一下中间的变量,中间的变量其实就是一条语句,就是多空线,还有45的话就是一个极值,就这条多空线最重要,就这一条,完了以后我们遵循的就是计算机运算方式就是先平仓后开仓的原则。先平后开,开始写平仓语句,平多,如果有多单,会多空线小于作多线,那么我就开始如果有多单我就平掉,我用什么平呢?我用C平,那代表是没有未来函数的,那同样的,平空也是一样的,开多如果当前是空仓,那我就达到这个条件,那我就开一手,做空也是一样的道理

--  作者:253996689
--  发布时间:2018/7/23 11:54:37
--  老师你好
 渔樵问答 2018/07/21 23:27:25
大家可以看到这个像什么?MACD是不是,有点像MACD那我们就认为是MACD。那么我在下面这里画了一条线,这条线比较粗,是绿色的,在上面画的一条红线,这条线,是红线和绿线,这样看的话,你是根本不知道它是怎么组成的,或者怎么写出来的,那我们来看一下源码,源码很简单,第一行数字就是设定了一个参数,在编写的过程中,一定是要有参数的,其实这个程序只有一行代码,就是这条多分线,我把它定义成多分线,它的运算方式是什么呢?运算方式是50减100乘以前期最高,这个是什么前期最高?是35天的前期最高,再减去它当前的一个收盘价,除以最高价前35天的最高减去前35天的最低,那它就会得出一条多空线,这条多空线我用柱状图把它画出来,那它出来就是这个。就是这个很像MACD,那这个思路是怎么走来的?就是我在想MACD,如果用MACD容易出现一个问题,我们都知道MACD是由均线组成的,那么均线的话容易出现一个问题,MACD经常出现背离,像这种行情,上涨的行情中,它反而是跌的,原因在于它这一段短期均线上穿长期均线,所以它就会反而是这样走的。那我认为这就容易出现一个捕捉不到该有的行情,那我们就给它用了一个用价格来画一条类似MACD。这是我们的第一个步骤。接下来我们在这做了一个极值,极值就是上面这条线和下面这条线,做多线和做空线永远就是45,因为它的这条多空线,它永远是在最高值是在50,最低值是就是负50。那我做多线就是45,做空线就是负45,我们先不评论这个指标好坏,我们再继续。接下来我们开始构建开平仓,构建开平仓很简单,当我们的收盘价收完以后,这个做多线在45以上,我们就开多,在负45以下,就平多,翻空,就这么简单。那我们看一下,现在信号出来了。接下来在我们再做一件事情就是检查,就核对信号是不是我想象的,做多的那我们来看一下,这个刚好,可以看到这个是做空线,就是开空,是不是,这最下面的多空线是48,负48那就是小于负45了,那我就应该开空,之后这边的话大于45,那我们就开多,如果真的是在写模型过程中我们是要从有效数据中开始一个一个的去检查。我通常是写完以后就开始,这样子开始推,一直推,推到哪里?这里,好像有一个小于极值的,那这里有没有出一个信号,没有的话,那就有问题了。那接下来我们再看一下,这里面实现的源码的全过程。首先我们还是一样的设定参数,为什么要设定参数,是因为我们在编写的过程中最终还要有一个优化的过程,就是还要让计算机把所有的参数去跑一遍,看看出现什么情况,那我写程序的过程中,通常我会先在前面加中文,这个就是注释,参数模块,这个板块。接下来看一下中间的变量,中间的变量其实就是一条语句,就是多空线,还有45的话就是一个极值,就这条多空线最重要,就这一条,完了以后我们遵循的就是计算机运算方式就是先平仓后开仓的原则。先平后开,开始写平仓语句,平多,如果有多单,会多空线小于作多线,那么我就开始如果有多单我就平掉,我用什么平呢?我用C平,那代表是没有未来函数的,那同样的,平空也是一样的,开多如果当前是空仓,那我就达到这个条件,那我就开一手,做空也是一样的道理

--  作者:253996689
--  发布时间:2018/7/23 11:55:10
--  
 渔樵问答 2018/07/21 23:27:25
大家可以看到这个像什么?MACD是不是,有点像MACD那我们就认为是MACD。那么我在下面这里画了一条线,这条线比较粗,是绿色的,在上面画的一条红线,这条线,是红线和绿线,这样看的话,你是根本不知道它是怎么组成的,或者怎么写出来的,那我们来看一下源码,源码很简单,第一行数字就是设定了一个参数,在编写的过程中,一定是要有参数的,其实这个程序只有一行代码,就是这条多分线,我把它定义成多分线,它的运算方式是什么呢?运算方式是50减100乘以前期最高,这个是什么前期最高?是35天的前期最高,再减去它当前的一个收盘价,除以最高价前35天的最高减去前35天的最低,那它就会得出一条多空线,这条多空线我用柱状图把它画出来,那它出来就是这个。就是这个很像MACD,那这个思路是怎么走来的?就是我在想MACD,如果用MACD容易出现一个问题,我们都知道MACD是由均线组成的,那么均线的话容易出现一个问题,MACD经常出现背离,像这种行情,上涨的行情中,它反而是跌的,原因在于它这一段短期均线上穿长期均线,所以它就会反而是这样走的。那我认为这就容易出现一个捕捉不到该有的行情,那我们就给它用了一个用价格来画一条类似MACD。这是我们的第一个步骤。接下来我们在这做了一个极值,极值就是上面这条线和下面这条线,做多线和做空线永远就是45,因为它的这条多空线,它永远是在最高值是在50,最低值是就是负50。那我做多线就是45,做空线就是负45,我们先不评论这个指标好坏,我们再继续。接下来我们开始构建开平仓,构建开平仓很简单,当我们的收盘价收完以后,这个做多线在45以上,我们就开多,在负45以下,就平多,翻空,就这么简单。那我们看一下,现在信号出来了。接下来在我们再做一件事情就是检查,就核对信号是不是我想象的,做多的那我们来看一下,这个刚好,可以看到这个是做空线,就是开空,是不是,这最下面的多空线是48,负48那就是小于负45了,那我就应该开空,之后这边的话大于45,那我们就开多,如果真的是在写模型过程中我们是要从有效数据中开始一个一个的去检查。我通常是写完以后就开始,这样子开始推,一直推,推到哪里?这里,好像有一个小于极值的,那这里有没有出一个信号,没有的话,那就有问题了。那接下来我们再看一下,这里面实现的源码的全过程。首先我们还是一样的设定参数,为什么要设定参数,是因为我们在编写的过程中最终还要有一个优化的过程,就是还要让计算机把所有的参数去跑一遍,看看出现什么情况,那我写程序的过程中,通常我会先在前面加中文,这个就是注释,参数模块,这个板块。接下来看一下中间的变量,中间的变量其实就是一条语句,就是多空线,还有45的话就是一个极值,就这条多空线最重要,就这一条,完了以后我们遵循的就是计算机运算方式就是先平仓后开仓的原则。先平后开,开始写平仓语句,平多,如果有多单,会多空线小于作多线,那么我就开始如果有多单我就平掉,我用什么平呢?我用C平,那代表是没有未来函数的,那同样的,平空也是一样的,开多如果当前是空仓,那我就达到这个条件,那我就开一手,做空也是一样的道理

--  作者:253996689
--  发布时间:2018/7/23 11:56:02
--  老师你好!
老师,发不上内容,可不可以加上你QQ,我的QQ是253996689
--  作者:FireScript
--  发布时间:2018/7/23 14:10:23
--  
 技术人员只能帮助用户将清晰的思路尝试转换成代码,但是前提是用户需要自行整理好交易策略的思路。 另外传图请用IE浏览器。

--  作者:253996689
--  发布时间:2018/7/23 16:26:48
--  
这个思路弄不了吗?
--  作者:FireScript
--  发布时间:2018/7/23 17:24:21
--  
 能不能实现暂时无法判断,但是策略思路需要你自己先整理清晰。你发的那段我们没有精力去额外整理。