Этого индикатора есть некоторые проблемы при использованиии 4 значных котировок.在这一过程中,我们可以看到,在4个月的时间里,我们已经完成了对100个国家的调查,并对其进行了评估。签署协议后,我们将把我们自己的想法和建议传达给我们的客户,我们将把我们的想法和建议传达给客户。Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
Этого индикатора есть некоторые проблемы при использованиии 4 значных котировок.在这一过程中,我们可以看到,在4个月的时间里,我们已经完成了对100个国家的调查,并对其进行了评估。签署协议后,我们将把我们自己的想法和建议传达给我们的客户,我们将把我们的想法和建议传达给客户。Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
好吧,一般来说,我明白,如果突然我将mq4的这个指标,你能帮助我吗?
也许当你扭曲的翻译,我注意到了一定的侵略性,在后面的评论,或只是想=)。
如果突然,在我的要求nebylo也没有任何不良意图,只是通过阅读论坛指出,你mladen和mrtools -专业在他们的领域,这并决定与您联系。
我离开原来在俄罗斯 - 转移扭曲的情况下:К сожалению я не знаю кто автор, по этому обратился сюда, индикатор тоже нашел здесь в ветке о тма.
我想这是一个很好的例子,因为它是一个很好的例子,因为它是一个很好的例子,因为它是一个很好的例子。
Возможно при искажении перевода я заметил некую агрессию в последнем коментарии, или просто показалось =) Если вдруг она была,我想说的是,如果你想了解更多的信息,请联系我们。
//---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit, i, counter; double fasterEMA1now, slowerEMA1now, fasterEMA1previous, slowerEMA1previous, fasterEMA2now, slowerEMA2now, fasterEMA2previous, slowerEMA2previous; double RSInow; double Range, AvgRange;
int counted_bars=IndicatorCounted(); //---- check for possible errors if(counted_bars<0) return(-1); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--;
limit=MathMin(Bars-counted_bars,barsBack);
for(i = limit; i>=0; i--) {
counter=i; Range=0; AvgRange=0; for (counter=i ;counter<=i+9;counter++) { AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]); } Range=AvgRange/10;
现在试试吧
发布它,然后我们可以检查
在这个指标中,使用4位数的报价时有一些问题。但这并不关键,问题是在4位数的刻度到100的水平,试图显示图片,在正确的时间是非常紧张的你的眼睛(几天后,是否作为一个线程,以改变规模到40的水平 - 这将是更好地看到直方图和右角的文字,将表明当前的值?
仔细研究一下,我们可以发现,在我们的网站上,有很多人都在讨论这个问题。
Этого индикатора есть некоторые проблемы при использованиии 4 значных котировок.在这一过程中,我们可以看到,在4个月的时间里,我们已经完成了对100个国家的调查,并对其进行了评估。签署协议后,我们将把我们自己的想法和建议传达给我们的客户,我们将把我们的想法和建议传达给客户。Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
在这个指标中,使用4位数的报价时有一些问题。但这并不关键,问题是在4位数的刻度到100的水平,试图显示图片,在正确的时间是非常紧张的你的眼睛(几天后,是否作为一个线程,以改变规模到40的水平 - 这将是更好地看到直方图和右角的文字,将表明当前的值?
仔细研究一下,我们可以发现,在我们的网站上,有很多人都在讨论这个问题。
Этого индикатора есть некоторые проблемы при использованиии 4 значных котировок.在这一过程中,我们可以看到,在4个月的时间里,我们已经完成了对100个国家的调查,并对其进行了评估。签署协议后,我们将把我们自己的想法和建议传达给我们的客户,我们将把我们的想法和建议传达给客户。Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
对不起,我不能改变ex4文件
你能提出更多关于反编译mq4的想法吗?
你能不能把mq4反编译一下?
对不起,反编译不是我喜欢的东西(我不认为世界上有任何理由,为什么有人要反编译任何东西)。
我很高兴地说,自从新的metatrader 4版本出现后,任何人告诉说某样东西可以反编译,这根本就是在撒谎(我看到过 "证明 "某样东西可以反编译的图片,那个白痴甚至在图片上显示了原始的源代码注释,却不知道这些注释已经被世界上任何一个编译器完全删除了--那么,当他在旧版本上使用反编译器时,他在编码方面又学到了多少东西呢,他根本不知道生产任何种类的可执行代码的基本知识?)
如果你能使用它,就使用它。如果你不能,你就不能。你是免费得到它的。那么,问题出在哪里?改动它?总是有一些东西的作者可以被要求改变一些东西。但是,如果作者看到有人想明目张胆地屠戮他/她所做的并提供给所有人的东西,那么他到底为什么要再次发布任何东西?假装没有原作者并扮演其角色?对于一个免费提供给所有人的东西?这就像在某人的脸上吐口水一样,只因为他希望你过得好。
对不起,反编译不是我喜欢的东西(我不认为世界上有任何理由,为什么要有人反编译任何东西)。
我很高兴地说,自从新的metatrader 4版本出现后,任何人告诉说某些东西可以被反编译,这根本就是在撒谎(我看到过 "证明 "某些东西可以被反编译的图片,这个白痴甚至在图片上显示了原始的源代码注释,他不知道这些注释是被世界上的任何编译器完全删除的 - 所以,当他在旧版本上使用反编译器时,他不知道关于生产任何种类的可执行代码的基本事情,他学到了多少编码知识?)
如果你能使用它,就使用它。如果你不能用,你就不能用。你是免费得到的。那么,问题出在哪里?改动它?总是有一些东西的作者可以被要求改变一些东西。但是,如果作者看到有人想明目张胆地屠戮他/她所做的并提供给所有人的东西,那么他到底为什么要再发布任何东西?假装没有原作者并扮演其角色?对于一个免费提供给所有人的东西?这就像在某人的脸上吐口水一样,只因为他希望你过得好。
不幸的是,我不知道作者是谁,在这里应用,指标也是在TMA的一个分支中发现的。从你的帖子中,我意识到他不能再正常工作,当反编译 (
大家好,我想编辑一个EMA-RSI指标,当4个EMA交叉发生且RSI>或<50时,可以显示一个向上或向下的箭头。
我的问题是,这些箭头一旦出现就 不会刷新,如果我想检查条件是否仍然良好以显示箭头,我需要改变时间框架。你能告诉我哪里有问题吗?我把代码贴出来了。
谢谢你
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_width1 4
#property indicator_width2 4
double CrossUp[];
double CrossDown[];
extern int FasterEMA1 = 6;
extern int SlowerEMA1 = 12;
extern int FasterEMA2 = 7;
extern int SlowerEMA2 = 14;
extern int RSInowPeriod = 6;
extern int barsBack = 2000;
extern bool AlertsMessage = true;
extern bool AlertsSound = true;
extern bool debug = false;
extern double K = 1.0 ;
bool EMACrossedUp = false;
bool RSICrossedUp = false;
bool EMACrossedDown = false;
bool RSICrossedDown = false;
int SignalLabeled = 0; // 0: initial state; 1: up; 2: down.
int upalert=false,downalert=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0, DRAW_ARROW, EMPTY);
SetIndexArrow(0, 241);
SetIndexBuffer(0, CrossUp);
SetIndexStyle(1, DRAW_ARROW, EMPTY);
SetIndexArrow(1, 242);
SetIndexBuffer(1, CrossDown);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int limit, i, counter;
double fasterEMA1now, slowerEMA1now, fasterEMA1previous, slowerEMA1previous, fasterEMA2now, slowerEMA2now, fasterEMA2previous, slowerEMA2previous;
double RSInow;
double Range, AvgRange;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=MathMin(Bars-counted_bars,barsBack);
for(i = limit; i>=0; i--) {
counter=i;
Range=0;
AvgRange=0;
for (counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;
fasterEMA1now = iMA(NULL, 0, FasterEMA1, 0, MODE_EMA, PRICE_CLOSE, i);
fasterEMA1previous = iMA(NULL, 0, FasterEMA1, 0, MODE_EMA, PRICE_CLOSE, i+1);
fasterEMA2now = iMA(NULL, 0, FasterEMA2, 0, MODE_EMA, PRICE_CLOSE, i);
fasterEMA2previous = iMA(NULL, 0, FasterEMA2, 0, MODE_EMA, PRICE_CLOSE, i+1);
slowerEMA1now = iMA(NULL, 0, SlowerEMA1, 0, MODE_EMA, PRICE_CLOSE, i);
slowerEMA1previous = iMA(NULL, 0, SlowerEMA1, 0, MODE_EMA, PRICE_CLOSE, i+1);
slowerEMA2now = iMA(NULL, 0, SlowerEMA2, 0, MODE_EMA, PRICE_CLOSE, i);
slowerEMA2previous = iMA(NULL, 0, SlowerEMA2, 0, MODE_EMA, PRICE_CLOSE, i+1);
RSInow=iRSI(NULL,0,RSInowPeriod,PRICE_CLOSE,i);
if (RSInow > 50) {
if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" RSI UP ");
RSICrossedUp = true;
RSICrossedDown = false;
}
if (RSInow < 50) {
if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" RSI DOWN ");
RSICrossedUp = false;
RSICrossedDown = true;
}
if ((fasterEMA1now >= slowerEMA1now) && (fasterEMA1previous < slowerEMA1previous) && (fasterEMA2now >= slowerEMA2now) && (fasterEMA2previous < slowerEMA2previous) ) {
if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" EMA UP ");
EMACrossedUp = true;
EMACrossedDown = false;
}
if ((fasterEMA1now <= slowerEMA1now) && (fasterEMA1previous > slowerEMA1previous) && (fasterEMA2now <= slowerEMA2now) && (fasterEMA2previous > slowerEMA2previous)) {
if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" EMA DOWN ");
EMACrossedUp = false;
EMACrossedDown = true;
}
if ((EMACrossedUp == true) && (RSICrossedUp == true) && (SignalLabeled != 1)) {
CrossUp[i] = Low[i] - K*Range;
if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" SIGNAL UP ");
if(i<=2 && AlertsMessage && !upalert)
{
Alert (Symbol()," ",Period(),"M BUY SIGNAL ");
//SendMail("EMA Cross Up on "+Symbol(),"");
upalert=true;
downalert=false;
}
if(i<=2 && AlertsSound && !upalert)
{
PlaySound("alert.wav");
upalert=true;
downalert=false;
}
SignalLabeled = 1;
}
else if ((EMACrossedDown == true) && (RSICrossedDown == true) && (SignalLabeled != 2)) {
CrossDown[i] = High[i] + K*Range;
if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" SIGNAL DOWN ");
if(i<=2 && AlertsMessage && !downalert)
{
Alert (Symbol()," ",Period(),"M SELL SIGNAL ");
//SendMail("EMA Cross Down on "+Symbol(),"");
downalert=true;
upalert=false;
}
if(i<=2 && AlertsSound && !downalert)
{
PlaySound("alert.wav");
downalert=true;
upalert=false;
}
SignalLabeled = 2;
}
}
return(0);
}
//end
你好,Mladen先生。
你能不能在这个指标上增加趋势变化时的垂直线(零交叉)?
类似这样的图片。
视