Ответить
04.06.2016, 11:03
Аватар для Alex Green
Alex Green Alex Green вне форума Прохожий
Регистрация: 21.09.2014 / Сообщений: 333
Поблагодарили 839 раз(а) / Репутация: 840
Смысл в том чтобы когда стрелка появилась на текущем баре то после закрытия этого бара стрелка не исчезала .

Пробуйте. Рынок откроется - видно будет.
04.06.2016, 11:05
Аватар для sergeysv
sergeysv sergeysv на форуме Новичок форума
Регистрация: 16.01.2015 / Сообщений: 111
Поблагодарили 23 раз(а) / Репутация: 24
Объясните пожалуйста ещё одну штуку--
На этой сове было замечено самостоятельное открытие ордера с установкой стопа профита и через 6 секунд самостоятельное закрытие...Как так ?
Вывод--глюк системы?--при подсаженой батарейке мыша подвисает-- Но этим можно допустить открытие --как быть с закрытием--
Вывод--глюк бота? где его самостоятельность в коде зарыта? если приказ на открытие при нажатии на кнопку то почему сам открывает?
04.06.2016, 14:48
Аватар для olegkom
olegkom olegkom вне форума Новичок форума
Регистрация: 20.04.2011 / Сообщений: 70
Поблагодарили 23 раз(а) / Репутация: 24
Пробуйте. Рынок откроется - видно будет.
Хорошо попробуем- спасибо
04.06.2016, 15:05
Аватар для olegkom
olegkom olegkom вне форума Новичок форума
Регистрация: 20.04.2011 / Сообщений: 70
Поблагодарили 23 раз(а) / Репутация: 24
Уважаемый Alex Green поправьте плиз советник для проверки стрелочников. Видимо данные Индикатора не так вставил. Работает не правильно.
04.06.2016, 15:12
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,849
Поблагодарили 9,507 раз(а) / Репутация: 9512
mobidik,
Добрый день.Вы уже латали этот индикатор в 2014.Можно его подправить еще чуток.
Что бы сигнал на почту подавался:
при пересечении верхней линии канала с верху-вниз по закрытию свечи - Down
при пересечении нижней линии канала с низу в верх по закрытию свечи - Up
Средняя линия и остальные сигналы без надобности.Спасибо при любом исходе.
Проверяй:
Tankk 
04.06.2016, 15:46
Аватар для Alex Green
Alex Green Alex Green вне форума Прохожий
Регистрация: 21.09.2014 / Сообщений: 333
Поблагодарили 839 раз(а) / Репутация: 840
Уважаемый Alex Green поправьте плиз советник для проверки стрелочников. Видимо данные Индикатора не так вставил. Работает не правильно.

32 и 33 строки

double non1=iCustom(Symbol(),0,"EasyTrendVisualizer",ADXp eriod1,ADXperiod2,ADXperiod3,2,1);//buy
double non2=iCustom(Symbol(),0,"EasyTrendVisualizer",ADXp eriod1,ADXperiod2,ADXperiod3,3,1);//sell
olegkom , Tankk 
04.06.2016, 16:27
Аватар для MrGreen86
MrGreen86 MrGreen86 вне форума Местный знаток
Регистрация: 12.01.2012 / Сообщений: 683
Поблагодарили 972 раз(а) / Репутация: 972
  • Отправить сообщение для MrGreen86 с помощью Skype™
