Ответ
 
Опции темы
Старый 05.12.2013, 16:05   #2041 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547

По умолчанию Улыбнули))


Сообщение от ansol Посмотреть сообщение
Я вот никогда не считал, что "две головы лучше", просто с моей невнимательностью одному работать нельзя.
Я тут нарисовал классный советник, но почему-то он, падла, больше 30% в месяц не хочет зарабатывать, хотя ясно, что можно рубить капусту в больших количествах. Наверное, еще где-то у меня такие же глюки закрались, а я и не знаю
на мой взгляд написание кода советника открывает многие вещи, когда думал что черное, оно оказалось белым, и наоборот...всякая теория проверяется практикой..
даже если ТС написана и подписана известными трейдерами и теоретиками Forex...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.12.2013, 16:35   #2042 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547

По умолчанию какой билд последний???


Сообщение от ansol Посмотреть сообщение
дык, на mql4.com, больше некуда!Там метакватовские представители бывают хотя бы и есть ветки по всяким модернизациям. Кстати, они 529 версию запилили "с новым компилятором", не успел ты

Там некий модератор Renat отвечает как представитель МТ
извиняюсь, не понял на счет 529 билда, его выпустили или забраковали?
поясните плиз значение слова "запилили"?))

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.12.2013, 16:57   #2043 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 829
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 843 раз(а) в 554 сообщениях
Поинты: 1308
Сообщение от Milord Посмотреть сообщение
извиняюсь, не понял на счет 529 билда, его выпустили или забраковали?
поясните плиз значение слова "запилили"?))
В гугл по словосочетанию "дверь мне запили!"

Тестируют версию МТ4 с компилятором от МТ5, вернее, принципы МТ5 и некоторые фишки от него же. Текущая версия для тестеров 559, кажись, постоянно что-то допиливают и номер версии подкручивают, но в любом случае, скоро весь этот бардак на головы программистов обвалится, а кто не шарит в программировании, будет курить бамбук до адаптации любимого сова к новым реалиям.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Milord (05.12.2013)
Старый 05.12.2013, 16:59   #2044 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 829
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 843 раз(а) в 554 сообщениях
Поинты: 1308
Обсуждение уже на 91 странице _http://forum.mql4.com/ru/58760/page91

Последний раз редактировалось NSerega; 05.12.2013 в 18:32.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Milord (05.12.2013)
Старый 05.12.2013, 17:42   #2045 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547

По умолчанию маленькое уточнение..)


Сообщение от ansol Посмотреть сообщение
Ну это я так, с разгону
Bid - цена покупки, именно ей оперируют все индюки и даже часто кривые советники. Между тем есть еще цена Ask - для продажи.
Если у вас на покупку Buy все верно, а на Sell неправильно, то возникает предположение, что не та цена используется. Вот и все.
Пардон, что влез, счас более вумные люди подскажут, но код надо поковырять и спрашивать по MQL4, а не "почему у меня не работает"
извините, хочу уточнить вашу мысль, в справке MQL4 читаем:

Скрытый текст

PHP код:
double Bid
Последняя известная цена покупки 
(предложение на покупкутекущего инструментаДля обновления необходимо использовать функцию RefreshRates().
Смтакже MarketInfo(). 
Пример:
  if(
iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
    {
     
OrderSend("EURUSD",OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,
               
"Мой заказ #2",3,D'2005.10.10 12:30',Red);
     return(
0);
    } 
PHP код:
double Ask
Последняя известная цена продажи 
(запрашиваемая ценатекущего инструментаДля обновления необходимо использовать функцию RefreshRates().
Смтакже MarketInfo(). 
Пример:
  if(
iRSI(NULL,0,14,PRICE_CLOSE,0)<25)
    {
     
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,
               
"Order Buy #2",3,D'2005.10.10 12:30',Red);
     return;
    } 
[свернуть]

обратите внимание что ордер BUY открывается по Ask, а ордер SELL по Bid,то есть спред уходит брокеру, через которого мы работаем...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось NSerega; 05.12.2013 в 18:32.
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.12.2013, 17:55   #2046 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
При тесте советника в журнал валятся такие сообщения в бесчисленном кол-ве
PHP код:
дата и время FastTMALine EURUSD,M5removed
дата и время FastTMALine EURUSD
,M5loaded successfully 
Видимо так и надо, но можно ли убрать подобные сообщения?
Не удобно дебажить советник.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 05.12.2013, 20:55   #2047 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от matro3 Посмотреть сообщение
При тесте советника в журнал валятся такие сообщения в бесчисленном кол-ве
PHP код:
дата и время FastTMALine EURUSD,M5removed
дата и время FastTMALine EURUSD
,M5loaded successfully 
Видимо так и надо, но можно ли убрать подобные сообщения?
Не удобно дебажить советник.
По моему это когда ты вызываешь пользовательский индикатор, который в свою очередь вызывает ещё один пользовательский индикатор.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
matro3 (05.12.2013)
Старый 05.12.2013, 22:04   #2048 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Сообщение от Maxsims Посмотреть сообщение
Здравствуйте. Прошу помочь в одном вопросе. Как добавить функция в советник, чтобы после получения стоп-лосса, сов не спешил открывать сделки, а ждал какое-нибудь заданное время. А то часто бывает стоп получен и тут же сов ставит снова ордер и снова стоп получает, и так раза по 3-4 подряд, когда сильная коррекция идет.
Нашел похожее решение у Кима:
PHP код:
int NumberOfBarOpenLastPos(string sym=""int tf=0int op=-1int mn=-1) {
   
datetime oot;
   
int      ik=OrdersTotal();
 
      for (
i=0i<ki++)
      {
         if (
OrderSelect(iSELECT_BY_POSMODE_HISTORY))
            if (
OrderSymbol()==sym)
               if (
OrderType()==OP_BUY || OrderType()==OP_SELL)
                  if (
op<|| OrderType()==op)
                     if (
mn<|| OrderMagicNumber()==mn)
                        if (
oot<OrderOpenTime()) oot=OrderCloseTime();
      }
   }
   return(
iBarShift(symtfootTrue));

ворачичает больше ноля - значит это следующий бар
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 00:51   #2049 (permalink)
Почётный гражданин
 
Аватар для Dobryj
 
Регистрация: 07.06.2012
Сообщений: 222
Репутация: 325
Dobryj Dobryj Dobryj Dobryj
Сказал(а) спасибо: 384
Поблагодарили 293 раз(а) в 127 сообщениях
Поинты: 100
eevviill прошу опять о помощи ни как не могу прописать ту логику которая нужна ...
надо поменять значение в текстовом массиве ни как не получается


PHP код:
// Готовим массив с размерами колонок
   
int ColWidth[]={9};
   
string Content[];   // количество строк
if(full_version==true)
{
Content[85];}
else
{
Content[40];}
что то вроде этого 

Последний раз редактировалось Dobryj; 06.12.2013 в 00:54.
Dobryj вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 06:49   #2050 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Dobryj Посмотреть сообщение
eevviill прошу опять о помощи ни как не могу прописать ту логику которая нужна ...
надо поменять значение в текстовом массиве ни как не получается


PHP код:
// Готовим массив с размерами колонок
   
int ColWidth[]={9};
   
string Content[];   // количество строк
if(full_version==true)
{
Content[85];}
else
{
Content[40];}
что то вроде этого 
Чтобы поменять надо написать например Content[1]="hgft";
Это значит что в 2-ую по порядку ячейку записано значение "hgft"
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Dobryj (06.12.2013)
Старый 06.12.2013, 09:11   #2051 (permalink)
Местный житель
За призовое место в конкурсе 

 
Аватар для Чико
 
Регистрация: 14.03.2010
Сообщений: 602
Репутация: 284
Чико Чико Чико
Сказал(а) спасибо: 37
Поблагодарили 280 раз(а) в 189 сообщениях
Поинты: 55
Сообщение от ansol Посмотреть сообщение
1. Можно пропускать пипсы, т.е. подождать пока цена отползет на N*Point
2. Можно пропускать тики, т.е. подождать, пока пройдет N тиков по значению Volume()
3. можно просто "заморозить" сову на несколько (милли)секунд Sleep()

Ммм?
4.можно задать интервал времени,втечение которого не будут выставляться ордера

extern int delta_tm=60; //задаваемый интервал (60 секунд)
//----------------------------------------------------------------------
int tm0=TimeCurrent(); //запись времени закрытия ордера
//----------------------------------------------------------------------
int tm1=TimeCurrent(); //проверка текущего времени
if((tm1-tm0)<delta_tm))
return(0);

Последний раз редактировалось Чико; 06.12.2013 в 09:14.
Чико на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 09:24   #2052 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 829
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 843 раз(а) в 554 сообщениях
Поинты: 1308
Сообщение от Чико Посмотреть сообщение
4.можно задать интервал времени,втечение которого не будут выставляться ордера
Так выше чел отписался - его устраивает открытие на следующей свече, все просто, правда, кимовский уродский код не вполне отвечает этой идее, но главное - результат!
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 09:34   #2053 (permalink)
Местный житель
За призовое место в конкурсе 

 
Аватар для Чико
 
Регистрация: 14.03.2010
Сообщений: 602
Репутация: 284
Чико Чико Чико
Сказал(а) спасибо: 37
Поблагодарили 280 раз(а) в 189 сообщениях
Поинты: 55
Сообщение от ansol Посмотреть сообщение
Так выше чел отписался - его устраивает открытие на следующей свече, все просто, правда, кимовский уродский код не вполне отвечает этой идее, но главное - результат!
Ну и ладушки..))
Чико на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 11:20   #2054 (permalink)
Почётный гражданин
 
Аватар для Dobryj
 
Регистрация: 07.06.2012
Сообщений: 222
Репутация: 325
Dobryj Dobryj Dobryj Dobryj
Сказал(а) спасибо: 384
Поблагодарили 293 раз(а) в 127 сообщениях
Поинты: 100
Сообщение от eevviill Посмотреть сообщение
Чтобы поменять надо написать например Content[1]="hgft";
Это значит что в 2-ую по порядку ячейку записано значение "hgft"
Спасибо но немного не то , это функция отвечает за количество нарисованных строк в таблице, количество в массиве Content[]
и есть число строк ,как его поменять с Content[85]на Content[40]
при
bool int A=true;
если так как вы написали прописывать значения по новому адресу , все равно остануться пустые строки таблицы ...

Последний раз редактировалось Dobryj; 06.12.2013 в 11:25.
Dobryj вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 11:33   #2055 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Dobryj Посмотреть сообщение
Спасибо но немного не то , это функция отвечает за количество нарисованных строк в таблице, количество в массиве Content[]
и есть число строк ,как его поменять с Content[85]на Content[40]
при
bool int A=true;
если так как вы написали прописывать значения по новому адресу , все равно остануться пустые строки таблицы ...
А.
PHP код:
ArrayResize(Content,40); 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Dobryj (06.12.2013)
Старый 06.12.2013, 11:41   #2056 (permalink)
Местный житель
За призовое место в конкурсе 

 
Аватар для Чико
 
Регистрация: 14.03.2010
Сообщений: 602
Репутация: 284
Чико Чико Чико
Сказал(а) спасибо: 37
Поблагодарили 280 раз(а) в 189 сообщениях
Поинты: 55
Сообщение от Dobryj Посмотреть сообщение
...при bool int A=true;
...
Что это за переменная такая??..))..))Должно быть либо bool,либо int-одно из двух..))
Если int,то true не прокатит-нужны цифровые значения..
Чико на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Dobryj (06.12.2013)
Старый 06.12.2013, 11:52   #2057 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Чико Посмотреть сообщение
Что это за переменная такая??..))..))Должно быть либо bool,либо int-одно из двух..))
Если int,то true не прокатит-нужны цифровые значения..
Не правильно.
Напии
PHP код:
bool gtr=true;
Alert(gtr); 
Выйдет еденица.
bool ничто инное как 0 и 1
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 12:41   #2058 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547

По умолчанию Как закрыть все ордера???


Подскажите профи MQL4, как закрыть все ордера на счете, не важно какой у них профит положительный или отрицательный,неважно BUY или SELL???
желателен код покороче, и с пояснениями логики работы...
ЗАРАНЕЕ СПАСИБО!
например:
PHP код:
int start()
{
RefreshRates();
if(
OrdersTotal()<MaxOrders)
  { 
    if(
A>B)  
     {   
     
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"",Magic,0,OrangeRed);
     }

  if(
t>P)
  
//закрываем все ордера
   
{.....}

  }
return(
0);


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 06.12.2013 в 12:56.
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.12.2013, 12:47   #2059 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Milord Посмотреть сообщение
Подскажите профи MQL4, как закрыть все ордера на счете, не важно какой у них профит положительный или отрицательный,неважно BUY или SELL???
желателен код покороче, и с пояснениями логики работы...
ЗАРАНЕЕ СПАСИБО!
например:
PHP код:
int start()

 if(
A>B)  
  {
   
OrderSend(.... );
  }

  if(
t>P)
  
//закрываем все ордера
   
{.....}

return(
0);

Скрытый текст

PHP код:
////////////////////////////////////////////////////////////////////////////////
void Close_all()
{
for(
int i=OrdersTotal()-1i>=0i--)
 {
 if(
OrderSelect(iSELECT_BY_POS))
 {
 if(
OrderMagicNumber()==magic)
 {
 if(
OrderSymbol()==Symbol())
 {
 
bool ticket_ex=false;
 for (
int j_ex 0;j_ex MaxAttemptsj_ex++)
 {
 while(
IsTradeContextBusy()) Sleep(pause_if_busy*1000);
 
RefreshRates();
 
 if(
OrderType()==OP_BUY ticket_ex=OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Yellow); 
 if(
OrderType()==OP_SELLticket_ex=OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Yellow);
 if(
OrderType()==OP_SELLSTOP || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_BUYLIMITticket_ex=OrderDelete(OrderTicket(),CLR_NONE);
 if(
ticket_ex==true)break;
 }
 }
 }
 }
 }
 

[свернуть]
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Milord (06.12.2013)
Старый 06.12.2013, 13:49   #2060 (permalink)
Местный житель
За призовое место в конкурсе 

 
Аватар для Чико
 
Регистрация: 14.03.2010
Сообщений: 602
Репутация: 284
Чико Чико Чико
Сказал(а) спасибо: 37
Поблагодарили 280 раз(а) в 189 сообщениях
Поинты: 55
Сообщение от Чико Посмотреть сообщение
...Если int,то true не прокатит-нужны цифровые значения..
Был неправ-проверил int g=true; ...проходит..))
Чико на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (06.12.2013)
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

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

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



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


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