macd跨周期怎么做? [开拓者 TB]
- 咨询内容:
需要30分钟和日线的MACD数据
http://bbs.tb18.net/forum.php?mo ... ge%3D1&tid=2433
刚刚用的这个函数,这个时间周期是能用30分钟的
MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );
AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
MACDDiff30 = MACDValue30 - AvgMACD30;
但是我在日线上想调用30分钟的macd数据,数值全为0
如果想在30分钟上调用日线的MACD数据,也读取不了。
具体点我是需要日线的DIFF数据,即之前是金叉还是死叉,以此来做为30分钟的一个过滤,每次在30分钟K线上开多仓都会先以上一个日线的MACDDIFF是否>0为条件。
本来想用30分钟的第N个收盘价来取得日线的收盘价从而得出日线的XAverage,但是有些时候因为放假原因并不是每天转换成30分钟的K线数量是一定的,并且在中间取值的时候中间都是连续值,即昨日的日线收盘价会一直延续到今天收盘,这样最后显示出来的macd两条线应该也会像阶梯一样并不是原滑的,最后结果是否一样也不清楚
求大神啊 - TB技术人员:
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
string strkey;
string strValue;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
strKey = DateToString(Date);
strValue = Text(MACDDiff); SetTBProfileString("DayMACD",strKey,strValue);
PlotNumeric("MACDDiff",MACDDiff);
End
日线公式
Vars
NumericSeries DayMACDValue;
StringSeries strKey;
string strValue;
Begin
If(Date!=Date[1])
{
strKey = DateToString(Date[1]);
}Else
{
strKey = strKey[1];
}
strValue = GetTBProfileString("DayMACD",strKey);
If(strValue != InvalidString)
{
DayMACDValue = Value(strValue);
}Else
{
DayMACDValue = DayMACDValue[1];
}
END
30分钟图上输出日线的MACDDIFF
半天没人回答,找到学习文档了,先暂时套用后自问自答下 - TB客服: http://bbs.tb18.net/thread-15184-1-1.html 看看这个牛人的帖子,里边有MACD的跨周期引用
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容