Есть такое---СПАСИБО ОГРОМНОЕ---
Объясните пожалуйста ещё одну штуку--
На этой сове было замечено самостоятельное открытие ордера с установкой стопа профита и через 6 секунд самостоятельное закрытие...Как так ?
Вывод--глюк системы?--при подсаженой батарейке мыша подвисает-- Но этим можно допустить открытие --как быть с закрытием--
Вывод--глюк бота? где его самостоятельность в коде зарыта? если приказ при нажатии на кнопку то почему сам открывает?
так вы код покажите, там видно будет )
04.06.2016, 17:22
Аватар для Andrey69
Andrey69 Andrey69 вне форума Новичок форума
Регистрация: 24.10.2010 / Сообщений: 33
Поблагодарили 6 раз(а) / Репутация: 7
Проверяй:
Спасибо и еще раз спасибо.
05.06.2016, 04:40
Аватар для kok1981
kok1981 kok1981 вне форума Новичок форума
Регистрация: 01.04.2016 / Сообщений: 49
Поблагодарили 5 раз(а) / Репутация: 6
Alex Green, Уважаемый Alex Green посмотрите пожалуйста пост #8420 (permalink)
05.06.2016, 07:38
Аватар для sergeysv
sergeysv sergeysv на форуме Новичок форума
Регистрация: 16.01.2015 / Сообщений: 111
Поблагодарили 23 раз(а) / Репутация: 24
Моё почтение Мастерам своего дела---
Помогите пожалуйста поправить индюк если вас не затруднит конечно---
https://www.mql5.com/ru/code/8118
Хотел сам снять ограничения описанные автором и убрать особенности да видимо слабоват --
Если возможно убрать особенности и прикрутить в код чтоб показывал (максимально возможные технически) любые бары на любом периоде буду вам премного благодарен
05.06.2016, 07:57
Аватар для kit888
kit888 kit888 на форуме Местный житель
Регистрация: 18.08.2012 / Сообщений: 89
Поблагодарили 254 раз(а) / Репутация: 252
Убрал мелкие ошибки.
olegkom , Tankk 
05.06.2016, 08:51
Аватар для Kamran9
Kamran9 Kamran9 вне форума Новичок форума
Регистрация: 04.02.2016 / Сообщений: 40
Поблагодарили 8 раз(а) / Репутация: 9
Доброго времени!
Ломаю голову уже долгое время. Может кто поможет..? Как организовать в советнике проверку на последний закрытый ордер в истории по символу, маджику и типу ордера перед отправкой запроса на открытие рыночного ордера. Условие такое : если последний закрытый ордер бай, то далее открываемся только селл, а иначе ждем противоположного сигнала. Спасибо заранее.
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int openOrder(int cmd,double lots,int _stop_loss,int _take_profit)
{
double sl = 0;
double tp = 0;
int t=0;
int error=0;
int ordersTotal=OrdersTotal();
RefreshRates();
ResetLastError();
if (ordersTotal < MAXorders)
{
while(true)
{
if(cmd==OP_SELL)
{

//-------------проверяем в истории последний закрытый ордер BUY---------+
int i,accTotal=OrdersHistoryTotal();
for(i=0;i<accTotal;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==fals e)
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
break;
}
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELL)
{
Print("Уже поторговали этот сигнал, ждем противоположный...");
break;
}

}
//-----------------------------------------------------------------------+
if(_stop_loss==0) sl=0;
else sl=NormalizeDouble(Ask+_stop_loss*gPoint,Digits);
if(_take_profit==0) tp=0;
else tp=NormalizeDouble(Ask-_take_profit*gPoint,Digits);
t=OrderSend(Symbol(),OP_SELL,calculate_lot(),Norma lizeDouble(Bid,Digits),gSlippage,sl,tp,NULL,magic, 0,Red);
}
if(cmd==OP_BUY)
{

//-------------проверяем в истории последний закрытый ордер SELL---------+
int i,accTotal=OrdersHistoryTotal();
for(i=0;i<accTotal;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==fals e)
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
break;
}
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUY)
{
Print("Уже поторговали этот сигнал, ждем противоположный...");
break;
}

}
//-----------------------------------------------------------------------+
if(_stop_loss==0) sl=0;
else sl=NormalizeDouble(Bid-_stop_loss*gPoint,Digits);
if(_take_profit==0) tp=0;
else tp=NormalizeDouble(Bid+_take_profit*gPoint,Digits) ;
t=OrderSend(Symbol(),OP_BUY,calculate_lot(),Normal izeDouble(Ask,Digits),gSlippage,sl,tp,NULL,magic,0 ,Blue);
}
//---
if(t>0) break;

error=GetLastError();
switch(error)
{
case 135: Print("Цена изменилась. Пробую ещё ...");
RefreshRates();
continue;
case 136: Print("Нет цен. Жду новый тик ...");
while(RefreshRates()==false)
Sleep(1);
continue;
case 146: Print("Подсистема торговли занята. Пробую ещё ...");
Sleep(500);
RefreshRates();
continue;
case 138: Print("Цена устарела. Пробую ещё ...");
Sleep(500);
RefreshRates();
continue;
case 129: Print("Неправильная цена при попытке открыть ордер. Пробую ещё ...");
Sleep(5000);
RefreshRates();
continue;
}
switch(error) // Критические ошибки
{
case 2 : Print("Общая ошибка.");
break;
case 5 : Print("Старая версия клиентского терминала.");
break;
case 64: Print("Счет заблокирован.");
break;
case 133:Print("Торговля запрещена");
break;
case 130:Print("Слишком маленький СЛ или ТП");
break;
case 134:Print("Не хватает средств");
break;
default: Print("Возникла ошибка: ",error);// Другие варианты
}
break; // Выход из цикла
}
}
return t;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+

Пробовал сам что-то делать, но не работает. Поправьте пожалуйста.
05.06.2016, 09:04
Аватар для well72
well72 well72 на форуме Активный участник
Регистрация: 20.05.2011 / Адрес: Северодвинск / Сообщений: 212
Поблагодарили 67 раз(а) / Репутация: 68
Привет спецам!
Можете приделать алерт к этому индикатору?
05.06.2016, 09:06
Аватар для Cemen4yk1
Cemen4yk1 Cemen4yk1 на форуме Местный житель
Регистрация: 18.09.2014 / Сообщений: 231
Поблагодарили 251 раз(а) / Репутация: 252
держите, используется массив Mas_KOL[4] на 4 элемента
PHP код:
void Terminal2()
{
int oldticket=0;
double oldlot=0;
int Ticket=0;
int Type=-1;          
int KoL=OrdersHistoryTotal();
   
ArrayInitialize(Mas_KOL,0);
   for(
int i=Kol-1>= 0i--)
     {
      if(
OrderSelect(i,SELECT_BY_POSMODE_HISTORY))
     {    
      if (
OrderSymbol()== Symbol()&& OrderMagicNumber() == Magik)
     {

               
oldticket OrderTicket();
                 if (
oldticket Ticket)
                  {
                   
oldlot OrderLots();
                   
Ticket oldticket;
                   
Type OrderType();
                   }
       
     
      
Mas_KOL[0]++;//количество орд в истории
      
}
      }
      }
      
Mas_KOL[1]=oldlot;//лот последнего орд в истории
      
Mas_KOL[2]=Ticket;//тикет последнего орд в истории
      
Mas_KOL[3]=Type;//тип последнего орд в истории


https://www.mql5.com/ru/market/product/20691
05.06.2016, 09:11
Аватар для Mr Пронька
Mr Пронька Mr Пронька вне форума Заблокирован
Регистрация: 05.06.2016 / Сообщений: 1
Поблагодарили 0 раз(а) / Репутация: 1
Помогите с починкой индикатора, криво кажет или совсем не кажет в подвале
05.06.2016, 09:17
Аватар для Alex Green
Alex Green Alex Green вне форума Прохожий
Регистрация: 21.09.2014 / Сообщений: 333
Поблагодарили 839 раз(а) / Репутация: 840
держите, используется массив Mas_KOL[4] на 4 элемента
PHP код:
void Terminal2()
{
int oldticket=0;
double oldlot=0;
int Ticket=0;
int Type=-1;          
int KoL=OrdersHistoryTotal();
   
ArrayInitialize(Mas_KOL,0);
   for(
int i=Kol-1>= 0i--)
     {
      if(
OrderSelect(i,SELECT_BY_POSMODE_HISTORY))
     {    
      if (
OrderSymbol()== Symbol()&& OrderMagicNumber() == Magik)
     {

               
oldticket OrderTicket();
                 if (
oldticket Ticket)
                  {
                   
oldlot OrderLots();
                   
Ticket oldticket;
                   
Type OrderType();
                   }
       
     
      
Mas_KOL[0]++;//количество орд в истории
      
}
      }
      }
      
Mas_KOL[1]=oldlot;//лот последнего орд в истории
      
Mas_KOL[2]=Ticket;//тикет последнего орд в истории
      
Mas_KOL[3]=Type;//тип последнего орд в истории

Позволю не согласиться, т.к. проверка идет по тикету, а не по времени закрытия. Последний закрытый ордер не всегда имеет больший тикет. Логичнее производить проверку по OrderCloseTime().
Плюс, нет проверки на то, был ли этот ордер закрыт или просто удален.

Последний раз редактировалось Alex Green; 05.06.2016 в 09:24.
05.06.2016, 09:42
Аватар для olegkom
olegkom olegkom вне форума Новичок форума
Регистрация: 20.04.2011 / Сообщений: 70
Поблагодарили 23 раз(а) / Репутация: 24
Убрал мелкие ошибки.
Спасибо. как сделать вход не по закрытию бара а на текущей свече при появлении стрелки?
05.06.2016, 10:34
Аватар для Alex Green
Alex Green Alex Green вне форума Прохожий
Регистрация: 21.09.2014 / Сообщений: 333
Поблагодарили 839 раз(а) / Репутация: 840
пост #8420

Пробуйте.
05.06.2016, 10:53
Аватар для Alex Green
Alex Green Alex Green вне форума Прохожий
Регистрация: 21.09.2014 / Сообщений: 333
Поблагодарили 839 раз(а) / Репутация: 840
Спасибо. как сделать вход не по закрытию бара а на текущей свече при появлении стрелки?


Опять же 32 и 33 строки. Последний параметр вместо 1 ставите 0.
Если количество открываемых ордеров на текущем баре необходимо ограничить, то потребуется дополнительный ограничитель открытых позиций.
olegkom , Tankk 
05.06.2016, 11:50
Аватар для djekiii-xxx
djekiii-xxx djekiii-xxx на форуме Активный участник
Регистрация: 25.08.2013 / Сообщений: 105
Поблагодарили 63 раз(а) / Репутация: 64
Здравствуйте mobidik.
Помогите пожалуйста добавить в советник функцию увеличения лота.То-есть, если сделка, лотом 1.0, закрылась по стопу или просто в минус , то следующая открывается с увеличением 1.5 или 2.0. Хорошо бы если это ещё можно было бы контролировать. То-есть , через сколько подряд закрытых ордеров в минус или по стопу, советник начинает добавлять лот.
Ответить

Метки
доработать эксперта, доработка индикаторов, исправить советник, программисты форекс


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 08:45. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO