Тут слишком много "знатоков" :) Вот и решил постебаться. Вместо ответов на вопросы, начинают поучать.
Тогда и не ожидайте в дальнейшем от людей, которые заняты своими делами, и отвлекаются на то, чтобы помочь вам, нормальных ответов, коли поставили себя в положение стебущегося над дающим.
Тогда и не ожидайте в дальнейшем от людей, которые заняты своими делами, и отвлекаются на то, чтобы помочь вам, нормальных ответов, коли поставили себя в положение стебущегося над дающим.
Здесь не цирк.
Уважаемый модератор, если здесь не цирк, будьте любезны, клоунов ответивших на мои вопросы уведите за кулисы. Спасибо.
Здравствуйте. Скачал с Ducascopy файл с котировками EUR USD 1 минута, пытаюсь импортировать в МТ4 Альпари, ничего не происходит. Просто пустое окно конвертации. Так же на Instaforex. В чем может быть дело?
Теперь задача следующая. Нужно вместо стрелки нарисовать прямоугольник, который будет строиться по max и min Доджи и по времени открытия Доджи и времени открытия нового бара после Доджи. И это все на 4-х часовом графике. При этом я должен находиться на 5-и минутках. Что можете посоветовать? Как реализовать?
Ошибка была в математическом описании паттерна Доджи.
Рад за Вас. Вы ранее программировали? Уж очень стиль у Вас не типичный.
voron_026:
Теперь задача следующая. Нужно вместо стрелки нарисовать прямоугольник, который будет строиться по max и min Доджи и по времени открытия Доджи и времени открытия нового бара после Доджи. И это все на 4-х часовом графике. При этом я должен находиться на 5-и минутках. Что можете посоветовать? Как реализовать?
Спасибо.
Делайте объявление общих (глобальных) переменных, которые будут рассчитываться в функции и возвращаться из нее void(){} . Время определять умеете... в общем пока не понял, в чём конкретно вопрос.
Кстати, я раньше не знал про подход с глобальными переменными и возвращал все значения из функции через строковую переменную...
Теперь задача следующая. Нужно вместо стрелки нарисовать прямоугольник, который будет строиться по max и min Доджи и по времени открытия Доджи и времени открытия нового бара после Доджи. И это все на 4-х часовом графике. При этом я должен находиться на 5-и минутках. Что можете посоветовать? Как реализовать?
Спасибо.
Вам нужно использовать OBJ_RECTANGLE, данные цен и времени с графика Н4 получать умеете, осталось их только подставить в функцию
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Рад за Вас. Вы ранее программировали? Уж очень стиль у Вас не типичный.
Делайте объявление общих (глобальных) переменных, которые будут рассчитываться в функции и возвращаться из нее void(){} . Время определять умеете... в общем пока не понял, в чём конкретно вопрос.
Кстати, я раньше не знал про подход с глобальными переменными и возвращал все значения из функции через строковую переменную...
Доброго времени суток Aleksey Vyazmikin Я недавно занялся программированием. Потихоньку въезжаю в тему.
Попробовал таким образом сделать:
//+------------------------------------------------------------------+//| 111.mq4 |//| Copyright 2017,UriyGlushko |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2017,UriyGlushko"#property link"https://www.mql5.com"#property version"1.00"#property strictexternstring Rodot = "Параметры робота";
externdouble Lots = 0.2;
externint StopLoss = 20;
externint TakeProfit = 80;
externint Magic = 999999;
externint Slippage = 3; // Проскальзываниеexternbool UseDojiCandles = true; // Использование патерна Доджиint DojiCandle = 0;
bool New_Bar = false;
datetime time0 = iTime(Symbol(),PERIOD_H4,0);
datetime time1 = iTime(Symbol(),PERIOD_H4,1);
double open0 = iOpen(Symbol(), PERIOD_H4,0);
double open1 = iOpen(Symbol(), PERIOD_H4,1);
double close1 = iClose(Symbol(), PERIOD_H4,1);
double high1 = iHigh(Symbol(), PERIOD_H4,1);
double low1 = iLow(Symbol(), PERIOD_H4,1);
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
if (Digits == 3 || Digits ==5 )
{
TakeProfit *= 10;
StopLoss *= 10;
Slippage *= 10;
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
Fun_New_Bar();
if(UseDojiCandles = true && Doji() == 1 && New_Bar == true)
{
if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_RECTANGLE,0,time1,open1,time0,open0))
{
Print("Не удалось создать метку вверх");
}
ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_COLOR,clrRed);//--- установим цвет прямоугольника ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_STYLE,STYLE_SOLID);//--- установим стиль линий прямоугольника ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_WIDTH,1);//--- установим толщину линий прямоугольника ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_BACK,false);//--- отобразим на переднем (false) или заднем (true) плане
DojiCandle ++;
}
if(UseDojiCandles = true && Doji() == -1 && New_Bar == true)
{
if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_RECTANGLE,0,time1,open1,time0,open0))
{
Print("Не удалось создать метку вниз");
}
ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_COLOR,clrRed);//--- установим цвет прямоугольника ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_STYLE,STYLE_SOLID);//--- установим стиль линий прямоугольника ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_WIDTH,1);//--- установим толщину линий прямоугольника ObjectSetInteger(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJPROP_BACK,false);//--- отобразим на переднем (false) или заднем (true) плане
DojiCandle ++;
}
}
//+------------------------------------------------------------------+// Поиск всех объектов//+------------------------------------------------------------------+//+------------------------------------------------------------------+// Функция паттерна Доджи//+------------------------------------------------------------------+int Doji()
{
//Параметры Дожиdouble Open1 = NormalizeDouble (iOpen(Symbol(), PERIOD_H4,1),Digits);
double Close1 = NormalizeDouble (iClose(Symbol(), PERIOD_H4,1),Digits);
double High1 = NormalizeDouble (iHigh(Symbol(), PERIOD_H4,1),Digits);
double Low1 = NormalizeDouble (iLow(Symbol(), PERIOD_H4,1),Digits);
//Параметры предыдущей свечиdouble Open2 = NormalizeDouble (iOpen(Symbol(), PERIOD_H4,2),Digits);
double Close2 = NormalizeDouble (iClose(Symbol(), PERIOD_H4,2),Digits);
double High2 = NormalizeDouble (iHigh(Symbol(), PERIOD_H4,2),Digits);
double Low2 = NormalizeDouble (iLow(Symbol(), PERIOD_H4,2),Digits);
//Параметры индикатора волотильности ATR для нахожденя относительно большой свечи перед Доджиdouble ATR = iATR(Symbol(),PERIOD_H4,21,1);
//Математическое описание патерна Дожиif(Close1 < High1 -0.3*(High1-Low1) &&
Open1 < High1 -0.3*(High1-Low1) &&
Close1 > High1 -0.7*(High1-Low1) &&
Open1 > High1 -0.7*(High1-Low1) &&
MathAbs(Close1-Open1) < 0.2*(High1-Low1)&&
MathAbs(Close2-Open2) > 0.7*ATR)
{
if((Close2 - Open2) > 0 && New_Bar == true)
{
Print ("Down"); return(-1);// Условие для продаж
}
if((Close2 - Open2) < 0 && New_Bar == true)
{
Print ("Up"); return(1);// Условие для покупок
}
}
return(0);
}
//+------------------------------------------------------------------+// Функция определения нового бара//+------------------------------------------------------------------+void Fun_New_Bar() // Ф-ия обнаружения нового бара
{
datetime TimeBar0 = iTime(Symbol(),PERIOD_H4,0);
staticdatetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нет if(New_Time != TimeBar0) // Сравниваем время
{
New_Time = TimeBar0; // Теперь время такое
New_Bar = true; // Поймался новый бар
}
}
Рисуется первый прямоугольник. остальные не рисуются. Пока думаю как сделать. Благодарю вас за подсказки и что вы имеете ввиду под не типичным стилем?
Действительно не на всех клавиатурах есть то о чём я писал... Может клавиатуру поменять?
Тут слишком много "знатоков" :) Вот и решил постебаться. Вместо ответов на вопросы, начинают поучать.
Тут слишком много "знатоков" :) Вот и решил постебаться. Вместо ответов на вопросы, начинают поучать.
Тогда и не ожидайте в дальнейшем от людей, которые заняты своими делами, и отвлекаются на то, чтобы помочь вам, нормальных ответов, коли поставили себя в положение стебущегося над дающим.
Здесь не цирк.
Тогда и не ожидайте в дальнейшем от людей, которые заняты своими делами, и отвлекаются на то, чтобы помочь вам, нормальных ответов, коли поставили себя в положение стебущегося над дающим.
Здесь не цирк.
Уважаемый модератор, если здесь не цирк, будьте любезны, клоунов ответивших на мои вопросы уведите за кулисы. Спасибо.
Уважаемый модератор, если здесь не цирк, будьте любезны, клоунов ответивших на мои вопросы уведите за кулисы. Спасибо.
Так вас за кулисы отправить?
Вы:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Luchezar Shalomaev, 2017.09.20 22:25
Здравствуйте. Скачал с Ducascopy файл с котировками EUR USD 1 минута, пытаюсь импортировать в МТ4 Альпари, ничего не происходит. Просто пустое окно конвертации. Так же на Instaforex. В чем может быть дело?
Ответ:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Vitaly Muzichenko, 2017.09.20 22:32
Вы будете торговать в дукаскопи? Нет? Тогда зачем вам их котировки?
Вы:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Luchezar Shalomaev, 2017.09.20 22:42
Мне нужны котировки Alpari но у них я не нашел.
Ответ:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Vitaly Muzichenko, 2017.09.20 22:45
У них достаточная история для тестов советников
Вы:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Luchezar Shalomaev, 2017.09.20 22:46
Прошу прощения, но для моей задачи нужно больше, чем они дают.
Ответ:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Alexey Viktorov, 2017.09.21 07:47
Нажми F2
Вы:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Luchezar Shalomaev, 2017.09.21 09:06
Спасибо. Жму F и 2. Ничего не происходит.Вам:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Alekseu Fedotov, 2017.09.21 09:29
F2Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Alexey Viktorov, 2017.09.21 09:34
Действительно не на всех клавиатурах есть то о чём я писал... Может клавиатуру поменять?
Вы:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Luchezar Shalomaev, 2017.09.21 21:08
Стебусь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Luchezar Shalomaev, 2017.09.21 21:10
Тут слишком много "знатоков" :) Вот и решил постебаться. Вместо ответов на вопросы, начинают поучать.
Вам на ваш вопрос ответили - нажмите F2, что приводит к открытию окна загрузки котировок.
Но вы начали стебаться, на что и получили стёб над вами в ответ.
А чего хотели? С чем пришли как говорится...
Так вас за кулисы отправить?
Вы:
Ответ:
Вы:
Ответ:
Вы:
Ответ:
Вы:
Вам:
Вы:
Вам на ваш вопрос ответили - нажмите F2, что приводит к открытию окна загрузки котировок.
Но вы начали стебаться, на что и получили стёб над вами в ответ.
А чего хотели? С чем пришли как говорится...
Ну вот, а вы говорите не цирк.
Самый простой вариант написать логику попонятней - я с ходу не понимаю, что там за логика... можете описать словами?
Нашел ошибку в логике. Исправил и все заработало
Ошибка была в математическом описании паттерна Доджи.Теперь задача следующая. Нужно вместо стрелки нарисовать прямоугольник, который будет строиться по max и min Доджи и по времени открытия Доджи и времени открытия нового бара после Доджи. И это все на 4-х часовом графике. При этом я должен находиться на 5-и минутках. Что можете посоветовать? Как реализовать?
Спасибо.
Нашел ошибку в логике. Исправил и все заработало
Ошибка была в математическом описании паттерна Доджи.Рад за Вас. Вы ранее программировали? Уж очень стиль у Вас не типичный.
Теперь задача следующая. Нужно вместо стрелки нарисовать прямоугольник, который будет строиться по max и min Доджи и по времени открытия Доджи и времени открытия нового бара после Доджи. И это все на 4-х часовом графике. При этом я должен находиться на 5-и минутках. Что можете посоветовать? Как реализовать?
Спасибо.
Делайте объявление общих (глобальных) переменных, которые будут рассчитываться в функции и возвращаться из нее void(){} . Время определять умеете... в общем пока не понял, в чём конкретно вопрос.
Кстати, я раньше не знал про подход с глобальными переменными и возвращал все значения из функции через строковую переменную...
Теперь задача следующая. Нужно вместо стрелки нарисовать прямоугольник, который будет строиться по max и min Доджи и по времени открытия Доджи и времени открытия нового бара после Доджи. И это все на 4-х часовом графике. При этом я должен находиться на 5-и минутках. Что можете посоветовать? Как реализовать?
Спасибо.
Вам нужно использовать OBJ_RECTANGLE, данные цен и времени с графика Н4 получать умеете, осталось их только подставить в функцию
Рад за Вас. Вы ранее программировали? Уж очень стиль у Вас не типичный.
Делайте объявление общих (глобальных) переменных, которые будут рассчитываться в функции и возвращаться из нее void(){} . Время определять умеете... в общем пока не понял, в чём конкретно вопрос.
Кстати, я раньше не знал про подход с глобальными переменными и возвращал все значения из функции через строковую переменную...
Доброго времени суток Aleksey Vyazmikin Я недавно занялся программированием. Потихоньку въезжаю в тему.
Попробовал таким образом сделать:
Рисуется первый прямоугольник. остальные не рисуются. Пока думаю как сделать. Благодарю вас за подсказки и что вы имеете ввиду под не типичным стилем?