Ответить
20.09.2014, 12:48
Аватар для Bob5
Bob5 Bob5 вне форума Новичок форума
Регистрация: 12.01.2011 / Сообщений: 77
Поблагодарили 25 раз(а) / Репутация: 26
Гут, потихоньку учусь.
25.09.2014, 20:10
Аватар для vovagubforex
vovagubforex vovagubforex вне форума Интересующийся
Регистрация: 02.03.2013 / Сообщений: 3
Поблагодарили 0 раз(а) / Репутация: 1
Ребят подскажите, странные вещи какие то с оператором for MQL4
конструкция for(i=1;i <= 500;i++) Print("-----",i);
печатает в терминале цифры от 273 до 500. что я делаю не так.
пробовал с while организовать, та же картина.
мне надо свечки 5 минутки обработать за сутки их 1440, а цикл не могу организовать. Щас вот пробую только с принтом, а не работает.
С помощью if не могу, так как нет goto...
25.09.2014, 20:32
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от: vovagubforex
Ребят подскажите, странные вещи какие то с оператором for MQL4
конструкция for(i=1;i <= 500;i++) Print("-----",i);
печатает в терминале цифры от 273 до 500. что я делаю не так.
пробовал с while организовать, та же картина.
мне надо свечки 5 минутки обработать за сутки их 1440, а цикл не могу организовать. Щас вот пробую только с принтом, а не работает.
С помощью if не могу, так как нет goto...
Нормально должен печатать. Просто в журнал не помещается. открой лог из папки экспертов и там всё найдёшь.
А goto можно заменить пользовательской функцией.

Последний раз редактировалось AlexeyVik; 25.09.2014 в 20:34.
26.09.2014, 05:39
Аватар для vovagubforex
vovagubforex vovagubforex вне форума Интересующийся
Регистрация: 02.03.2013 / Сообщений: 3
Поблагодарили 0 раз(а) / Репутация: 1
2 AlexeyVik
Спасибо, в логе действительно все есть. Я тока начал изучать MQL, возьму на заметку.
Вы написали также - А goto можно заменить пользовательской функцией.
пользовательская функция это понятно, но какая конструкция при вызове ? Если несложно в двух словах.
Спасибо.
26.09.2014, 12:17
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
_http://book.mql4.com/ru/basics/functions

Последний раз редактировалось NSerega; 26.09.2014 в 12:55.
26.09.2014, 13:01
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от: vovagubforex
2 AlexeyVik
Спасибо, в логе действительно все есть. Я тока начал изучать MQL, возьму на заметку.
Вы написали также - А goto можно заменить пользовательской функцией.
пользовательская функция это понятно, но какая конструкция при вызове ? Если несложно в двух словах.
Спасибо.
Так-же как в васике
if(истина) goto куда-то
так и в mql
if(истина) вызов функции

возможны варианты:
if(истина)
{
//набор команд
}
else вызов функции

Только вот в васике за счёт этого goto можно пропустить некоторые строки кода, а в mql как и в С# после выхода из функции код выполняется со следующей строки после вызова этой функции...
26.09.2014, 16:56
Аватар для vovagubforex
vovagubforex vovagubforex вне форума Интересующийся
Регистрация: 02.03.2013 / Сообщений: 3
Поблагодарили 0 раз(а) / Репутация: 1
спасибо тем кто ответил, но не надо так разжовывать про функции, я спросил про них так как мне ответили что их както можно исползовать для циклов. Программирую на дельфях, басике и немного на сях.
Думал что есть какието спец конструкции именно в MQL4.
Здесь чтобы именно mql поучить, так как систему наработал, пора индюка написать. Очень оперативно на этом форуме отвечают новичкам. Спасибо.
Буду и дальше приставать.
29.09.2014, 14:29
Аватар для Atragenarius
Atragenarius Atragenarius вне форума Активный участник
Регистрация: 05.10.2009 / Сообщений: 25
Поблагодарили 4 раз(а) / Репутация: 4

Непонимание Помогите в написании советника

Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) < RsiMinimum ))
на примерно такое &&((3_Level_ZZ_Semafor) == буферу 4 ))
и
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) >RsiMaximum ))
на &&((3_Level_ZZ_Semafor) == буферу 5 ))
я не могу никак сообразить.

