Доброй ночи!!! Подскажите, как в советнике прописать вход, если зиг заг может подать сигнал и на пять и на десять баров раньше, чем трендовая линия! на рисунке пример: сигнал один — зиг заг, а сигнал два — смена цвета трендовой линии
Screenshot_3.png (9 Kb) по отдельности все работает, а вместе совместить не могу!
Комментарии (33)
9 dima0603 Автор Сообщений: 220
делаешь в индикаторе цикл до тех пор пока не будет сигнал.
второй сигнал:
вход по буферам стрелок, если есть или на первой свече сигнал синий на второй красный.
35 AM2 Сообщений: 16266 - Андрей
9 dima0603 Автор Сообщений: 220
35 AM2 Сообщений: 16266 - Андрей
9 dima0603 Автор Сообщений: 220
одна из настроек индикатора
35 AM2 Сообщений: 16266 - Андрей
extern int ExtDepth = 60;
extern int ExtDeviation = 5;
extern int ExtBackstep = 3;
int FindSignal()
{
int qua=0;
for(int i=3; i<1; i++)
{
if(iCustom(NULL,0,INDNAME,5,0,i)>0)//blue-buy
{
qua=1;
break;
}
if(iCustom(NULL,0,INDNAME,5,1,i)>0)//red-sell
{
qua=2;
break;
}
}
return(qua);
}
9 dima0603 Автор Сообщений: 220
35 AM2 Сообщений: 16266 - Андрей
9 dima0603 Автор Сообщений: 220
9 dima0603 Автор Сообщений: 220
35 AM2 Сообщений: 16266 - Андрей
int Signall()
{
if(_namePeak_H==UP)
{
if(Close[1]>_PriceInd_H && _PriceInd_H!=0 && CountTrades()<1)
{
fPeakM = searchInIND(PERIOD_M15, 1, DN);
if(PriceInd>0 && Bid-PriceInd>=MinStep*Point)
}
}
return( 1);
if(_namePeak_H==DN)
{
if(Close[1]<_PriceInd_H && CountTrades()<1)
{
fPeakM = searchInIND(PERIOD_M15, 1, UP);
if(PriceInd>0 && PriceInd-Ask>=MinStep*Point)
}
}
return( -1);
return(0);
}
выдает ошибку в { }
9 dima0603 Автор Сообщений: 220
35 AM2 Сообщений: 16266 - Андрей
цена закрылась выше канала, образовался сигнал zz, на следующей свече продаем, в принципе все на скрине обьяснил
9 dima0603 Автор Сообщений: 220
35 AM2 Сообщений: 16266 - Андрей
9 dima0603 Автор Сообщений: 220
9 dima0603 Автор Сообщений: 220
12 Slava78 Сообщений: 598
9 dima0603 Автор Сообщений: 220
9 dima0603 Автор Сообщений: 220
12 Slava78 Сообщений: 598
9 dima0603 Автор Сообщений: 220
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int FindSignal()
{
int qua=0;
for(int i=1; i<=1000; i++)
{
if(iCustom(NULL,0,IndName,11,0,i)>0)//blue-buy
{
qua=1;
break;
}
if(iCustom(NULL,0,IndName,11,1,i)>0)//red-sell
{
qua=2;
break;
}
}
return(qua);
}
к скрину, то сигнал от стрелки будет виден сову до следующей стрелки, правильно я понимаю?
9 dima0603 Автор Сообщений: 220
www.opentraders.ru/downloads/2674/
9 dima0603 Автор Сообщений: 220
12 Slava78 Сообщений: 598
9 dima0603 Автор Сообщений: 220
12 Slava78 Сообщений: 598
void OnTick()
{
int signal=Signal();
if(t!=Time[0])
{
if(AllProfit()>Profit && Profit>0)
CloseAll();
// первый ордер
if(signal== 1 && CountTrades()<1) PutOrder(0,Ask); PutOrder(1,Bid);
if(signal== -1&& CountTrades()<1) PutOrder(0,Ask); PutOrder(1,Bid);
if(CloseSig>0) ClosePos();
// долив
if(CountTrades(0)>0 && signal== -1)
{
PutOrder(0,Ask);
}
if(CountTrades(1)>0 && signal== 1)
{
PutOrder(1,Bid);
}
}
9 dima0603 Автор Сообщений: 220
Можно ограничить одно новая позиция в бар, при наличии сигнала.
Например так:
В блоке настроек добавить
16 ssg Сообщений: 817
12 Slava78 Сообщений: 598
Все очень просто: есть сигнал — значит открываем позицию. Все это будет при любом индикаторе. Нет команды — сколько позиций открывать. Срипт открыл бы одну позицию, а советник будет открывать постоянно при таком написании.
16 ssg Сообщений: 817
9 dima0603 Автор Сообщений: 220
16 ssg Сообщений: 817
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий