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

vladradon

Программист
Сообщение от: Vik940
Не могли-бы вы показать это на примере , изменение ширины канала "Envelopes" от показаний буфера "MACD".
PHP код:
extern*double*env*=*0.2;
double*env_real=env;
double*env_buf[];
...
for(int*i=0;i<Bars-20;i++)
{
env_real=enf_real_f();
env_buf=iEnvelopes(...,env_real,...);
}
У тебя получается не использование буфера MACD, а его сигнала - где тут точный расчет от буфера?
double*enf_real_f()
{
double*res=env;
double*macd=iMACD(...);
if(macd>0)*res=0.1;
else
if(macd<0)*res=0.3;

return(res);
}

Вот ты опять выкладываешь ориентировочный расчет - где рез? Ты всегда выкладываешь полуфабрикат, который не факт, что будет работать. У тебя хоть что-то есть рабочее?
Где расчет от буфера - у тебя расчет от сигнала MACD?
 
Последнее редактирование:

Vik940

Почетный гражданин
PHP:
extern double env = 0.2;
double env_real=env;
double env_buf[];
...
for(int i=0;i<Bars-20;i++)
{
env_real=enf_real_f();
env_buf[i]=iEnvelopes(...,env_real,...);
}
...
double enf_real_f()
{
double res=env;
double macd=iMACD(...);
if(macd>0) res=0.1;
else
if(macd<0) res=0.3;

return(res);
}
Спасибо что откликнулись, но это не совсем то что мне надо. Судя по коду размер канала будет фиксированный т.е. (macd>0) res=0.1;
(macd<0) res=0.3; мне бы хотелось получить канал плавно изменяющейся в зависимости от тренда. Я в написании кода не спец поэтому хотелось-бы получить код который можно было-бы использовать в качестве шаблона. Спасибо за понимание.
 
Последнее редактирование:

vladradon

Программист
Спасибо что откликнулись, но это не совсем то что мне надо. Судя по коду размер канала будет фиксированный т.е. (macd>0) res=0.1;
(macd<0) res=0.3; мне бы хотелось получить канал плавно изменяющейся в зависимости от тренда.
Можем поэкспериментировать в онлайне через скайп - не всегда даже мелкие вопросы (на первый взгляд) можно порешать заочно...
 
Последнее редактирование:

vladradon

Программист
Спасибо что откликнулись, но это не совсем то что мне надо. Судя по коду размер канала будет фиксированный т.е. (macd>0) res=0.1;
(macd<0) res=0.3; мне бы хотелось получить канал плавно изменяющейся в зависимости от тренда. Я в написании кода не спец поэтому хотелось-бы получить код который можно было-бы использовать в качестве шаблона. Спасибо за понимание.
Не думаю, что возможно создать какой-то шаблон по этому поводу. Если используется расчет одного индюка внутри другого и этот расчет стандартный индюковский (с использованием именно индюковских функций), то оптимальный выход, - это математику внутреннего индюка перенести в код основного с заранее заложенными параметрами. Все это возможно, но насколько рентабельно - вопрос!)))
 

utes

Интересующийся
Здравствуйте, подскажите пожалуйста как исправить эти ошибки.
 

Вложения

  • 1.png
    1.png
    177,9 КБ · Просмотры: 26

utes

Интересующийся
mql файл прикрепил
 

Вложения

  • в работе2.mq4
    7,6 КБ · Просмотры: 21

vladradon

Программист
Спасибо большое! Выручили.
Там в 89-й строке все-таки стоит прописать
PHP:
 return(-1);
, т.к по коду возврат return(OP_BUY) вернет 0, что соответствует баевскому ордеру. Не знаю. насколько это может повлиять на общий алгоритм, но я думаю, стоит этот момент учесть.
 

vladradon

Программист
А это с логикой с кторой Влададрон не дружит
И что такого логичного ты предложил? Вынес переменную Lots_1 из функции в глобальные - где логика, если она (переменная) используется только в функции? Прям "гениальное" решение!:D
Судить тому, кто спрашивал о помощи в любом случае...
 
Последнее редактирование:

utes

Интересующийся
vladradon ,eevviill2, благодарствую, это у меня с логикой mql дружба не складывается. набрасал куски кода в один файл и пытаюсь простого мартина сделать
 

Вложения

  • пример.png
    пример.png
    170,1 КБ · Просмотры: 32

eevviill2

Местный знаток
И что такого логичного ты предложил? Вынес переменную Lots_1 из функции в глобальные - где логика, если она (переменная) используется только в функции? Прям "гениальное" решение!:D
Судить тому, кто спрашивал о помощи в любом случае...
1) Lots используется(должно) вне функции, так как её значение заполняется перед сигналом на вход.
2) return(50) это дефолтное значение для не открытия ордера, а не -1
 

Elvis Burunduk

Элитный участник
eevviill2,
vladradon,
Вы опять спорите , :)
а новичек то не в курсе столкновения вашего мировоззрения :)
Я так думаю - он охреневает от кода, который вы оба на него выплеснули.... :)
Ты не обыжайся, да, НО Я так думаю !!!
Хороший был , кстати , человек... Фрунзик Мкртычан...
 

utes

Интересующийся
Я так думаю - он охреневает от кода, который вы оба на него выплеснули.... :)
что есть, то есть. И в этом пытаюсь разобраться, и в своих набросках пытаюсь разглядеть, и в соседней ветке попросил.
С миру по нитке... авось простенький грааль.

https://forexsystemsru.com/yazyk-programmirovaniya-mql4/65203-predlozheniya-po-avtomatizacii-torgovli-38.html#post1269118
 

vladradon

Программист
Спасибо, буду кумекать что куды и откуда
Не знаю, пригодится ли, но я так понял, что нужен мартин перевертышь, поэтому можешь посмотреть мой старый код - в нем можно просто заменить индюка (в коде), ну и подмарафетить под новые билды, что не обязательно для тестирования. Я этого сова выкладывал несколько лет назад на красном форуме, если что.
 

Вложения

  • 3c63.rar
    31 КБ · Просмотры: 16
  • MartingailExpertTDI3c63.mq4
    13,8 КБ · Просмотры: 17
Последнее редактирование:
Верх