编码帮助 - 页 73 1...666768697071727374757677787980...786 新评论 [删除] 2013.03.14 13:07 #721 你好。 我希望有人能帮助我,让一个指标做我想做的事。 我有一个指标,可以显示主体的长度/或蜡烛的总长度,加上蜡烛柱的时间。 唯一的问题是,它不适合5位数的经纪商;时间和长度是相互投射 的,而在4位数中是完美的。 如果有人能够并且愿意修改代码,那就太好了。 谢谢。 请注意。 本 SailaOmen 2013.03.15 12:04 #722 缺少一些简单的东西 我一直在为一个MA交叉EA做一个TL过滤器,任何MA交叉EA都可以,但在附件中研究了一下,因为它是一个简单的。 基本上,TL计算器给出的信号是1、2或3,取决于TL方向和价格交叉,如果TL的斜度不够大,则会出现令人讨厌的 "零除法"。 我正在学习编码,并阅读了所有Coders'Guru的PDF文件和MQL4论坛中我的大脑所能接受的内容,但由于我学得很慢,直到3周前才开始编码....。 希望得到一些指导.... 问题:我不知道如何调出 "TLfilter "这个值,即当价格没有触及TL 时,它就可以进行买入。 我曾试图把它粘在买入/卖出标准中,如&TTLfilter = 3!,以及任何其他我能想到的方法,但我得到的是完全没有交易。 我还试图把它放到订单选择循环中,但没有成功。 我只是想找点线索,比如我错过了什么。 如果有人有兴趣看一下。 在连接EA之前,在图表上画一个TL,并将其命名为t6 取消TL部分底部的//--- Print ("TLfilter = ",TLfilter); return(TLfilter);以查看它在做什么。 本EA的修改由双行标记======= 1 2和3 编辑:我的编码不在这里面,因为我想确保它尽可能的干净 x_trader_v2_tlmod.mq4 附加的文件: x_trader_v2_tlmod.mq4 7 kb pearl1 2013.03.26 14:15 #723 多指标 你好! 有人使用/拥有这样的多指标吗? 多重移动平均线 - MQL4代码基础 如果你看到下面,它看起来像 "自由栏 "指标...所以...我想改变这个输入指标,不想使用4ema....。我想要1ema(2个交叉点)、CCI、STOCH和SAR。 我找到了一些多重指标,但它们没有像这样的历史记录 谁能帮帮我,改改代码? William Snyder 2013.03.26 17:02 #724 你好,Pearl1。 从我所看到的情况来看,它可以做到,你只需要输入调用,用你想使用的指标和信号条件替换其他3条移动平均线。 pearl1 2013.03.27 08:57 #725 我在尝试一些东西,但没有进展 Mladen Rakic 2013.03.27 09:06 #726 你为什么不把你到目前为止的编码公布出来,并解释你想做什么。这样的话,有人可以帮助你 pearl1: 我正在尝试一些东西,但没有进展 pearl1 2013.03.27 10:16 #727 int start() { //---- int Counted.Bars = IndicatorCounted(), i; if(Counted.Bars<0) return(-1); 如果(Counted.Bars>0) Counted.Bars--。 int Limit = Bars - Counted.Bars; color Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4; //---- for(i=Limit; i>=0; i--) { MA0.Buffer.0 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, i); 我在这里吸....,他总是与这个MA0.Buffer.0....所以,如果我使用RSI,Stoch,...必须为所有元素创建这个缓冲区? RSI0.Buffer.0用于RSI? //---- MA1.Buffer.0 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i)。 MA1.Buffer.1 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i+1); MA2.Buffer.0 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i); MA2.Buffer.1 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i+1); MA3.Buffer.0 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i); MA3.Buffer.1 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i+1); MA4.Buffer.0 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i); MA4.Buffer.1 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i+1); MA1.UP.Buffer =EMPTY_VALUE; MA1.DN.Buffer = EMPTY_VALUE; if(MA1.Buffer.0 < MA1.Buffer.1) MA1.DN.Buffer = Gap * P1.Position + 1.0; else MA1.UP.Buffer = Gap * P1.Position + 1.0; 如果(MA1.Buffer.0 < MA0.Buffer.0) Text.Color.1 = Text.Color.Up; else Text.Color.1 = Text.Color.Down; //---- MA2.UP.Buffer = EMPTY_VALUE; MA2.DN.Buffer = EMPTY_VALUE; if(MA2.Buffer.0 < MA2.Buffer.1) MA2.DN.Buffer = Gap * P2.Position + 1.0; else MA2.UP.Buffer = Gap * P2.Position + 1.0; 如果(MA2.Buffer.0 < MA0.Buffer.0) Text.Color.2 = Text.Color.Up; else Text.Color.2 = Text.Color.Down; //---- MA3.UP.Buffer = EMPTY_VALUE; MA3.DN.Buffer = EMPTY_VALUE; if(MA3.Buffer.0 < MA3.Buffer.1) MA3.DN.Buffer = Gap * P3.Position + 1.0; else MA3.UP.Buffer = Gap * P3.Position + 1.0; 如果(MA3.Buffer.0 < MA0.Buffer.0) Text.Color.3 = Text.Color.Up; else Text.Color.3 = Text.Color.Down; //---- MA4.UP.Buffer = EMPTY_VALUE; MA4.DN.Buffer = EMPTY_VALUE; if(MA4.Buffer.0 < MA4.Buffer.1) MA4.DN.Buffer = Gap * P4.Position + 1.0; else MA4.UP.Buffer = Gap * P4.Position + 1.0; 如果(MA4.Buffer.0 < MA0.Buffer.0) Text.Color.4 = Text.Color.Up; else Text.Color.4 = Text.Color.Down; //---- //---- LabelSet(Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4)。 //---- } //---- return(0); Coding help EA Opening Too Many need help to create Mladen Rakic 2013.03.27 10:37 #728 你不需要为所有元素创建缓冲区。 MA1.Buffer.0, MA1.Buffer.1, .... 不是缓冲区而是简单的变量。你可以用它们来做任何事情,而不需要改变它们的名字。如果你想使用它,例如,用于rsi,你可以将代码改为这样的东西。 MA1.Buffer.0 = iRSI(NULL, 0, RSI1.Period, RSI1.Price, i); MA1.Buffer.1 = iRSI(NULL, 0, RSI1.Period, RSI1.Price, i+1); 不需要改变变量的名称,就可以工作(在这种情况下只需将RSI1.Period和RSI1.Price定义为外部参数 即可) pearl1: int start(){//----int Counted.Bars = IndicatorCounted(), i;if(Counted.Bars<0) return(-1);如果(Counted.Bars>0) Counted.Bars--。int Limit = Bars - Counted.Bars;color Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4;//----for(i=Limit; i>=0; i--){MA0.Buffer.0 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, i); 我在这里吸....,他总是与这个MA0.Buffer.0....所以,如果我使用RSI,Stoch,...必须为所有元素创建这个缓冲区?RSI0.Buffer.0用于RSI?//----MA1.Buffer.0 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i)。MA1.Buffer.1 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i+1);MA2.Buffer.0 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i);MA2.Buffer.1 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i+1);MA3.Buffer.0 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i);MA3.Buffer.1 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i+1);MA4.Buffer.0 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i);MA4.Buffer.1 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i+1);MA1.UP.Buffer = EMPTY_VALUE;MA1.DN.Buffer = EMPTY_VALUE;if(MA1.Buffer.0 < MA1.Buffer.1) MA1.DN.Buffer = Gap * P1.Position + 1.0;else MA1.UP.Buffer = Gap * P1.Position + 1.0;如果(MA1.Buffer.0 < MA0.Buffer.0) Text.Color.1 = Text.Color.Up;else Text.Color.1 = Text.Color.Down;//----MA2.UP.Buffer = EMPTY_VALUE;MA2.DN.Buffer = EMPTY_VALUE;if(MA2.Buffer.0 < MA2.Buffer.1) MA2.DN.Buffer = Gap * P2.Position + 1.0;else MA2.UP.Buffer = Gap * P2.Position + 1.0;如果(MA2.Buffer.0 < MA0.Buffer.0) Text.Color.2 = Text.Color.Up;else Text.Color.2 = Text.Color.Down;//----MA3.UP.Buffer = EMPTY_VALUE;MA3.DN.Buffer = EMPTY_VALUE;if(MA3.Buffer.0 < MA3.Buffer.1) MA3.DN.Buffer = Gap * P3.Position + 1.0;else MA3.UP.Buffer = Gap * P3.Position + 1.0;如果(MA3.Buffer.0 < MA0.Buffer.0) Text.Color.3 = Text.Color.Up;else Text.Color.3 = Text.Color.Down;//----MA4.UP.Buffer = EMPTY_VALUE;MA4.DN.Buffer = EMPTY_VALUE;if(MA4.Buffer.0 < MA4.Buffer.1) MA4.DN.Buffer = Gap * P4.Position + 1.0;else MA4.UP.Buffer = Gap * P4.Position + 1.0;如果(MA4.Buffer.0 < MA0.Buffer.0) Text.Color.4 = Text.Color.Up;else Text.Color.4 = Text.Color.Down;//----//----LabelSet(Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4)。//----}//---- return(0); pearl1 2013.03.27 11:08 #729 pearl1: int start(){ //---- int Counted.Bars = IndicatorCounted(), i; if(Counted.Bars<0) return(-1); 如果(Counted.Bars>0) Counted.Bars--。 int Limit = Bars - Counted.Bars; color Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4; //---- for(i=Limit; i>=0; i--) { MA0.Buffer.0 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, i)。 //---- MA1.Buffer.0 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i); MA1.Buffer.1 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i+1); MA2.Buffer.0 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i); MA2.Buffer.1 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i+1); MA3.Buffer.0 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i); MA3.Buffer.1 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i+1); MA4.Buffer.0 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i); MA4.Buffer.1 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i+1); MA1.UP.Buffer = EMPTY_VALUE; MA1.DN.Buffer = EMPTY_VALUE; if(MA1.Buffer.0 < MA1.Buffer.1) MA1.DN.Buffer = Gap * P1.Position + 1.0; else MA1.UP.Buffer = Gap * P1.Position + 1.0; 如果(MA1.Buffer.0 <MA0.Buffer.0) Text.Color.1 = Text.Color.Up; else Text.Color.1 = Text.Color.Down; //---- MA2.UP.Buffer = EMPTY_VALUE; MA2.DN.Buffer = EMPTY_VALUE; if(MA2.Buffer.0 < MA2.Buffer.1) MA2.DN.Buffer = Gap * P2.Position + 1.0; else MA2.UP.Buffer = Gap * P2.Position + 1.0; 如果(MA2.Buffer.0 <MA0.Buffer.0) Text.Color.2 = Text.Color.Up; else Text.Color.2 = Text.Color.Down; //---- MA3.UP.Buffer = EMPTY_VALUE; MA3.DN.Buffer = EMPTY_VALUE; if(MA3.Buffer.0 < MA3.Buffer.1) MA3.DN.Buffer = Gap * P3.Position + 1.0; else MA3.UP.Buffer = Gap * P3.Position + 1.0; 如果(MA3.Buffer.0 <MA0.Buffer.0) Text.Color.3 = Text.Color.Up; else Text.Color.3 = Text.Color.Down; //---- MA4.UP.Buffer = EMPTY_VALUE; MA4.DN.Buffer = EMPTY_VALUE; if(MA4.Buffer.0 < MA4.Buffer.1) MA4.DN.Buffer = Gap * P4.Position + 1.0; else MA4.UP.Buffer = Gap * P4.Position + 1.0; 如果(MA4.Buffer.0 <MA0.Buffer.0) Text.Color.4 = Text.Color.Up; else Text.Color.4 = Text.Color.Down; //---- //---- LabelSet(Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4)。 //---- } //---- return(0); 啊哈,谢谢,但是这个Buffers与MA0.Buffer.0相比,....? Mladen Rakic 2013.03.27 11:17 #730 只要把IMA()的调用替换成你想要的调用(比如我给你的例子中的iRSI()),它们就应该工作,不需要替换变量名。 pearl1: 啊哈,谢谢,但是这个Buffers与MA0.Buffer.0相比,....? 1...666768697071727374757677787980...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
我希望有人能帮助我,让一个指标做我想做的事。
我有一个指标,可以显示主体的长度/或蜡烛的总长度,加上蜡烛柱的时间。
唯一的问题是,它不适合5位数的经纪商;时间和长度是相互投射 的,而在4位数中是完美的。
如果有人能够并且愿意修改代码,那就太好了。
谢谢。
请注意。
本
缺少一些简单的东西
我一直在为一个MA交叉EA做一个TL过滤器,任何MA交叉EA都可以,但在附件中研究了一下,因为它是一个简单的。
基本上,TL计算器给出的信号是1、2或3,取决于TL方向和价格交叉,如果TL的斜度不够大,则会出现令人讨厌的 "零除法"。
我正在学习编码,并阅读了所有Coders'Guru的PDF文件和MQL4论坛中我的大脑所能接受的内容,但由于我学得很慢,直到3周前才开始编码....。
希望得到一些指导....
问题:我不知道如何调出 "TLfilter "这个值,即当价格没有触及TL 时,它就可以进行买入。
我曾试图把它粘在买入/卖出标准中,如&TTLfilter = 3!,以及任何其他我能想到的方法,但我得到的是完全没有交易。
我还试图把它放到订单选择循环中,但没有成功。
我只是想找点线索,比如我错过了什么。
如果有人有兴趣看一下。
在连接EA之前,在图表上画一个TL,并将其命名为t6
取消TL部分底部的//--- Print ("TLfilter = ",TLfilter); return(TLfilter);以查看它在做什么。
本EA的修改由双行标记======= 1 2和3
编辑:我的编码不在这里面,因为我想确保它尽可能的干净
x_trader_v2_tlmod.mq4
多指标
你好!
有人使用/拥有这样的多指标吗?
多重移动平均线 - MQL4代码基础
如果你看到下面,它看起来像 "自由栏 "指标...所以...我想改变这个输入指标,不想使用4ema....。我想要1ema(2个交叉点)、CCI、STOCH和SAR。
我找到了一些多重指标,但它们没有像这样的历史记录
谁能帮帮我,改改代码?
你好,Pearl1。
从我所看到的情况来看,它可以做到,你只需要输入调用,用你想使用的指标和信号条件替换其他3条移动平均线。
我在尝试一些东西,但没有进展![](https://c.mql5.com/forextsd/smiles/frown.png)
你为什么不把你到目前为止的编码公布出来,并解释你想做什么。这样的话,有人可以帮助你
我正在尝试一些东西,但没有进展
int start()
{
//----
int Counted.Bars = IndicatorCounted(), i;
if(Counted.Bars<0) return(-1);
如果(Counted.Bars>0) Counted.Bars--。
int Limit = Bars - Counted.Bars;
color Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4;
//----
for(i=Limit; i>=0; i--)
{
MA0.Buffer.0 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, i); 我在这里吸....,他总是与这个MA0.Buffer.0....所以,如果我使用RSI,Stoch,...必须为所有元素创建这个缓冲区? RSI0.Buffer.0用于RSI?
//----
MA1.Buffer.0 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i)。
MA1.Buffer.1 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i+1);
MA2.Buffer.0 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i);
MA2.Buffer.1 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i+1);
MA3.Buffer.0 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i);
MA3.Buffer.1 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i+1);
MA4.Buffer.0 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i);
MA4.Buffer.1 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i+1);
MA1.UP.Buffer =EMPTY_VALUE;
MA1.DN.Buffer = EMPTY_VALUE;
if(MA1.Buffer.0 < MA1.Buffer.1) MA1.DN.Buffer = Gap * P1.Position + 1.0;
else MA1.UP.Buffer = Gap * P1.Position + 1.0;
如果(MA1.Buffer.0 < MA0.Buffer.0) Text.Color.1 = Text.Color.Up;
else Text.Color.1 = Text.Color.Down;
//----
MA2.UP.Buffer = EMPTY_VALUE;
MA2.DN.Buffer = EMPTY_VALUE;
if(MA2.Buffer.0 < MA2.Buffer.1) MA2.DN.Buffer = Gap * P2.Position + 1.0;
else MA2.UP.Buffer = Gap * P2.Position + 1.0;
如果(MA2.Buffer.0 < MA0.Buffer.0) Text.Color.2 = Text.Color.Up;
else Text.Color.2 = Text.Color.Down;
//----
MA3.UP.Buffer = EMPTY_VALUE;
MA3.DN.Buffer = EMPTY_VALUE;
if(MA3.Buffer.0 < MA3.Buffer.1) MA3.DN.Buffer = Gap * P3.Position + 1.0;
else MA3.UP.Buffer = Gap * P3.Position + 1.0;
如果(MA3.Buffer.0 < MA0.Buffer.0) Text.Color.3 = Text.Color.Up;
else Text.Color.3 = Text.Color.Down;
//----
MA4.UP.Buffer = EMPTY_VALUE;
MA4.DN.Buffer = EMPTY_VALUE;
if(MA4.Buffer.0 < MA4.Buffer.1) MA4.DN.Buffer = Gap * P4.Position + 1.0;
else MA4.UP.Buffer = Gap * P4.Position + 1.0;
如果(MA4.Buffer.0 < MA0.Buffer.0) Text.Color.4 = Text.Color.Up;
else Text.Color.4 = Text.Color.Down;
//----
//----
LabelSet(Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4)。
//----
}
//----
return(0);
你不需要为所有元素创建缓冲区。
MA1.Buffer.0, MA1.Buffer.1, .... 不是缓冲区而是简单的变量。你可以用它们来做任何事情,而不需要改变它们的名字。如果你想使用它,例如,用于rsi,你可以将代码改为这样的东西。
不需要改变变量的名称,就可以工作(在这种情况下只需将RSI1.Period和RSI1.Price定义为外部参数 即可)
int start()
{
//----
int Counted.Bars = IndicatorCounted(), i;
if(Counted.Bars<0) return(-1);
如果(Counted.Bars>0) Counted.Bars--。
int Limit = Bars - Counted.Bars;
color Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4;
//----
for(i=Limit; i>=0; i--)
{
MA0.Buffer.0 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, i); 我在这里吸....,他总是与这个MA0.Buffer.0....所以,如果我使用RSI,Stoch,...必须为所有元素创建这个缓冲区?RSI0.Buffer.0用于RSI?
//----
MA1.Buffer.0 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i)。
MA1.Buffer.1 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i+1);
MA2.Buffer.0 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i);
MA2.Buffer.1 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i+1);
MA3.Buffer.0 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i);
MA3.Buffer.1 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i+1);
MA4.Buffer.0 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i);
MA4.Buffer.1 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i+1);
MA1.UP.Buffer = EMPTY_VALUE;
MA1.DN.Buffer = EMPTY_VALUE;
if(MA1.Buffer.0 < MA1.Buffer.1) MA1.DN.Buffer = Gap * P1.Position + 1.0;
else MA1.UP.Buffer = Gap * P1.Position + 1.0;
如果(MA1.Buffer.0 < MA0.Buffer.0) Text.Color.1 = Text.Color.Up;
else Text.Color.1 = Text.Color.Down;
//----
MA2.UP.Buffer = EMPTY_VALUE;
MA2.DN.Buffer = EMPTY_VALUE;
if(MA2.Buffer.0 < MA2.Buffer.1) MA2.DN.Buffer = Gap * P2.Position + 1.0;
else MA2.UP.Buffer = Gap * P2.Position + 1.0;
如果(MA2.Buffer.0 < MA0.Buffer.0) Text.Color.2 = Text.Color.Up;
else Text.Color.2 = Text.Color.Down;
//----
MA3.UP.Buffer = EMPTY_VALUE;
MA3.DN.Buffer = EMPTY_VALUE;
if(MA3.Buffer.0 < MA3.Buffer.1) MA3.DN.Buffer = Gap * P3.Position + 1.0;
else MA3.UP.Buffer = Gap * P3.Position + 1.0;
如果(MA3.Buffer.0 < MA0.Buffer.0) Text.Color.3 = Text.Color.Up;
else Text.Color.3 = Text.Color.Down;
//----
MA4.UP.Buffer = EMPTY_VALUE;
MA4.DN.Buffer = EMPTY_VALUE;
if(MA4.Buffer.0 < MA4.Buffer.1) MA4.DN.Buffer = Gap * P4.Position + 1.0;
else MA4.UP.Buffer = Gap * P4.Position + 1.0;
如果(MA4.Buffer.0 < MA0.Buffer.0) Text.Color.4 = Text.Color.Up;
else Text.Color.4 = Text.Color.Down;
//----
//----
LabelSet(Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4)。
//----
}
//----
return(0);int start()
{
//----
int Counted.Bars = IndicatorCounted(), i;
if(Counted.Bars<0) return(-1);
如果(Counted.Bars>0) Counted.Bars--。
int Limit = Bars - Counted.Bars;
color Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4;
//----
for(i=Limit; i>=0; i--)
{
MA0.Buffer.0 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, i)。
//----
MA1.Buffer.0 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i);
MA1.Buffer.1 = iMA(NULL, 0, MA1.Period, 0, MA1.Mode, MA1.Price, i+1);
MA2.Buffer.0 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i);
MA2.Buffer.1 = iMA(NULL, 0, MA2.Period, 0, MA2.Mode, MA2.Price, i+1);
MA3.Buffer.0 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i);
MA3.Buffer.1 = iMA(NULL, 0, MA3.Period, 0, MA3.Mode, MA3.Price, i+1);
MA4.Buffer.0 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i);
MA4.Buffer.1 = iMA(NULL, 0, MA4.Period, 0, MA4.Mode, MA4.Price, i+1);
MA1.UP.Buffer = EMPTY_VALUE;
MA1.DN.Buffer = EMPTY_VALUE;
if(MA1.Buffer.0 < MA1.Buffer.1) MA1.DN.Buffer = Gap * P1.Position + 1.0;
else MA1.UP.Buffer = Gap * P1.Position + 1.0;
如果(MA1.Buffer.0 <MA0.Buffer.0) Text.Color.1 = Text.Color.Up;
else Text.Color.1 = Text.Color.Down;
//----
MA2.UP.Buffer = EMPTY_VALUE;
MA2.DN.Buffer = EMPTY_VALUE;
if(MA2.Buffer.0 < MA2.Buffer.1) MA2.DN.Buffer = Gap * P2.Position + 1.0;
else MA2.UP.Buffer = Gap * P2.Position + 1.0;
如果(MA2.Buffer.0 <MA0.Buffer.0) Text.Color.2 = Text.Color.Up;
else Text.Color.2 = Text.Color.Down;
//----
MA3.UP.Buffer = EMPTY_VALUE;
MA3.DN.Buffer = EMPTY_VALUE;
if(MA3.Buffer.0 < MA3.Buffer.1) MA3.DN.Buffer = Gap * P3.Position + 1.0;
else MA3.UP.Buffer = Gap * P3.Position + 1.0;
如果(MA3.Buffer.0 <MA0.Buffer.0) Text.Color.3 = Text.Color.Up;
else Text.Color.3 = Text.Color.Down;
//----
MA4.UP.Buffer = EMPTY_VALUE;
MA4.DN.Buffer = EMPTY_VALUE;
if(MA4.Buffer.0 < MA4.Buffer.1) MA4.DN.Buffer = Gap * P4.Position + 1.0;
else MA4.UP.Buffer = Gap * P4.Position + 1.0;
如果(MA4.Buffer.0 <MA0.Buffer.0) Text.Color.4 = Text.Color.Up;
else Text.Color.4 = Text.Color.Down;
//----
//----
LabelSet(Text.Color.1, Text.Color.2, Text.Color.3, Text.Color.4)。
//----
}
//----
return(0);啊哈,谢谢,但是这个Buffers与MA0.Buffer.0相比,....?
只要把IMA()的调用替换成你想要的调用(比如我给你的例子中的iRSI()),它们就应该工作,不需要替换变量名。
啊哈,谢谢,但是这个Buffers与MA0.Buffer.0相比,....?