Создаст ваш советник бесплатно! - страница 18

 

Вы все еще кодируете советников? Если да, то я думаю, что этот будет простым и эффективным. NonLagMa v.7 - это индикатор, который похож на шаблон Sanefx. Когда индикатор меняет цвет, советник открывает сделку, как только цвет меняется, он закрывает позицию и сразу же открывает сделку в противоположном направлении. Просто, но эффективно!!! Ниже приведен mq4.

Спасибо, что посмотрели!!!

Джим

//+------------------------------------------------------------------+
//| NonLagMA_v7.1.mq4 |
//| Copyright © 2007, TrendLaboratory |
//| http://finance.groups.yahoo.com/group/TrendLaboratory |
//| E-mail: igorad2003@yahoo.co.uk |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, TrendLaboratory"
#property link "http://finance.groups.yahoo.com/group/TrendLaboratory"


#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_color2 Aqua
#property indicator_width2 2
#property indicator_color3 Magenta
#property indicator_width3 2


//---- входные параметры
extern int Price = 0; //Применение к цене(0-Close;1-Open;2-High;3-Low;4-Median price;5-Typical price;6-Weighted Close)
extern int Length = 15; //Период NonLagMA
extern int Displace = 0; //DispLace или Shift
extern double PctFilter = 0; //Динамический фильтр в десятичном исчислении
extern int Color = 1; //Переключение цветового режима (1-цветный)
extern int ColorBarBack = 1; //Выключение цветного режима
extern double Deviation = 0; //Отклонение вверх/вниз
extern int AlertMode = 0; //Переключатель звукового оповещения (0-выкл., 1-вкл.)
extern int WarningMode = 0; //Переключатель звукового предупреждения (0-off,1-on)
//---- индикаторные буферы
double MABuffer[];
double UpBuffer[];
double DnBuffer[];
double trend[];
double Del[];
double AvgDel[];

double alfa[];
int i, Phase, Len, Cycle=4;
double Coeff, beta, t, Sum, Weight, g;
double pi = 3.1415926535;
bool UpTrendAlert=false, DownTrendAlert=false;
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(6);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MABuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,DnBuffer);
SetIndexBuffer(3,trend);
SetIndexBuffer(4,Del);
SetIndexBuffer(5,AvgDel);
string short_name;
//---- строка индикатора

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- имя для DataWindow и метка подокна индикатора
short_name="NonLagMA("+Length+")";
IndicatorShortName(short_name);
SetIndexLabel(0, "NonLagMA");
SetIndexLabel(1, "Up");
SetIndexLabel(2, "Dn");
//----
SetIndexShift(0,Displace);
SetIndexShift(1,Displace);
SetIndexShift(2,Displace);

SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexEmptyValue(2,EMPTY_VALUE);

SetIndexDrawBegin(0,Length*Cycle+Length+1);
SetIndexDrawBegin(1,Length*Cycle+Length+1);
SetIndexDrawBegin(2,Length*Cycle+Length+1);
//----

Coeff = 3*pi;
Phase = Length-1;
Len = Length*4 + Phase;
ArrayResize(alfa,Len);
Weight=0;

for (i=0;i<Len-1;i++)
{
if (i<=Phase-1) t = 1.0*i/(Phase-1);
else t = 1.0 + (i-Фаза+1)*(2.0*Цикл-1.0)/(Цикл*Длина-1.0);
beta = MathCos(pi*t);
g = 1.0/(Coeff*t+1);
если (t <= 0.5 ) g = 1;
alfa[i] = g * beta;
Weight += alfa[i];
}

return(0);
}

//+------------------------------------------------------------------+
//| NonLagMA_v7.1 |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit;
двойная цена;
if ( counted_bars > 0 ) limit=Bars-counted_bars;
if ( counted_bars < 0 ) return(0);
if ( counted_bars ==0 ) limit=Bars-Len-1;
if ( counted_bars < 1 )

for(i=1;i<Length*Cycle+Length;i++)
{
MABuffer[Bars-i]=0;
UpBuffer[Bars-i]=0;
DnBuffer[Bars-i]=0;
}