Последний раз редактировалось Atragenarius; 29.09.2014 в 14:31. Причина: ошибка в грамматике
01.10.2014, 14:08
Регистрация: 20.10.2013 / Адрес: Лас-Пальмас-де-Гран-Канария / Сообщений: 701
Поблагодарили 2,599 раз(а) / Репутация: 2596
Сообщение от: Atragenarius
Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) < RsiMinimum ))
на примерно такое &&((3_Level_ZZ_Semafor) == буферу 4 ))
и
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) >RsiMaximum ))
на &&((3_Level_ZZ_Semafor) == буферу 5 ))
я не могу никак сообразить.
Зачем же вы во всех топиках пишите -достаточно в одной ветке
Ты не старайся, и у тебя всё получится.
01.10.2014, 15:09
Регистрация: 13.03.2009 / Сообщений: 2,329
Поблагодарили 1,949 раз(а) / Репутация: 2026
Сообщение от: Atragenarius
Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) < RsiMinimum ))
на примерно такое &&((3_Level_ZZ_Semafor) == буферу 4 ))
и
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) >RsiMaximum ))
на &&((3_Level_ZZ_Semafor) == буферу 5 ))
я не могу никак сообразить.
Вероятность ответа на вопрос, напрямую зависит от чёткости формулирования мыслей в нём. Если в вопросе сплошной бред, вряд ли кто то будет отвечать.
У меня крокодил красный, а надо что то вроде направо. Никак не соображу, как пожарить гвозди. Сложно ответить, не правда ли. А главное, желания отвечать не возникает.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 01.10.2014 в 15:14.
04.10.2014, 16:06
Аватар для Вовка_25
Вовка_25 Вовка_25 вне форума Новичок форума
Регистрация: 13.05.2011 / Адрес: Россия / Сообщений: 33
Поблагодарили 23 раз(а) / Репутация: 24

По умолчанию хелпппп

приветствую,кто может выручить,нужно вставить индикатор supertrendprofit4 в шаблон Exp - Templates,плиз выручайте
05.10.2014, 09:27
Аватар для Atragenarius
Atragenarius Atragenarius вне форума Активный участник
Регистрация: 05.10.2009 / Сообщений: 25
Поблагодарили 4 раз(а) / Репутация: 4
Я думал это тупиковая ветка уважаемый ksardas, где вообще никто не отвечает. Потому что на моём мониторе отражается страница 155, а 156 уже полмесяца нет. Теперь вижу, я ошибся. Ещё раз хочу поблагодарить Вас за содержательный ответ. Благодаря ему советник работает отлично.К сожалению на тестере он не проверяется - мультивалютный. Но ставки делает осмысленные и не от фонаря, а от семафора. А потом Вы читали сообщение от Угара и понимаете, как мне повезло с Вами.

Последний раз редактировалось Atragenarius; 05.10.2014 в 09:30.
05.10.2014, 09:38
Регистрация: 20.10.2013 / Адрес: Лас-Пальмас-де-Гран-Канария / Сообщений: 701
Поблагодарили 2,599 раз(а) / Репутация: 2596
Сообщение от: Atragenarius
... и понимаете, как мне повезло с Вами.
Ты не старайся, и у тебя всё получится.
05.10.2014, 18:06
Аватар для Nensi
Nensi Nensi вне форума Интересующийся
Регистрация: 05.10.2014 / Сообщений: 6
Поблагодарили 0 раз(а) / Репутация: 1

По умолчанию Приветствую грамотных людей!

И прошу у вас помощи.
Код кое как сам переделал,а вот с сигналам загвоздка возникла.
Помогите плиз.
PHP код:
extern bool Show_VISUAL_Alerts=true;
string Shortname;
 
if(
Show_VISUAL_Alerts==true){        
string SIG_Wing="";
color  SIG_Wing_Color;
              
       if(
bif1[0]<=bif2[0]){SIG_Wing="n";  SIG_Wing_Color=Lime;}
       if(
bif1[0]>bif2[0]){SIG_Wing="n";  SIG_Wing_Color=Red;}
  

      
ObjectDelete(Shortname+"sigal_box");
      
ObjectCreate(Shortname+"sigal_box"OBJ_LABEL,WindowFind(INDNAME), 00);
     
ObjectSetText(Shortname+"sigal_box"SIG_Wing50"webdings",SIG_Wing_Color );
         
ObjectSet(Shortname+"sigal_box"OBJPROP_CORNER3);
         
ObjectSet(Shortname+"sigal_box"OBJPROP_XDISTANCE10);
         
ObjectSet(Shortname+"sigal_box"OBJPROP_YDISTANCE35);
  ) 
09.10.2014, 11:22
Аватар для Atragenarius
Atragenarius Atragenarius вне форума Активный участник
Регистрация: 05.10.2009 / Сообщений: 25
Поблагодарили 4 раз(а) / Репутация: 4
Здравствуйте уважаемый ksardas! Хочу задать дополнительный вопрос по предыдущему делу. Семафор неплохой указатель тренда. Но часто бывает так, дополнительный указатель входа срабатывает в конце периода. Скажем так, полупериод 5мин. графика 75 минут, период 242 мин. А если указатель срабатывает за 10-15 минут до конца периода или полупериода, то ещё не всё потеряно, а вот если за 5минут,то ставка проиграна наверняка.Нельзя ли в то выражение, которое Вы мне дали подставить следующее выражение,
(iCustom(Symbol(),Period(),"3_Level_ZZ_Semafo r",5 ,1) > Close[1] )&&(ограничить действие сигнала Семафора 5 - 30 минутами.).
Мне кажется в языке MQL4 есть что-то подобное, но проблемы со зрением не дают возможность детально разобраться. А потом в любом языке програмирования всегда есть вещи о которых просто не пишут, но кому надо знают.
12.10.2014, 16:33
Аватар для Капиталист
Капиталист Капиталист вне форума Активный участник
Регистрация: 30.04.2011 / Сообщений: 118
Поблагодарили 64 раз(а) / Репутация: 65
Привет всем!
Кто в курсе помогите пожалуйста, как создать стрелочник на основе пересечения двух разных индикаторов, может есть шаблон как вставить в стрелочник какой нибудь параметры двух индюков?
Хочется автоматизировать через iCustom пересечение двух индюков кто сможет помочь?
Спасибо!
13.10.2014, 10:49
Аватар для 165
165 165 вне форума Местный знаток
Регистрация: 30.06.2010 / Адрес: 24 регион / Сообщений: 1,305
Поблагодарили 810 раз(а) / Репутация: 815
  • Отправить сообщение для 165 с помощью ICQ
Столкнулся сегодня с такой проблемой.
Допустим с помощью функции iCustom("EURUSD",15,"Индикатор",0,1)
т.е. вызываю индикатор на 15 минутном графике евро/доллар.
А вот могу ли я так:
iCustom("USDCAD",15,"Индикатор",0,1)
iCustom("EURCAD",15,"Индикатор",0,1)
iCustom("EURJPY",15,"Индикатор",0,1)
iCustom("EURGBP",15,"Индикатор",0,1)
iCustom("EURCHF",15,"Индикатор",0,1)
....
ну и так далее вообщем все валюты.

Теперь сам вопрос, мне ведь вначале надо загрузить (или хотябы открыть все эти графики) что бы появились хотябы значения. Но как быть потом? будут ли они автоматически загружаться или надо эти графики держать всегда открытыми?

Я понимаю, что можно и проверить, но под рукой нет МТ4
13.10.2014, 10:54
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Столкнулся сегодня с такой проблемой.
Допустим с помощью функции iCustom("EURUSD",15,"Индикатор",0,1)
т.е. вызываю индикатор на 15 минутном графике евро/доллар.
А вот могу ли я так:
iCustom("USDCAD",15,"Индикатор",0,1)
iCustom("EURCAD",15,"Индикатор",0,1)
iCustom("EURJPY",15,"Индикатор",0,1)
iCustom("EURGBP",15,"Индикатор",0,1)
iCustom("EURCHF",15,"Индикатор",0,1)
....
ну и так далее вообщем все валюты.

Теперь сам вопрос, мне ведь вначале надо загрузить (или хотябы открыть все эти графики) что бы появились хотябы значения. Но как быть потом? будут ли они автоматически загружаться или надо эти графики держать всегда открытыми?

Я понимаю, что можно и проверить, но под рукой нет МТ4
Открывать графики не обязательно. Но обязательно значение iCustom() присвоить переменной для дальнейшей работы с этим значением.
13.10.2014, 11:00
Регистрация: 13.03.2009 / Сообщений: 2,329
Поблагодарили 1,949 раз(а) / Репутация: 2026
Столкнулся сегодня с такой проблемой.
Допустим с помощью функции iCustom("EURUSD",15,"Индикатор",0,1)
т.е. вызываю индикатор на 15 минутном графике евро/доллар.
А вот могу ли я так:
iCustom("USDCAD",15,"Индикатор",0,1)
iCustom("EURCAD",15,"Индикатор",0,1)
iCustom("EURJPY",15,"Индикатор",0,1)
iCustom("EURGBP",15,"Индикатор",0,1)
iCustom("EURCHF",15,"Индикатор",0,1)
....
ну и так далее вообщем все валюты.

Теперь сам вопрос, мне ведь вначале надо загрузить (или хотябы открыть все эти графики) что бы появились хотябы значения. Но как быть потом? будут ли они автоматически загружаться или надо эти графики держать всегда открытыми?

Я понимаю, что можно и проверить, но под рукой нет МТ4
Можно и так.
Все используемые валютные пары должны быть в окне "Обзор рынка". Тогда и данные будут по ним. Кроме того, нужно что бы по всем парам была, хотя бы минимальная, история которая требуется для работы "Индикатор". Дальше история будет писаться терминалом если индикаторы или советники будут работать по этим парам.
А окна открывать не обязательно, разве что для визуального контроля.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
165 
13.10.2014, 11:10
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от: Капиталист
Привет всем!
Кто в курсе помогите пожалуйста, как создать стрелочник на основе пересечения двух разных индикаторов, может есть шаблон как вставить в стрелочник какой нибудь параметры двух индюков?
Хочется автоматизировать через iCustom пересечение двух индюков кто сможет помочь?
Спасибо!
Всё зависит от значений которые имеют индикаторы, в каких диапазонах они меняют свои значения.
Ответить

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


Опции темы

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

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



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


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