вообщем попробую теперь вспомнить старое , и хорошее ,
давненько ваня выкладывал скрипт для расчета шкалы , попробую продублировать с сохранением всей стилистики.
тебе что конкретно нужно? Средний размер свечи что ли? лови скрипт, прокомпелируй только его, считает так, например фуй дневка, от maxAverage отнимаешь minAverage получаешь средний размер свечи от максимума до минимума, только переведи в пипсы, думаю интуитивно понятно как.
евра-109 пис/день шкала 14 пипс
фуй-138 пипс/день
//+------------------------------------------------------------------+
//| новый.mq4 |
//| van"ka |
//|
http://www.metotes.net |
//+------------------------------------------------------------------+
#property copyright "vanka"
#property link "
http://www.metotes.net"
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
double maxAverage=0.0;
double minAverage=0.0;
int a=0;
for(a=0;a<Bars;a++)
{
maxAverage+=High[a];
minAverage+=Low[a];
}
maxAverage/=Bars+1;
minAverage/=Bars+1;
MessageBox("maxAverage="+maxAverage+" minAverage="+minAverage,"max and min averages");
//----
return(0);
}
//+------------------------------------------------------------------+
Если тебе нужно получить средний размер в пипсах между двумя максимумами замени эту строчку в скрипте
{
maxAverage+=High[a];
minAverage+=Low[a];
}
на такую:
{
maxAverage+=High[a];
minAverage+=High[a-1];
}
для евры равен 3 пипса, если минимами то соответственно наоборот
{
maxAverage+=Low[a];
minAverage+=Low[a-1];
}
так же равен 3 пипсам.
если тебе нужно найти разность максимум -10 свечей назад минимум
то таким уравнением
{
maxAverage+=High[a];
minAverage+=Low[a-10];
}
только потом подели на 10 (так как между искомым интервалом 10 свечей) для евры получишь 14 пипсов от дна 10 свечей назад до максимума (+10 свечей).
ну и так далее... все зависит от твоего брокера и поставляемых им условий котирования. тогда твой скрипт будет выглядеть так:
//+------------------------------------------------------------------+
//| новый.mq4 |
//| van"ka |
//|
http://www.metotes.net |
//+------------------------------------------------------------------+
#property copyright "vanka"
#property link "
http://www.metotes.net"
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
double maxAverage=0.0;
double minAverage=0.0;
int a=0;
for(a=0;a<Bars;a++)
{
maxAverage+=High[a];
minAverage+=Low[a-10];
}
maxAverage/=Bars+1;
minAverage/=Bars+1;
MessageBox("maxAverage="+maxAverage+" minAverage="+minAverage,"max and min averages");
//----
return(0);
}
//+------------------------------------------------------------------+
ну соответственно с минимумами так же поступи и ты получишь ту самую шкалу без загадочных изысканий и утомительных ручных просчетов.
меняй только эту строчку
{
maxAverage+=High[a];
minAverage+=Low[a-10];
}
в зависимости от твоих нужд и будет тебе шкала, просчитаная не по последним 100 баррам а по всей истории.... что максимально гарантирует тебе точность результата ее просчета.
Шкала для евро-14 пипс
для фунта-21.5 пипс, округляй куда тебе нравиться =))
для франка-21.3 пипс, округляй куда тебе нравиться =))
при перемене в уравнении
{
maxAverage+=High[a];
minAverage+=Low[a-10];
}
скажем на 25 или 125, общий показатель шкалы не измениться нисколько, что доказывает, что шкалу совершенно необязательно считать по максимумам или минимумам, ее можно просто считать =)).
Шкала, не зависящая от волны- есть лишь усредненный по всей истории моментум. А другой ты просчитать не сможешь в принципе.