求帮忙编写(或修改)tsma函数 [MC]
-
MC用户求助:
input: pricevalue(numericseries),len(numericsimple);
variables:
var0( 0 ),
var1( 0 ),
var2( 0 ),
var3( 0 ),
var4( 1 / 6 ),
var5( 0 ),
LRSlope(0),
LRIntercept(0) ;
if len > 1 then
begin
var2 = len * ( len - 1 ) * .5 ;
var3 = len * ( len - 1 ) * ( 2 * len - 1 ) * var4 ;
var5 = Square( var2 ) - len * var3 ;
var0 = 0;
for Value1 = 0 to len - 1
begin
var0 = var0 + Value1 * pricevalue[Value1] ;
end ;
var1 = Summation( pricevalue, len ) ;
LRSlope = -( len * var0 - var2 * var1) / var5 ; //前面增加了一个负号
LRIntercept = ( var1 - LRSlope * var2 ) / len ;
TSMA_ = LRIntercept+LRSlope ;
end
else if len=1 then TSMA_=pricevalue
else
TSMA_ = -1 ;
以上是更改之后的代码,对此有以下几点说明:
一、更改之后,从文华和MC的图表上看,是完全一样的,但是这两个函数计算的值并不完全一致,有1个点左右的差异。
二、关于斜率的方向,这点MC和文华是不一样,斜率的方向并不是绝对的。
三、MC的代码是开放的,也就是您可以准确的看到MC函数的内部逻辑;而文华的函数是封闭的,它有一个函数的类似伪代码的说明,但内部是如何并不知道,而且文华并不能将函数的计算结果输出进行分析,所以我没有办法去文华函数的正确性。
四、文华和MC的数据也有一定的差异,5分钟数据螺纹1801,以收盘价为例,每一天都有一个值不相等,相差1到3个点;最高价、最低价、开盘价及tick数据并没有测试。
-
MC回复讨论一:
黑线为wh中绘制的
红线为mc中绘制的
-
MC回复讨论二:
input: pricevalue(numericseries),len(numericsimple);
variables:
var0( 0 ),
var1( 0 ),
var2( 0 ),
var3( 0 ),
var4( 1 / 6 ),
var5( 0 ),
LRSlope(0),
LRIntercept(0) ;
if len > 1 then
begin
var2 = len * ( len - 1 ) * .5 ;
var3 = len * ( len - 1 ) * ( 2 * len - 1 ) * var4 ;
var5 = Square( var2 ) - len * var3 ;
var0 = 0;
for Value1 = 0 to len - 1
begin
var0 = var0 + Value1 * pricevalue[Value1] ;
end ;
var1 = Summation( pricevalue, len ) ;
LRSlope = -( len * var0 - var2 * var1) / var5 ; //前面增加了一个负号
LRIntercept = ( var1 - LRSlope * var2 ) / len ;
TSMA_ = LRIntercept+LRSlope ;
end
else if len=1 then TSMA_=pricevalue
else
TSMA_ = -1 ;
以上是更改之后的代码,对此有以下几点说明:
一、更改之后,从文华和MC的图表上看,是完全一样的,但是这两个函数计算的值并不完全一致,有1个点左右的差异。
二、关于斜率的方向,这点MC和文华是不一样,斜率的方向并不是绝对的。
三、MC的代码是开放的,也就是您可以准确的看到MC函数的内部逻辑;而文华的函数是封闭的,它有一个函数的类似伪代码的说明,但内部是如何并不知道,而且文华并不能将函数的计算结果输出进行分析,所以我没有办法去文华函数的正确性。
四、文华和MC的数据也有一定的差异,5分钟数据螺纹1801,以收盘价为例,每一天都有一个值不相等,相差1到3个点;最高价、最低价、开盘价及tick数据并没有测试。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容