Обучение языку MQL4 под MetaTrader 4📌

От xbms, 13 апреля, 2013 в Уголок Программиста

#3351


Советник нарисовал линий на хай и лоу свечи, но вот при смене таймфрейма линий сбрасываются.... Что пройсходит при смене таймфрейма и как зделать так чтобы линий были устойчивы к таким переключениям???


тут много нюансов, нужно переменные отвечающие за линии обозначить на глобальном уровне, или искать для них данные на заданном таймфреме.
больше тут ничем не помочь, без кода..
#3352



Советник нарисовал линий на хай и лоу свечи, но вот при смене таймфрейма линий сбрасываются.... Что пройсходит при смене таймфрейма и как зделать так чтобы линий были устойчивы к таким переключениям???


тут много нюансов, нужно переменные отвечающие за линии обозначить на глобальном уровне, или искать для них данные на заданном таймфреме.
больше тут ничем не помочь, без кода..


искать для них данные на заданном таймфреме. Гениально, при смене таймфрейма обновляются хай и лоу на текущем периоде, записаные даные для заданого таймфрейма не соответствуют действительности, а удаляются согласно внутреней логике прописаные мною. буду искать таблэтку. спасибо!
#3353




Советник нарисовал линий на хай и лоу свечи, но вот при смене таймфрейма линий сбрасываются.... Что пройсходит при смене таймфрейма и как зделать так чтобы линий были устойчивы к таким переключениям???


тут много нюансов, нужно переменные отвечающие за линии обозначить на глобальном уровне, или искать для них данные на заданном таймфреме.
больше тут ничем не помочь, без кода..


искать для них данные на заданном таймфреме. Гениально, при смене таймфрейма обновляются хай и лоу на текущем периоде, записаные даные для заданого таймфрейма не соответствуют действительности, а удаляются согласно внутреней логике прописаные мною. буду искать таблэтку. спасибо!

Если Вы не знаете как на часовике работать с минутками и на минутках работать с дневным периодом то это Ваши проблемы учитесь, иначе используйте глобальные переменные, но их то же нужно правильно контролировать что бы они не меняли свои значения...
#3354

Всем привет. Прохожу третий урок, при компиляции вылетают ошибки. Сделал всё как в видео и проверил не раз. ПОМОГИТЕ!!!

test3.mq410 скач.

#3355


Всем привет. Прохожу третий урок, при компиляции вылетают ошибки. Сделал всё как в видео и проверил не раз. ПОМОГИТЕ!!!


После if () не ставим точку с запятой...

test3.mq410 скач.

#3356


Всем привет. Прохожу третий урок, при компиляции вылетают ошибки. Сделал всё как в видео и проверил не раз. ПОМОГИТЕ!!!



Исправил, оператора if закрываете ; (точка с запятой), ошибки вывел в коментарий в коде.



Добавлено: 31-03-2016 15:29:35

Вопрос: Пример: У меня 100 доларов, советник заработал 20 доларов,итого у меня 120 доларов. И советник поймал лося и закрыл по стопу 10 $ . как зафиксировать найвысшую точку в 120 $ и в коде это выразить, чтобы советник при достижений профита до этой точки закрыл половину лота.

if(equity() >= Profit)
{
CloseOrder(.........Lots/2...);
}

test3.mq48 скач.

Изменено 31 марта, 2016 пользователем vitek01

#3357

voldemar227, vitek01 Спасибо, выручили

#3358





Советник нарисовал линий на хай и лоу свечи, но вот при смене таймфрейма линий сбрасываются.... Что пройсходит при смене таймфрейма и как зделать так чтобы линий были устойчивы к таким переключениям???


тут много нюансов, нужно переменные отвечающие за линии обозначить на глобальном уровне, или искать для них данные на заданном таймфреме.
больше тут ничем не помочь, без кода..


искать для них данные на заданном таймфреме. Гениально, при смене таймфрейма обновляются хай и лоу на текущем периоде, записаные даные для заданого таймфрейма не соответствуют действительности, а удаляются согласно внутреней логике прописаные мною. буду искать таблэтку. спасибо!

