Ответ
 
Опции темы
Старый 31.05.2015, 22:03   #3921 (permalink)
Новичок форума
 
Аватар для Mirosha
 
Регистрация: 25.02.2010
Сообщений: 17
Репутация: 5
Mirosha
Сказал(а) спасибо: 21
Поблагодарили 4 раз(а) в 3 сообщениях
Поинты: 2
Сообщение от mobidik Посмотреть сообщение
В данном случае сам индикатор не нужен, воспользуйтесь ф-цией iVolume
PHP код:
long  iVolume(
   
string           symbol,          // символ
   
int              timeframe,       // период
   
int              shift            // сдвиг
   
); 
Спасибо за ответ , но не подскажите поподробнее в чем отличие между красными и зелеными линиями индикатора.
Mirosha вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 31.05.2015, 22:06   #3922 (permalink)
Местный знаток
 
Аватар для Gnn-life
 
Регистрация: 09.04.2012
Адрес: Питер
Сообщений: 478
Репутация: 998
Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life -
Сказал(а) спасибо: 552
Поблагодарили 998 раз(а) в 299 сообщениях
Поинты: 102
Сообщение от Mirosha Посмотреть сообщение
Спасибо за ответ , но не подскажите поподробнее в чем отличие между красными и зелеными линиями индикатора.
вот где здесь в коде зеленые и красные линии?...переменные

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Gnn-life на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 31.05.2015, 22:31   #3923 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,655
Репутация: 8580
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 634
Поблагодарили 8,576 раз(а) в 1,569 сообщениях
Поинты: 804
Сообщение от Gnn-life Посмотреть сообщение
это у нас тут мобидик мастер)))
И к чему тут твой сарказм?

Сообщение от Mirosha Посмотреть сообщение
Спасибо за ответ , но не подскажите поподробнее в чем отличие между красными и зелеными линиями индикатора.
Если значение Volume на текущем баре больше за предыдущие - цвет зеленый, если меньше - красный.
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Mirosha (31.05.2015)
Старый 31.05.2015, 22:39   #3924 (permalink)
Местный знаток
 
Аватар для Gnn-life
 
Регистрация: 09.04.2012
Адрес: Питер
Сообщений: 478
Репутация: 998
Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life - Gnn-life -
Сказал(а) спасибо: 552
Поблагодарили 998 раз(а) в 299 сообщениях
Поинты: 102
Сообщение от mobidik Посмотреть сообщение
И к чему тут твой сарказм?



Если значение Volume на текущем баре больше за предыдущие - цвет зеленый, если меньше - красный.
Сашка) нет никакого сарказма) НАОБОРОТ уважуха и респект! Считаю тебя очень умным прогером, правда)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Gnn-life на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.06.2015, 07:21   #3925 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от matro3 Посмотреть сообщение
Тогда и я хотел бы знать как это сделать...
Можно выводить инфу из индюка через глобальные переменные терминала, но для этого их нужно и в самом индюке прописывать. Плюс в том, что их количество не ограничено и в них можно любые формулы дополнительных расчетов прописать в индюке и запросов к индюку не будет из сова.
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.06.2015, 18:27   #3926 (permalink)
Новичок форума
 
Аватар для CrazyDoc
 
Регистрация: 02.05.2015
Адрес: Ступино
Сообщений: 28
Репутация: 12
CrazyDoc
Сказал(а) спасибо: 4
Поблагодарили 11 раз(а) в 7 сообщениях
Поинты: 20
Доброго времени суток. Подскажите пожалуйста способ рассчитать(в теле бара, т.е. первое соприкосновение) точку пересечения МА и цены. Т.е. в реальном времени, придать значение переменной равное уровню цены в момент пересечения.
CrazyDoc вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 03:36   #3927 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Рассчитываешь МА_0 и МА_1 - _http://docs.mql4.com/ru/indicators/ima
Далее: Close[1]<MA_1 && Close[0]>MA_0 или Close[1]<MA_1 && Close[0]<MA_0

Последний раз редактировалось NSerega; 02.06.2015 в 12:22.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
CrazyDoc (02.06.2015)
Старый 02.06.2015, 04:22   #3928 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от matro3 Посмотреть сообщение
Рассчитываешь МА_0 и МА_1 - _http://docs.mql4.com/ru/indicators/ima
Далее: Close[1]<MA_1 && Close[0]>MA_0 или Close[1]<MA_1 && Close[0]<MA_0
Может быть, вместо Close[0] использовать Bid, а вместо Close[1] - Open[0] ?
Разница между закрытием предыдущей и открытием следующей - гэп, который случается нередко, не?

Последний раз редактировалось NSerega; 02.06.2015 в 12:22.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
CrazyDoc (02.06.2015), Viko2000 (02.06.2015)
Старый 02.06.2015, 05:12   #3929 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от CrazyDoc Посмотреть сообщение
Доброго времени суток. Подскажите пожалуйста способ рассчитать(в теле бара, т.е. первое соприкосновение) точку пересечения МА и цены. Т.е. в реальном времени, придать значение переменной равное уровню цены в момент пересечения.
Насколько я понял:
double MA, Price;
int UpDown;
void OnInit()
{
MA = iMA(NULL, 0, period, 0, 3, 0, 0);
if (Bid>=MA) UpDown=1; //если текущая цена при первом запуске сова выше или равна текущего показания машки, то флаговой переменной присваиваем 1 - запоминаем положение графика относительно машки, как высшее
if (Bid<MA) UpDown=2; //запоминаем, как низшее относительно показаний машки
}
void OnTick()
{
MA = iMA(NULL, 0, period, 0, 3, 0, 0);//period и 3-ка - это параметры машки, которые уже сам вставишь
if (IsNewBar)
{
if (UpDown==1 && MA<Bid) {Price=Bid; UpDown=2;}
if (UpDown==2 && MA>Bid) {Price=Bid; UpDown=1;}
}
//Далее уже имеем цену Price для торгов после последнего пересечения
Дополнительная функция для определения открытия нового бара:
bool IsNewBar()
{
static datetime Told;
datetime Tnew[1];
CopyTime(Symbol(),PERIOD_CURRENT,0,1,Tnew);
if(Tnew[0]!=Told)
{
Told=Tnew[0];
return(true);
}
return(false);
}
Параметр UpDown можно использовать для определения последнего направления пересечения цены и машки UpDown=1 - последнее пересечение было сверху вниз и UpDown=2 - соответственно наоборот - снизу вверх.

Последний раз редактировалось vladradon; 02.06.2015 в 05:49.
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
CrazyDoc (02.06.2015)
Старый 02.06.2015, 06:24   #3930 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 343
Репутация: 836
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 30
Поблагодарили 832 раз(а) в 333 сообщениях
Поинты: 402
Сообщение от vladradon Посмотреть сообщение
Насколько я понял:
Попробуйте оформлять вставки кода с использованием:
Код HTML:
[CODE]Здесь идет код мега-рубилки баксов[/CODE]
Который будет выглядеть так:
Код:
Здесь идет код мега-рубилки баксов
А то оформленный в виде обычного неотформатированного текста код читать невозможно, да и нет никакого желания...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 06:26   #3931 (permalink)
Новичок форума
 
Аватар для CrazyDoc
 
Регистрация: 02.05.2015
Адрес: Ступино
Сообщений: 28
Репутация: 12
CrazyDoc
Сказал(а) спасибо: 4
Поблагодарили 11 раз(а) в 7 сообщениях
Поинты: 20
matro3, ansol, vladradon спасибо за отклики, сделал так(это тестовый модуль):
double MA, Price;
int UpDown;
void OnInit()
{
MA = iMA(NULL, 0, 15, 0, 0, 0, 0);
if (Bid>=MA) UpDown=1; //если текущая цена при первом запуске сова выше или равна текущего показания машки, то флаговой переменной присваиваем 1 - запоминаем положение графика относительно машки, как высшее
if (Bid<MA) UpDown=2; //запоминаем, как низшее относительно показаний машки
}
void OnTick()
{
MA = iMA(NULL, 0, 15, 0, 3, 0, 0);//period и 3-ка - это параметры машки
if (UpDown==1 && MA<Bid) {Price=MA; UpDown=2; Alert(Price);}
if (UpDown==2 && MA>Bid) {Price=MA; UpDown=1; Alert(Price);}
}
Т.к. требовалось найти пересечение именно в момент движения, а не по сформировавшемуся бару.

Если кому-нибудь интересно, библиотеки которые использую для определения нового бара, mql4(там же и новое событие OnNewBar()): https://yadi.sk/d/B6s-GGY8h2WMm https://yadi.sk/d/XACpJzUwh2WMs
CrazyDoc вне форума   Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
DomovenokBrest (06.06.2015), Viko2000 (02.06.2015), vladradon (02.06.2015)
Старый 02.06.2015, 06:58   #3932 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от vlad_123 Посмотреть сообщение
Попробуйте оформлять вставки кода с использованием:
Код HTML:
[CODE]Здесь идет код мега-рубилки баксов[/CODE]
Который будет выглядеть так:
Код:
Здесь идет код мега-рубилки баксов
А то оформленный в виде обычного неотформатированного текста код читать невозможно, да и нет никакого желания...
Во первых я в основном не вставляю код, а пишу вручную. Во вторых что там читать - элементарная логика. В третьих - сам проверил - весь код можно тупо скопировать в редактор и ошибок нет! Я пишу код в сообщениях так, чтобы можно было скопировать и вставить и если код разделяется по функциям, то уже сам прогер распределит что и куда - мое дело обозначить.

Последний раз редактировалось vladradon; 02.06.2015 в 07:13.
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 07:48   #3933 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Так все же лучше. Вы согласны?

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

Код:
double MA,Price;
   int UpDown;
   void OnInit()
     {
      MA=iMA(NULL,0,period,0,3,0,0);
      if(Bid>=MA) UpDown=1; //если текущая цена при первом запуске сова выше или равна текущего показания машки, то флаговой переменной присваиваем 1 - запоминаем положение графика относительно машки, как высшее
      if(Bid<MA) UpDown=2; //запоминаем, как низшее относительно показаний машки
     }
   void OnTick()
     {
      MA=iMA(NULL,0,period,0,3,0,0);//period и 3-ка - это параметры машки, которые уже сам вставишь
      if(IsNewBar)
        {
         if(UpDown==1 && MA<Bid) {Price=Bid; UpDown=2;}
         if(UpDown==2 && MA>Bid) {Price=Bid; UpDown=1;}
        }
      //Далее уже имеем цену Price для торгов после последнего пересечения
      Дополнительная функция для определения открытия нового бара:
      bool IsNewBar()
        {
         static datetime Told;
         datetime Tnew[1];
         CopyTime(Symbol(),PERIOD_CURRENT,0,1,Tnew);
         if(Tnew[0]!=Told)
           {
            Told=Tnew[0];
            return(true);
           }
         return(false);
        }
[свернуть]
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 07:58   #3934 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 343
Репутация: 836
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 30
Поблагодарили 832 раз(а) в 333 сообщениях
Поинты: 402
Сообщение от vladradon Посмотреть сообщение
Во первых я в основном не вставляю код, а пишу вручную. Во вторых что там читать - элементарная логика.

С таким отношением - не удивляйтесь отсутствию помощи

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 08:26   #3935 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от matro3 Посмотреть сообщение
Так все же лучше. Вы согласны?

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

Код:
double MA,Price;
   int UpDown;
   void OnInit()
     {
      MA=iMA(NULL,0,period,0,3,0,0);
      if(Bid>=MA) UpDown=1; //если текущая цена при первом запуске сова выше или равна текущего показания машки, то флаговой переменной присваиваем 1 - запоминаем положение графика относительно машки, как высшее
      if(Bid<MA) UpDown=2; //запоминаем, как низшее относительно показаний машки
     }
   void OnTick()
     {
      MA=iMA(NULL,0,period,0,3,0,0);//period и 3-ка - это параметры машки, которые уже сам вставишь
      if(IsNewBar)
        {
         if(UpDown==1 && MA<Bid) {Price=Bid; UpDown=2;}
         if(UpDown==2 && MA>Bid) {Price=Bid; UpDown=1;}
        }
      //Далее уже имеем цену Price для торгов после последнего пересечения
      Дополнительная функция для определения открытия нового бара:
      bool IsNewBar()
        {
         static datetime Told;
         datetime Tnew[1];
         CopyTime(Symbol(),PERIOD_CURRENT,0,1,Tnew);
         if(Tnew[0]!=Told)
           {
            Told=Tnew[0];
            return(true);
           }
         return(false);
        }
[свернуть]
Там код разделен на 3 части, которые я описал - кому лучше? Уж точно не тому, кому это надо! А вот если в таком варианте выложить, то точно ничего работать не будет! Я Вам удивляюсь...)))
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 08:30   #3936 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от vlad_123 Посмотреть сообщение

