发表于:2009-12-21 05:07只看该作者
2楼
代码全贴出来 带附图
韬客社区www.talkfx.co
3楼
就是一个趋势线,也没有,我估计结果如图这样,因为我也没写出来,我看汉字就是一条线未命名.JPG
韬客社区www.talkfx.co
4楼
我这里没有代码,就写这么个趋势线,图的形态如上边发的,
因为我写没出来,具体情况我也不知,
Var1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1);=>Var1[i+1]=(LOW[i+0]+OPEN[i+0]+CLOSE[i+0]+HIGH[i+0])/4
Var2:=SMA(ABS(LOW-Var1),13,1)/SMA(MAX(LOW-Var1,0),10,1);=>这一个不会写
第一行每个价格上都加上[i+0]吧,单写i贴上不显示
还有一个问题,我想让指标上写几行字,用哪个命令写在靠右边.,例如:写三行字,
[ 本帖最后由 enwency 于 2009-12-22 09:22 编辑 ]
发表于:2009-12-22 02:22只看该作者
5楼
不是MQ语言 看不懂 你也没计算公式
只给个参考 跟你要求的不一样
//+------------------------------------------------------------------+
//| |
//| Copyright ?2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_width1 1
//---- indicator parameters
extern int DataPeriod=PERIOD_H1;
extern int SignalSMA=9;
//---- indicator buffers
double Buffer;
double SignalBuffer;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,SignalSMA);
//---- indicator buffers mapping
SetIndexBuffer(0,Buffer);
SetIndexBuffer(1,SignalBuffer);
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i
韬客社区www.talkfx.co
6楼
Var1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1);变量Var1取,前一天的最低价,最高价,开盘价,收盘价的和,再除以4;
limit=Bars-count_bars;
for(int t=0;t0的 10周期的 1加权的平均值,
这个我不知怎么写啦?
你看这样说能清楚些吗
[ 本帖最后由 enwency 于 2009-12-22 12:34 编辑 ]
韬客社区www.talkfx.co
7楼
再帮我看一下,这样能清楚些吗
韬客社区www.talkfx.co
8楼
高手呢
韬客社区www.talkfx.co
9楼
我再研究吧,结贴啦
韬客社区www.talkfx.co
发表于:2009-12-25 10:41只看该作者
10楼
这次是按你所说的
不过还是跟你发的图不一样 是不是 那有问题 你看看
//+------------------------------------------------------------------+
//| |
//| Copyright ?2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_width1 1
//---- indicator parameters
extern int DataPeriod=PERIOD_H1;
extern int SignalSMA1=10;
extern int SignalSMA=13;
//---- indicator buffers
double ABuffer1;
double SignalBuffer;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- drawing settings
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,SignalSMA);
//---- indicator buffers mapping
SetIndexBuffer(0,ABuffer1);
SetIndexBuffer(1,SignalBuffer);
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i
韬客社区www.talkfx.co
11楼
我也想想看怎么写好,第一条是取四个值的和,你有一个取差值了,
Var1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1);
应是
for(int i=1; i
韬客社区www.talkfx.co
发表于:2010-01-06 08:48只看该作者
12楼
这样也行 不过你这的到的是 对应周期的数值 也就是图表1H 的到的数据就是1H
ABuffer1= (Close[i+1]+High[i+1]+Low[i+1]+Open[i+1])/4;
在1H图里 的到是的1H K线收盘 +1H最高 +1H最低+1H开盘
在1D图里 的到的是1D K线收盘+1D最高+1D最低 +1D收盘
另外 LOW-Var1 取绝对值 就是 ABuffer1 不是我取差值了
for(int i=0; i
韬客社区www.talkfx.co
发表于:2010-01-06 08:50只看该作者
13楼
505068266 ------
韬客社区www.talkfx.co
发表于:2010-01-25 09:35只看该作者
14楼
应该要加上时间,不能直接相加的
韬客社区www.talkfx.co