for(shift=limit;shift>=0;shift--)
{
Sum = 0;
for (i=0;i<=Len-1;i++)
{
price = iMA(NULL,0,1,0,3,Price,i+shift);
Sum += alfa[i]*price;

}

if (Weight > 0) MABuffer[shift] = (1.0+Deviation/100)*Sum/Weight;


if (PctFilter>0)
{
Del[shift] = MathAbs(MABuffer[shift] - MABuffer[shift+1]);

double sumdel=0;
for (i=0;i<=Length-1;i++) sumdel = sumdel+Del[shift+i];
AvgDel[shift] = sumdel/Length;

double sumpow = 0;
for (i=0;i<=Length-1;i++) sumpow+=MathPow(Del[shift+i]-AvgDel[shift+i],2);
double StdDev = MathSqrt(sumpow/Length);

double Filter = PctFilter * StdDev;

if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter ) MABuffer[shift]=MABuffer[shift+1];
}
else
Filter=0;

if (Color>0)
{
trend[shift]=trend[shift+1];
если (MABuffer[shift]-MABuffer[shift+1] > Filter) trend[shift]=1;
если (MABuffer[shift+1]-MABuffer[shift] > Filter) trend[shift]=-1;
if (trend[shift]>0)
{
UpBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
DnBuffer[shift] = EMPTY_VALUE;
if (WarningMode>0 && trend[shift+1]<0 && shift==0) PlaySound("alert2.wav");
}
if (trend[shift]<0)
{
DnBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
UpBuffer[shift] = EMPTY_VALUE;
if (WarningMode>0 && trend[shift+1]>0 && shift==0) PlaySound("alert2.wav");
}
}
}
//----------
строковое сообщение;

if ( trend[2]<0 && trend[1]>0 && Volume[0]>1 && !UpTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+": Сигнал на ПОКУПКУ";
if ( AlertMode>0 ) Alert (Message);
UpTrendAlert=true; DownTrendAlert=false;
}

if ( trend[2]>0 && trend[1]<0 && Volume[0]>1 && !DownTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+": Сигнал на ПРОДАЖУ";
if ( AlertMode>0 ) Alert (Message);
DownTrendAlert=true; UpTrendAlert=false;
}
//----
return(0);
}
Файлы:
 
Redland:

Вы все еще пишете советников? Если да, то я думаю, что этот будет простым и эффективным. NonLagMa v.7 - это индикатор, который похож на шаблон Sanefx. Когда индикатор меняет цвет, советник открывает сделку, как только цвет меняется, он закрывает позицию и сразу же открывает сделку в противоположном направлении. Просто, но эффективно!!! Ниже приведен mq4.

Спасибо, что посмотрели!!!

Джим

//+------------------------------------------------------------------+
//| NonLagMA_v7.1.mq4 |
//| Copyright © 2007, TrendLaboratory |
//| http://finance.groups.yahoo.com/group/TrendLaboratory |
//| E-mail: igorad2003@yahoo.co.uk |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, TrendLaboratory"
#property link "http://finance.groups.yahoo.com/group/TrendLaboratory"


#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_color2 Aqua
#property indicator_width2 2
#property indicator_color3 Magenta
#property indicator_width3 2


//---- входные параметры
extern int Price = 0; //Применение к цене(0-Close;1-Open;2-High;3-Low;4-Median price;5-Typical price;6-Weighted Close)
extern int Length = 15; //Период NonLagMA
extern int Displace = 0; //DispLace или Shift
extern double PctFilter = 0; //Динамический фильтр в десятичном исчислении
extern int Color = 1; //Переключение цветового режима (1-цветный)
extern int ColorBarBack = 1; //Выключение цветного режима
extern double Deviation = 0; //Отклонение вверх/вниз
extern int AlertMode = 0; //Переключатель звукового оповещения (0-выкл., 1-вкл.)
extern int WarningMode = 0; //Переключатель звукового предупреждения (0-off,1-on)
//---- индикаторные буферы
double MABuffer[];
double UpBuffer[];
double DnBuffer[];
double trend[];
double Del[];
double AvgDel[];

double alfa[];
int i, Phase, Len, Cycle=4;
double Coeff, beta, t, Sum, Weight, g;
double pi = 3.1415926535;
bool UpTrendAlert=false, DownTrendAlert=false;
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(6);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MABuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,DnBuffer);
SetIndexBuffer(3,trend);
SetIndexBuffer(4,Del);
SetIndexBuffer(5,AvgDel);
string short_name;
//---- строка индикатора

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- имя для DataWindow и метка подокна индикатора
short_name="NonLagMA("+Length+")";
IndicatorShortName(short_name);
SetIndexLabel(0, "NonLagMA");
SetIndexLabel(1, "Up");
SetIndexLabel(2, "Dn");
//----
SetIndexShift(0,Displace);
SetIndexShift(1,Displace);
SetIndexShift(2,Displace);

SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexEmptyValue(2,EMPTY_VALUE);