С таким отношением - не удивляйтесь отсутствию помощи
Помочь могу я кому-то, а не мне! Разный уровень!
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 08:48   #3937 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Сообщение от vladradon Посмотреть сообщение
Там код разделен на 3 части, которые я описал - кому лучше? Уж точно не тому, кому это надо! А вот если в таком варианте выложить, то точно ничего работать не будет! Я Вам удивляюсь...)))
А я удивляюсь Вам... ))
Я просто скопировал код, не разбирался будет он работать или нет.
Т.к. в нашей беседе речь идет о читаемости, легком восприятии кода.
Я не настаиваю, пишите как хотите.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 08:58   #3938 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от matro3 Посмотреть сообщение
А я удивляюсь Вам... ))
Я просто скопировал код, не разбирался будет он работать или нет.
Т.к. в нашей беседе речь идет о читаемости, легком восприятии кода.
Я не настаиваю, пишите как хотите.
Без обид! Я просто хотел обозначить, что код блочный и его блоки нужно уже в самом сове распределить по нужным местам: глобальные параметры, Онинит, Онтик(Старт) и отдельная функция, которая вне функции Онтик (Старт). Если все в кучу смешать, то копированием всего кода сразу, только убьешь уже имеющийся код. Спасибо за понимание!

Последний раз редактировалось vladradon; 02.06.2015 в 09:36.
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 09:57   #3939 (permalink)
Новичок форума
 
Аватар для CrazyDoc
 
Регистрация: 02.05.2015
Адрес: Ступино
Сообщений: 28
Репутация: 12
CrazyDoc
Сказал(а) спасибо: 4
Поблагодарили 11 раз(а) в 7 сообщениях
Поинты: 20
Пожалуйста подскажите как для фиксированной суммы пунктов рассчитать лот ордера выводящих несколько ордеров в безубыток? Т.е. к примеру есть ордер0+ордер1+ордер 2, их общий профит Х - какой лот поставить в следующем ордере, чтобы через N(константа) пунктов общий профит стал равен нулю?
CrazyDoc вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2015, 10:32   #3940 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 343
Репутация: 836
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 30
Поблагодарили 832 раз(а) в 333 сообщениях
Поинты: 402
В этом все и дело - если
Сообщение от vladradon Посмотреть сообщение
все в кучу смешать
то получается аутентичный индусский код, в котором трудно даже предположить о
Сообщение от matro3 Посмотреть сообщение
читаемости, легком восприятии кода.
Я, кстати, только из последующих сообщений узнал, что
Сообщение от vladradon Посмотреть сообщение
Там код разделен на 3 части

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 на форуме   Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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