Ваши вопросы по языку MQL4

vovagubforex

Прохожий
Ребят подскажите, странные вещи какие то с оператором for MQL4
конструкция for(i=1;i <= 500;i++) Print("-----",i);
печатает в терминале цифры от 273 до 500. что я делаю не так.
пробовал с while организовать, та же картина.
мне надо свечки 5 минутки обработать за сутки их 1440, а цикл не могу организовать. Щас вот пробую только с принтом, а не работает.
С помощью if не могу, так как нет goto...
 

AlexeyVik

Программист mql4 mql5
Ребят подскажите, странные вещи какие то с оператором for MQL4
конструкция for(i=1;i <= 500;i++) Print("-----",i);
печатает в терминале цифры от 273 до 500. что я делаю не так.
пробовал с while организовать, та же картина.
мне надо свечки 5 минутки обработать за сутки их 1440, а цикл не могу организовать. Щас вот пробую только с принтом, а не работает.
С помощью if не могу, так как нет goto...
Нормально должен печатать. Просто в журнал не помещается. открой лог из папки экспертов и там всё найдёшь.
А goto можно заменить пользовательской функцией.
 
Последнее редактирование:

vovagubforex

Прохожий
2 AlexeyVik
Спасибо, в логе действительно все есть. Я тока начал изучать MQL, возьму на заметку.
Вы написали также - А goto можно заменить пользовательской функцией.
пользовательская функция это понятно, но какая конструкция при вызове ? Если несложно в двух словах.
Спасибо.
 

matro3

Почетный гражданин
_http://book.mql4.com/ru/basics/functions
 
Последнее редактирование модератором:

AlexeyVik

Программист mql4 mql5
2 AlexeyVik
Спасибо, в логе действительно все есть. Я тока начал изучать MQL, возьму на заметку.
Вы написали также - А goto можно заменить пользовательской функцией.
пользовательская функция это понятно, но какая конструкция при вызове ? Если несложно в двух словах.
Спасибо.
Так-же как в васике
if(истина) goto куда-то
так и в mql
if(истина) вызов функции

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

Только вот в васике за счёт этого goto можно пропустить некоторые строки кода, а в mql как и в С# после выхода из функции код выполняется со следующей строки после вызова этой функции...
 

vovagubforex

Прохожий
спасибо тем кто ответил, но не надо так разжовывать про функции, я спросил про них так как мне ответили что их както можно исползовать для циклов. Программирую на дельфях, басике и немного на сях.
Думал что есть какието спец конструкции именно в MQL4.
Здесь чтобы именно mql поучить, так как систему наработал, пора индюка написать. Очень оперативно на этом форуме отвечают новичкам. Спасибо.
Буду и дальше приставать. :)
 

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 ))
я не могу никак сообразить.
 
Последнее редактирование:

ksardas

Гуру форума
Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
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 ))
я не могу никак сообразить.

Зачем же вы во всех топиках пишите -достаточно в одной ветке:facepalm:
 

Ugar

Гуру форума
Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
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 ))
я не могу никак сообразить.
Вероятность ответа на вопрос, напрямую зависит от чёткости формулирования мыслей в нём. Если в вопросе сплошной бред, вряд ли кто то будет отвечать.
У меня крокодил красный, а надо что то вроде направо. Никак не соображу, как пожарить гвозди. Сложно ответить, не правда ли. А главное, желания отвечать не возникает.
 
Последнее редактирование:

Вовка_25

Новичок форума
хелпппп

приветствую,кто может выручить,нужно вставить индикатор supertrendprofit4 в шаблон Exp - Templates,плиз выручайте:disappointed:
 

Вложения

  • Exp - Templates #8 TESTER LIGHT.mq4
    32,2 КБ · Просмотры: 30
  • supertrendprofit4~.mq4
    10,1 КБ · Просмотры: 50

Atragenarius

Новичок форума
Я думал это тупиковая ветка уважаемый ksardas, где вообще никто не отвечает. Потому что на моём мониторе отражается страница 155, а 156 уже полмесяца нет. Теперь вижу, я ошибся. Ещё раз хочу поблагодарить Вас за содержательный ответ. Благодаря ему советник работает отлично.К сожалению на тестере он не проверяется - мультивалютный. Но ставки делает осмысленные и не от фонаря, а от семафора. А потом Вы читали сообщение от Угара и понимаете, как мне повезло с Вами.
 
Последнее редактирование:

Nensi

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

И прошу у вас помощи.
Код кое как сам переделал,а вот с сигналам загвоздка возникла.
Помогите плиз.
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), 0, 0);
     ObjectSetText(Shortname+"sigal_box", SIG_Wing, 50, "webdings",SIG_Wing_Color );
         ObjectSet(Shortname+"sigal_box", OBJPROP_CORNER, 3);
         ObjectSet(Shortname+"sigal_box", OBJPROP_XDISTANCE, 10);
         ObjectSet(Shortname+"sigal_box", OBJPROP_YDISTANCE, 35);
  )
 

Atragenarius

Новичок форума
Здравствуйте уважаемый ksardas! Хочу задать дополнительный вопрос по предыдущему делу. Семафор неплохой указатель тренда. Но часто бывает так, дополнительный указатель входа срабатывает в конце периода. Скажем так, полупериод 5мин. графика 75 минут, период 242 мин. А если указатель срабатывает за 10-15 минут до конца периода или полупериода, то ещё не всё потеряно, а вот если за 5минут,то ставка проиграна наверняка.Нельзя ли в то выражение, которое Вы мне дали подставить следующее выражение,
(iCustom(Symbol(),Period(),"3_Level_ZZ_Semafo r",5 ,1) > Close[1] )&&(ограничить действие сигнала Семафора 5 - 30 минутами.).
Мне кажется в языке MQL4 есть что-то подобное, но проблемы со зрением не дают возможность детально разобраться. А потом в любом языке програмирования всегда есть вещи о которых просто не пишут, но кому надо знают.
 

Капиталист

Активный участник
Привет всем!
Кто в курсе помогите пожалуйста, как создать стрелочник на основе пересечения двух разных индикаторов, может есть шаблон как вставить в стрелочник какой нибудь параметры двух индюков?
Хочется автоматизировать через iCustom пересечение двух индюков кто сможет помочь?
Спасибо!
 

165

Местный знаток
Столкнулся сегодня с такой проблемой.
Допустим с помощью функции 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
 

AlexeyVik

Программист mql4 mql5
Столкнулся сегодня с такой проблемой.
Допустим с помощью функции 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() присвоить переменной для дальнейшей работы с этим значением.
 

Ugar

Гуру форума
Столкнулся сегодня с такой проблемой.
Допустим с помощью функции 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
Можно и так.
Все используемые валютные пары должны быть в окне "Обзор рынка". Тогда и данные будут по ним. Кроме того, нужно что бы по всем парам была, хотя бы минимальная, история которая требуется для работы "Индикатор". Дальше история будет писаться терминалом если индикаторы или советники будут работать по этим парам.
А окна открывать не обязательно, разве что для визуального контроля.
 
  • Like
Реакции: 165

AlexeyVik

Программист mql4 mql5
Привет всем!
Кто в курсе помогите пожалуйста, как создать стрелочник на основе пересечения двух разных индикаторов, может есть шаблон как вставить в стрелочник какой нибудь параметры двух индюков?
Хочется автоматизировать через iCustom пересечение двух индюков кто сможет помочь?
Спасибо!
Всё зависит от значений которые имеют индикаторы, в каких диапазонах они меняют свои значения.
 
Верх