SetIndexDrawBegin(0,Length*Cycle+Length+1);
SetIndexDrawBegin(1,Length*Cycle+Length+1);
SetIndexDrawBegin(2,Length*Cycle+Length+1);
//----

Coeff = 3*pi;
Phase = Length-1;
Len = Length*4 + Phase;
ArrayResize(alfa,Len);
Weight=0;

for (i=0;i<Len-1;i++)
{
if (i<=Phase-1) t = 1.0*i/(Phase-1);
else t = 1.0 + (i-Фаза+1)*(2.0*Цикл-1.0)/(Цикл*Длина-1.0);
beta = MathCos(pi*t);
g = 1.0/(Coeff*t+1);
если (t <= 0.5 ) g = 1;
alfa[i] = g * beta;
Weight += alfa[i];
}

return(0);
}

//+------------------------------------------------------------------+
//| NonLagMA_v7.1 |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit;
двойная цена;
if ( counted_bars > 0 ) limit=Bars-counted_bars;
if ( counted_bars < 0 ) return(0);
if ( counted_bars ==0 ) limit=Bars-Len-1;
if ( counted_bars < 1 )

for(i=1;i<Length*Cycle+Length;i++)
{
MABuffer[Bars-i]=0;
UpBuffer[Bars-i]=0;
DnBuffer[Bars-i]=0;
}

for(shift=limit;shift>=0;shift--)
{
Sum = 0;
for (i=0;i<=Len-1;i++)
{
price = iMA(NULL,0,1,0,3,Price,i+shift);
Sum += alfa[i]*price;

}

if (Weight > 0) MABuffer[shift] = (1.0+Deviation/100)*Sum/Weight;


if (PctFilter>0)
{
Del[shift] = MathAbs(MABuffer[shift] - MABuffer[shift+1]);

double sumdel=0;
for (i=0;i<=Length-1;i++) sumdel = sumdel+Del[shift+i];
AvgDel[shift] = sumdel/Length;

double sumpow = 0;
for (i=0;i<=Length-1;i++) sumpow+=MathPow(Del[shift+i]-AvgDel[shift+i],2);
double StdDev = MathSqrt(sumpow/Length);

double Filter = PctFilter * StdDev;

if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter ) MABuffer[shift]=MABuffer[shift+1];
}
else
Filter=0;

if (Color>0)
{
trend[shift]=trend[shift+1];
если (MABuffer[shift]-MABuffer[shift+1] > Filter) trend[shift]=1;
если (MABuffer[shift+1]-MABuffer[shift] > Filter) trend[shift]=-1;
if (trend[shift]>0)
{
UpBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
DnBuffer[shift] = EMPTY_VALUE;
if (WarningMode>0 && trend[shift+1]<0 && shift==0) PlaySound("alert2.wav");
}
if (trend[shift]<0)
{
DnBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
UpBuffer[shift] = EMPTY_VALUE;
if (WarningMode>0 && trend[shift+1]>0 && shift==0) PlaySound("alert2.wav");
}
}
}
//----------
строковое сообщение;

if ( trend[2]<0 && trend[1]>0 && Volume[0]>1 && !UpTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+": Сигнал на ПОКУПКУ";
if ( AlertMode>0 ) Alert (Message);
UpTrendAlert=true; DownTrendAlert=false;
}

if ( trend[2]>0 && trend[1]<0 && Volume[0]>1 && !DownTrendAlert)
{
Message = " NonLagMA "+Symbol()+" M "+Period()+": Сигнал на ПРОДАЖУ";
if ( AlertMode>0 ) Alert (Message);
DownTrendAlert=true; UpTrendAlert=false;
}
//----
return(0);
}

Привет, Джим.


Увлекательный индикатор. Думаю, я знаю достаточно, чтобы сделать из него советника ;}


Я буду держать вас в курсе, спасибо, что поделились.

 
Здравствуйте, не могли бы вы поработать над прикрепленным советником, чтобы он заработал. Я не могу найти переменную, чтобы ошибка исчезла. Также, возможно, вы можете добавить еще один ма, что если при пересечении и изменении индикатора Хайкен основной торговли он остается. Как фильтр. И возможно это также будет работать с Heiken с двумя отдельными крестами Heiken для фильтрации торговли. Я заметил, что Heiken с разными настройками работает как ma и фильтрует торговлю.
Файлы:
alliheik_1.mq4  17 kb
 
Ajarn.Chan:

Привет, Джим.


Увлекательный индикатор. Думаю, я знаю достаточно, чтобы сделать из него советника ;}