Если Вы не знаете как на часовике работать с минутками и на минутках работать с дневным периодом то это Ваши проблемы учитесь, иначе используйте глобальные переменные, но их то же нужно правильно контролировать что бы они не меняли свои значения...

Я тут ошибся выражая свой мысли, удаляются линий, а не данные хай и лоу.
#3359



Всем привет. Прохожу третий урок, при компиляции вылетают ошибки. Сделал всё как в видео и проверил не раз. ПОМОГИТЕ!!!



Исправил, оператора if закрываете ; (точка с запятой), ошибки вывел в коментарий в коде.



Добавлено: 31-03-2016 15:29:35

Вопрос: Пример: У меня 100 доларов, советник заработал 20 доларов,итого у меня 120 доларов. И советник поймал лося и закрыл по стопу 10 $ . как зафиксировать найвысшую точку в 120 $ и в коде это выразить, чтобы советник при достижений профита до этой точки закрыл половину лота.

if(equity() >= Profit)
{
CloseOrder(.........Lots/2...);
}

переменную Profit надо обозначить на глобальном уровне и правильно обнулять или сделать её статичной ...


Добавлено: 31-03-2016 15:42:27






Советник нарисовал линий на хай и лоу свечи, но вот при смене таймфрейма линий сбрасываются.... Что пройсходит при смене таймфрейма и как зделать так чтобы линий были устойчивы к таким переключениям???


тут много нюансов, нужно переменные отвечающие за линии обозначить на глобальном уровне, или искать для них данные на заданном таймфреме.
больше тут ничем не помочь, без кода..


искать для них данные на заданном таймфреме. Гениально, при смене таймфрейма обновляются хай и лоу на текущем периоде, записаные даные для заданого таймфрейма не соответствуют действительности, а удаляются согласно внутреней логике прописаные мною. буду искать таблэтку. спасибо!

Если Вы не знаете как на часовике работать с минутками и на минутках работать с дневным периодом то это Ваши проблемы учитесь, иначе используйте глобальные переменные, но их то же нужно правильно контролировать что бы они не меняли свои значения...

Я тут ошибся выражая свой мысли, удаляются линий, а не данные хай и лоу.

Линии удаляются потому что Вы их удаляете в деините, хотите что бы линии оставались не удаляйте их ...
#3360
voldemar227
переменную Profit надо обозначить на глобальном уровне и правильно обнулять или сделать её статичной ...

double Profit=AccountBalance();
double StaticBalans=1.0; // вынести в глобальные переменные
if(Profit >= StaticBalans)
StaticBalans=Profit;
if(AccountEquity() >= StaticBalans)
OrderClose(.....Lots/2....);

Так правильно или нет?
#3361


voldemar227
переменную Profit надо обозначить на глобальном уровне и правильно обнулять или сделать её статичной ...

double Profit=AccountBalance();
double StaticBalans=1.0; // вынести в глобальные переменные
if(Profit >= StaticBalans)
StaticBalans=Profit;
if(AccountEquity() >= StaticBalans)
OrderClose(.....Lots/2....);

Так правильно или нет?


Не знаю, инфы не достаточно вот простой пример

double Profit=0; // За пределами всех функций

if(AccountProfit()>Profit)
Profit=AccountProfit(); // Максимальный профит на аккаунте
#3362



voldemar227
переменную Profit надо обозначить на глобальном уровне и правильно обнулять или сделать её статичной ...

double Profit=AccountBalance();
double StaticBalans=1.0; // вынести в глобальные переменные
if(Profit >= StaticBalans)
StaticBalans=Profit;
if(AccountEquity() >= StaticBalans)
OrderClose(.....Lots/2....);

Так правильно или нет?


Не знаю, инфы не достаточно вот простой пример

double Profit=0; // За пределами всех функций

if(AccountProfit()>Profit)
Profit=AccountProfit(); // Максимальный профит на аккаунте

ну у меня тоже самое, спасибо!
#3363

Хочу свечу перевести в проценты, как правильно это зделать?
int Prosent=(Хай[1] - лоу[1])*100% // это правильно?

компилятор меня не понимает, выдает ошибку!

Prosent.mq48 скач.

Изменено 4 апреля, 2016 пользователем vitek01

#3364

У вас свеча - это 100% (если я правильно понял). Т.е. Хай - Лоу = 100%. Отсюда и пляшите в дальнейших расчетах.

#3365

Кто научит кнопку на график прикручивать?

#3366

приветствую всех.

Есть индикатор который строит линию по данным из файла CSV. Если кинуть его на график, работает, а в тестере никак не хочет ни линию рисовать, ни буфер для советника выгружать. Что делать, чтобы в тестере отображалась полоса.

Код прикрепляю. Сразу скажу, код не мой. Я его только откомпилировал под новый билд МТ4

Plot_External_Data.mq411 скач.

#3367

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

#3368


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


Если есть рыночный ордер сел установить отложенный бай стоп, если рыночного села нет но бай стоп есть то удалить его ...
Для баев наоборот
#3369

Советник из третьего урока. Появляется ошибка OrderSend 130. Гляньте пожалуйста

test3.mq415 скач.

Изменено 5 апреля, 2016 пользователем qwert55r

#3370

А вы погуглите ошибку OrderSend error 130 - самая распространенная ошибка. Ее описание даже в справочнике есть:

Цитата

В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS).


При выставлении SL-TP в любом порядочном советнике должна быть обязательная проверка на стоп-уровни.
#3371

Я знаю что это за ошибка, но так как я ещё учусь, поэтому и спрашиваю как модифицировать советник, что бы этой ошибки не возникало.

#3372


Я знаю что это за ошибка, но так как я ещё учусь, поэтому и спрашиваю как модифицировать советник, что бы этой ошибки не возникало.


Продумывайте логику четче, детальней, делайте доп проверки...
#3373


А вы погуглите ошибку OrderSend error 130 - самая распространенная ошибка. Ее описание даже в справочнике есть:

Цитата

В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS).


При выставлении SL-TP в любом порядочном советнике должна быть обязательная проверка на стоп-уровни.


Я знаю что это за ошибка, но так как я ещё учусь, поэтому и спрашиваю как модифицировать советник, что бы этой ошибки не возникало.


Поскольку бот учебный, никто вам не даст ответа как его модифицировать.
Это задача из лично вашего задачника - и нефиг подглядывать ответ или списывать решение, правда? :)

Инструкции надо читать и выполнять не просто буквально, а посимвольно.
Каждое слово порознь - и вместе.
Ответ уже дан - вы его не видите.

Все числовые параметры в любом операторе открытия, выставления или модификации ордеров должны быть заданы 100% корректно.
По каждому параметру разберитесь какое его корректное значение.

И если вам что-то не ясно в работе бота, печатайте в лог значения всех используемых переменных, задаваемых параметров - распечатывайте все переменные в проблемном фрагменте бота..
Это называется отладочная печать.
По ней быстрее всего вы поймете что вы делаете некорректно.

И гугл реально в помощь!
Если у вас "дыра" в знаниях после многократного просмотра урока - через гугл можно найти превосходные пояснения по любой вашей проблеме.

Программисты обычно одиноки.
Это не значит, что нельзя спрашивать - это значит, что чаще всего некому, некогда и, в итоге, нечем помочь.
Так что спрашивайте - но гугл программисту тоже друг.
#3374
qwert55r Вашу сову запустить не могу - нет индюков. Где ошибка? в рыночных или отложках?
в рыночных дату экспирации указывать не надо. Сами расчёты СЛ и ТП корректны, если запускаете с настройками по дефолту... после расчёта СЛ и ТП выведи их принтом + цену открытия ордера - по принтам разбирайся.
#3375

помогите найти буфер в данном индикаторе для iCustom

SweetSpotsGOLD_TRO_MODIFIED_VERSION.rar12 скач.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025