tpg_k156: Доброго дня всем. Не подскажите ли способы копирования сделок на Метатрейдере 4. Чтобы открывая сделку на одном терминале можно было бы получить открытую сделку на другом.
Поищите в CodeBase копировщик. Не самые лучшие конечно, но они есть в свободном доступе
Кто знает, можно ли, сделав Hour(), Minute() и Seconds() глобальными переменными, контролировать в полночь (0.00) смену в индикаторе DailyPivotPoints на новые уровни РР и др. линии из советника? Я раньше сделал прямо в индикаторе с Hour(), Minute(), Seconds(), и работало без необходимости каждую ночь компилировать. А недавно перестало само меняться, может, от смены бильда? Спасибо!
borilunad: Кто знает, можно ли, сделав Hour(), Minute() и Seconds() глобальными переменными, контролировать в полночь (0.00) смену в индикаторе DailyPivotPoints на новые уровни РР и др. линии из советника? Я раньше сделал прямо в индикаторе с Hour(), Minute(), Seconds(), и работало без необходимости каждую ночь компилировать. А недавно перестало само меняться, может, от смены бильда? Спасибо!
Спасибо, Виктор! А Вам пришёлся мой короткий вариант для Вас?
Да Борис, очень, кстати, подошёл! Благодарю Вас. Я этого и хотел. Крутил.. вертел.. да не докрутил видать. Опыта ещё не много, и мозг не так мыслить как у профи. Бывают затупы на ровном месте.. :(
Не хотел сразу спрашивать, но всё же пришлось. Т.к. не вышло у самого сократить.
Подскажите как построить канал проходящий через фракталы, но ограничен 0 баром, при появлении нового бара, перерисовывался дальше. Проблема именно в ограничении.
beginner: Подскажите как построить канал проходящий через фракталы, но ограничен 0 баром, при появлении нового бара, перерисовывался дальше. Проблема именно в ограничении.
bool IsUpFractal(int index)
{
double centerHigh = High[index + g_center]; // За точку отсчета берется средний..// ..бар на участке из i_fractalPeriod// ..баров// - 1 - == Поиск максимумов справа от центрального бара ================================int cnt = 0, i = index + g_center - 1;
for (; i >= 0 && cnt < g_center; i--) // Справа от центрального бара должно
{ // ..быть g_center-1 баров с низшим..if (centerHigh <= High[i]) // ..максимумом. Не позволяется..return (false); // ..наличие баров с большим или..
cnt++; // ..равным максимумом.
}
if (i < 0) // g_center-1 низших максимумов не..return (false); // ..найдено. Фрактала нет// - 1 - == Окончание блока =============================================================// - 2 - == Поиск максимумов слева от центрального бара =================================
cnt = 0;
i = index + g_center + 1;
int total = Bars - 1;
for (; i < total && cnt < g_center; i++) // Слева от центрального бара должно
{ // ..быть g_center-1 баров с низшим..if (centerHigh == High[i]) // ..максимумом. Не позволяется..continue; // ..наличие баров с большим..if (centerHigh < High[i]) // ..максимумом. Равный - позволяетсяreturn (false);
cnt++;
}
if (i >= total) // g_center-1 низших максимумов не..return (false); // ..найдено. Фрактала нет// - 2 - == Окончание блока =============================================================return (true); // Фрактал найден
}
//+-------------------------------------------------------------------------------------+//| Определение наличия нижнего фрактала на указанном баре |//+-------------------------------------------------------------------------------------+bool IsDnFractal(int index)
{
double centerLow = Low[index + g_center]; // За точку отсчета берется средний..// ..бар на участке из i_fractalPeriod// ..баров// - 1 - == Поиск минимумов справа от центрального бара =================================int cnt = 0, i = index + g_center - 1;
for (; i >= 0 && cnt < g_center; i--) // Справа от центрального бара должно
{ // ..быть g_center-1 баров с большим..if (centerLow >= Low[i]) // ..минимумом. Не позволяется..return (false); // ..наличие баров с меньшим или..
cnt++; // .. равным минимумом
}
if (i < 0) // g_center-1 больших минимумов не..return (false); // ..найдено. Фрактала нет// - 1 - == Окончание блока =============================================================// - 2 - == Поиск минимумов слева от центрального бара ==================================
cnt = 0;
i = index + g_center + 1;
int total = Bars - 1;
for (; i < total && cnt < g_center; i++) // Слева от центрального бара должно
{ // ..быть g_center-1 баров с большим..if (centerLow == Low[i]) // ..минимумом. Не позволяется..continue; // ..наличие баров с меньшим минимумомif (centerLow > Low[i]) // ..Равный минимум - разрешаетсяreturn (false);
cnt++;
}
if (i >= total) // g_center-1 больших минимумов не..return (false); // ..найдено. Фрактала нет// - 2 - == Окончание блока =============================================================return (true); // Фрактал найден
}
В функцию попадает значение index которое имеет значение бара для расчёта 0 или 1. Тут интересно написан цикл.:
for (; i >= 0 && cnt < g_center; i--)
Т.е. нет значения переменной от которой начинать расчёт. По логике машины, с какого бара с это случае будет начинаться расчёт? Если стоит декремент i-- значит с максимального?
Опять же там i = index + g_center - 1, а вот тут момент. Первым значением index сюда какое придёт? Максимальное или минимальное?
Т.е. нет значения переменной от которой начинать расчёт. По логике машины, с какого бара с это случае будет начинаться расчёт? Если стоит декремент i-- значит с максимального?
Нет, с того, которое переменая i имела до цикла. Запись
int cnt = 0, i = index + g_center - 1;
for (; i >= 0 && cnt < g_center; i--)
идентична
int cnt,i;
for (cnt = 0, i = index + g_center - 1; i >= 0 && cnt < g_center; i--)
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Доброго дня всем. Не подскажите ли способы копирования сделок на Метатрейдере 4. Чтобы открывая сделку на одном терминале можно было бы получить открытую сделку на другом.
Поищите в CodeBase копировщик. Не самые лучшие конечно, но они есть в свободном доступе
Кто знает, можно ли, сделав Hour(), Minute() и Seconds() глобальными переменными, контролировать в полночь (0.00) смену в индикаторе DailyPivotPoints на новые уровни РР и др. линии из советника? Я раньше сделал прямо в индикаторе с Hour(), Minute(), Seconds(), и работало без необходимости каждую ночь компилировать. А недавно перестало само меняться, может, от смены бильда? Спасибо!
Должно срабатывать на первом тике новых суток.
Спасибо, Виктор! А Вам пришёлся мой короткий вариант для Вас?
Да Борис, очень, кстати, подошёл! Благодарю Вас. Я этого и хотел. Крутил.. вертел.. да не докрутил видать. Опыта ещё не много, и мозг не так мыслить как у профи. Бывают затупы на ровном месте.. :(
Не хотел сразу спрашивать, но всё же пришлось. Т.к. не вышло у самого сократить.
Подскажите как построить канал проходящий через фракталы, но ограничен 0 баром, при появлении нового бара, перерисовывался дальше. Проблема именно в ограничении.
Раскройте понятие "ограничен 0 баром"
Вот функция:
В функцию попадает значение index которое имеет значение бара для расчёта 0 или 1. Тут интересно написан цикл.:
Т.е. нет значения переменной от которой начинать расчёт. По логике машины, с какого бара с это случае будет начинаться расчёт? Если стоит декремент i-- значит с максимального?
Опять же там i = index + g_center - 1, а вот тут момент. Первым значением index сюда какое придёт? Максимальное или минимальное?
Т.е. нет значения переменной от которой начинать расчёт. По логике машины, с какого бара с это случае будет начинаться расчёт? Если стоит декремент i-- значит с максимального?
Нет, с того, которое переменая i имела до цикла. Запись
идентична
Опять же там i = index + g_center - 1, а вот тут момент. Первым значением index сюда какое придёт? Максимальное или минимальное?
index будет тем, которое передано в функцию в качестве параметра.