Я буду держать вас в курсе, спасибо, что поделились.

 

Это потрясающе! Я буду с нетерпением ждать этого. У меня также есть руководство по эксплуатации индикатора. Если вы пришлете мне адрес личной электронной почты, я вышлю его вам. Я думаю, это будет очень полезно. Хотел бы я писать такие советники.

Джим

 
vriesde1:
Привет, ребята,

Я студент факультета компьютерных наук, идущий в магистратуру, и очень заинтересован в Forex.

В принципе, я предлагаю создать бесплатный советник для тех, кому он нужен. Я только что закончил свой собственный первый советник, он дал мне прибыль в 100% за 2007-2008 годы, но работает менее хорошо @ годы до 2007 года, некоторые даже не прибыльные. Поэтому я ищу больше вдохновения!

Я делаю это для получения дополнительного опыта как в mq4, так и в самих торговых системах Форекс.

Да, кстати, я уже работаю над экспертом по внутреннему бару, так что не придумывайте его :D.

Отправьте мне личное сообщение с вашим планом, и вы можете ожидать, если советник не слишком сложный, в течение одной недели.

Приветствую!!!

Здравствуйте. Если вы все еще создаете советников, пожалуйста, дайте мне знать.Моя стратегия очень проста, пожалуйста, напишите мне на forexgls@yahoo.com Спасибо.

 
vriesde1 wrote >>
Привет, ребята,

Я студент факультета компьютерных наук, идущий в магистратуру, и очень заинтересован в Forex.

В принципе, я предлагаю создать бесплатный советник для тех, кому он нужен. Я только что закончил свой собственный первый советник, он дал мне прибыль в 100% за 2007-2008 годы, но работает менее хорошо @ годы до 2007 года, некоторые даже не прибыльные. Поэтому я ищу больше вдохновения!

Я делаю это для получения дополнительного опыта как в mq4, так и в самих торговых системах Форекс.

Да, кстати, я уже работаю над экспертом по внутреннему бару, так что не придумывайте его :D.

Отправьте мне личное сообщение с вашим планом, и вы можете ожидать, если советник не слишком сложный, в течение одной недели.

Приветствую!!!

Если вы все еще кодируете, пожалуйста, свяжитесь со мной по адресу dvesledahl@comcast.net. У меня есть просьба, которая должна быть несколько простой.

Спасибо! Даг

 
vriesde1 wrote >>
Привет, ребята,

Я студент факультета компьютерных наук, идущий в магистратуру, и очень заинтересован в Forex.

В принципе, я предлагаю создать бесплатный советник для тех, кому он нужен. Я только что закончил свой собственный первый советник, он дал мне прибыль в 100% за 2007-2008 годы, но работает менее хорошо @ годы до 2007 года, некоторые даже не прибыльные. Поэтому я ищу больше вдохновения!

Я делаю это для получения дополнительного опыта как в mq4, так и в самих торговых системах Форекс.

Да, кстати, я уже работаю над экспертом по внутреннему бару, так что не придумывайте его :D.

Отправьте мне личное сообщение с вашим планом, и вы можете ожидать, если советник не слишком сложный, в течение одной недели.

Приветствую!!!

Привет, я Коди, я и недавно основанный друг, оба ищем одну и ту же простую систему. Если бы вы могли помочь, вы были бы просто спасением. Мы оба в некотором роде новички. Все объяснено в посте 'DAILY BREAKOUT EA , PLEAS E HELP MY SYSTEM'. Мой e-mail: all1truth@gmal.com. Пожалуйста, напишите или опубликуйте ответ в любом случае, чтобы я знал, нужно ли мне продолжать проверять. Большое спасибо

 

all1truth и другие,

Я думаю, что vriesde больше не предоставляет бесплатные услуги.

лучше обратиться в другое место

 
fgiovanardi:

Уважаемый Vriesde1,

Я торгую фьючерсами уже много лет, используя технические индикаторы, у меня есть несколько стратегий, которые, кажется, работают хорошо, к сожалению, у меня нет опыта в написании программ и советников, мне отчаянно нужна ваша помощь!!! Мои стратегии работают на простых индикаторах, ничего сложного или экзотического...

Пожалуйста, свяжитесь со мной, fgiovanardi@yahoo.com

Спасибо. Франко

Здравствуйте,


Я торгую на Форекс уже 4 года, используя только простую систему,


Я хотел бы, чтобы вы связались со мной по адресу mrafolabiplaza@yahoo.com.


Я хочу преобразовать мою стратегию в советника.


СПАСИБО

Причина обращения: