кому интересно, напишите просто советник - страница 3

 

А что говорит тест евры за 2006 год? Визуально даже если посмотреть-то слив будет... Одно ясно система хороша в тренде и плоха во флете...

Впрочем, при тренде все системы хороши (только не те, которые предназначены для флета), индюк дергается на текущем баре =(...На картинках автор открывается не на следующем, а на текущем баре, но как на нем открываться если он перерисовывается?

 
Индикатор SSL находится в директории каталог_терминала\experts\indicators.,а в MetaEditor|indicators его нет.При компиляции советника выдаёт:Function "Takelong" is not referenced and will be removed from exp-file .как мне это исправить ?спасибо.
 

так у вас SSL.ex4 - исполняемый файл без текста проги, его в МетаЕдиторе невидно.
Измените в советнике имя на "SSL" или скачайте отсюда:
'Gann Hi-lo Activator SSL'

При трансляции советника выдаются не ошибки, а предупреждения о неиспользуемых подпрограммах которые будут удалены из исполняемого файла. Это нормально.

 
Korey писал (а) >>

так у вас SSL.ex4 - исполняемый файл без текста проги, его в МетаЕдиторе невидно.
Измените в советнике имя на "SSL" или скачайте отсюда:
'Gann Hi-lo Activator SSL'

При трансляции советника выдаются не ошибки, а предупреждения о неиспользуемых подпрограммах которые будут удалены из исполняемого файла. Это нормально.

удалил SSL . установил индикатор указанный в ссыпке. в МетаИдиторе появился.предупреждения остались:


Function "Takelong" is not referenced and will be removed from exp-file
Function "Takeshrt" is not referenced and will be removed from exp-file
Function "TrailingAlls" is not referenced and will be removed from exp-file

Может здесь чттото подправить:


extern int PerMA = 4; //12
extern int Method2 = 2; //=SMA
extern int Pr2=0;//номер цены смотреть в свойствах МА
extern int Lb=5; //период SSL
extern int zs=1; //начальный бар



extern double Lots=1;
extern int StopLoss_bye=150;
extern int StopLoss_sell=150;
extern int TrailingStop=0;
extern int TakeProfit_bye=75;
extern int TakeProfit_sell=25;


double TimePrev;

int first_b=0, first_s=0;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{


return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{int rs,rs2;

//Trailing Stop
//TrailingAlls(TrailingStop);
//close/Open


if (TimePrev==Time[0]) return(0);



int z=zs;
int z1=z+1;


double lr1=iCustom(NULL,0,"Gann_Hi-lo_Activator_SSL",Lb,0,z);//Moving Average
double lr1p=iCustom(NULL,0,"Gann_Hi-lo_Activator_SSL",Lb,0,z1);// Gann_Hi-lo_Activator_SSL



double lr2=iMA(NULL,0,PerMA,0,Method2,Pr2,z);
double lr2p=iMA(NULL,0,PerMA,0,Method2,Pr2,z1);


bool Ob=lr1p>lr2p&&lr1<=lr2;
bool Os=lr1p<lr2p&&lr1>=lr2;


if(first_b==0)
{

if(Ob)
{
closeshrts();
first_s=0;

rs= OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Stoplong(Ask,StopLoss_bye),0,NULL,0,0,Blue);
first_b=1;

}//long
}


if(first_s==0)
{
if(Os)
{ first_b=0;
closelongs();

rs2=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Stopshrt(Bid,StopLoss_sell),0,NULL,0,0,Red);
first_s=1;
}//shrt
}

if(rs>=0&&rs2>=0) TimePrev=Time[0];
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double Stoplong(double price,int stop)
{
if(stop==0)
return(0.0);
return(price-(stop*Point));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double Stopshrt(double price,int stop)
{
if (stop==0)
return(0.0);
return(price+(stop*Point));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double Takelong(double price,int Take)
{
if (Take==0)
return(0.0);
return(price+(Take*Point));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double Takeshrt(double price,int Take)
{
if (Take==0)
return(0.0);
return(price-(Take*Point));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void closelongs()
{
int trade;
int trades=OrdersTotal();
for(trade=0;trade<trades;trade++)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol())
continue;
if(OrderType()==OP_BUY)
{ first_b=0;
OrderClose(OrderTicket(),OrderLots(),Bid,0,Blue);

}
}//for

}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void closeshrts()
{
int trade;
int trades=OrdersTotal();
for(trade=0;trade<trades;trade++)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol())
continue;
if(OrderType()==OP_SELL)
{ first_s=0;
OrderClose(OrderTicket(),OrderLots(),Ask,0,Red);

}
}//for

}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void TrailingAlls(int trail)
{
if(trail==0)
return;
//----
double stopcrnt;
double stopcal;
int trade;
int trades=OrdersTotal();
for(trade=0;trade<trades;trade++)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol())
//continue;
//LONG
if(OrderType()==OP_BUY)
{
stopcrnt=OrderStopLoss();
stopcal=Bid-(trail*Point);
if (stopcrnt==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Blue);
}
else
if(stopcal>stopcrnt)
{
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Blue);
}
}
}//LONG
//Shrt
if(OrderType()==OP_SELL)
{
stopcrnt=OrderStopLoss();
stopcal=Ask+(trail*Point);
if (stopcrnt==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Red);
}
else
if(stopcal<stopcrnt)
{
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Red);
}
}
}//Shrt
//----
return(0);
//+------------------------------------------------------------------+
 

1.При загрузке из CodeBase, а также из форума, к имени файла добавляется [1]. Т.е. имя файла может не совпасть с именем в советнике и потому не работает

- надо установить соответствие имен.

2.Подпрограммы на которые ругается компилятор это трейлинг из исходного советника. Для теста они не нужны и просто отключены. На работу не влияет, т.к. это не ошибка а предупреждение о том что в коде есть неиспользуемые п/программы.

P,S. Поправлять в коде нечего, кроме см. п.1. - другие участники скачали и спокойно провели бэктест.

 
Korey писал (а) >>

1.При загрузке из CodeBase, а также из форума, к имени файла добавляется [1]. Т.е. имя файла может не совпасть с именем в советнике и потому не работает

- надо установить соответствие имен.

2.Подпрограммы на которые ругается компилятор это трейлинг из исходного советника. Для теста они не нужны и просто отключены. На работу не влияет, т.к. это не ошибка а предупреждение о том что в коде есть неиспользуемые п/программы.

P,S. Поправлять в коде нечего, кроме см. п.1. - другие участники скачали и спокойно провели бэктест.

исправил.теперь вот так :

double lr1=iCustom(NULL,0,"Gann_Hi-lo_Activator_SSL[1]",Lb,0,z);//Moving Average
double lr1p=iCustom(NULL,0,"Gann_Hi-lo_Activator_SSL[1]",Lb,0,z1);// Gann_Hi-lo_Activator_SSL


всё также.

 

добавил сигнальную линнию.


Покупать или продовать определяется условием :

Критерии длинного входа:

1. пересесечения снизу в верх МА линии ssl

2 при пересечении, белой линией, синей или красной срабатывает покупка

Критерии короткого входа:

1. пересечения сверху вниз МА линию ssl

2. при пересечении, белой линией, синей или красной срабатывает продажа

 
dpg03 писал (а) >>

добавил сигнальную линнию.


Покупать или продовать определяется условием :

Критерии длинного входа:

1. пересесечения снизу в верх МА линии ssl

2 при пересечении, белой линией, синей или красной срабатывает покупка

Критерии короткого входа:

1. пересечения сверху вниз МА линию ssl

2. при пересечении, белой линией, синей или красной срабатывает продажа



Закрытие при пересечении красной и синей.

 

to dpg03

Получилось тестировать или нет*??????

Вот советник, индикатор SSL внутри. Т.е.оттранслировал и тестируй.

Файлы:
 
Korey писал (а) >>

to dpg03

Получилось тестировать или нет*??????

Вот советник, индикатор SSL внутри. Т.е.оттранслировал и тестируй.

Получилось . только причём две МА13 и одна МА4.

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