Speeqoolyant Опубликовано 26 ноября, 2009 Жалоба Поделиться Опубликовано 26 ноября, 2009 Доброго времени!1.Подскажите, а могу ли я, используя extern datetime NOW;добиться того, чтобы в окне ввода параметров УЖЕ СТОЯЛА текущая дата? 2. Как мне, имея datetime получить его же, только со временем "00:00"? (не нашел функций - неужели их нет?) спасибо!Дружище!Чтоб получить квалифицированный ответ, надо грамотно поставить вопрос. Начну со второго:- datetime это тип переменной, как и int и string и bool. В этом контексте не понимаю вопроса вообще! Вдумайся, как мне, имея тип получить его же (тип), только со временем "00:00"? Тип меняется при приведении типов, а так сохраняется.- extern значит, что можно руками менять ее значение, в ex4 файле, datetime - см. п. выше, NOW - просто ее имя (персональное клеймо). Смысл этой конструкции в том, чтобы в какое-то время, или до какого-то времени, или начиная с какого-то времени, советник что-то делал (сделал). Т.е. проверяется условие равенства текущего времени и предустановленного в переменной NOW.В момент запуска программы, она инициализируется или нулем, или значением, заданным прогером, или значением с предыдущего запуска.Но прога при исполнении сама может ее менять. Однократно, периодически, при каких-то условиях и т. д.Определись, что тебе нужно, конкретно.PS. Не жалей букв при формулировании вопроса. Ссылка на комментарий Поделиться на другие сайты Поделиться
xMark Опубликовано 26 ноября, 2009 Жалоба Поделиться Опубликовано 26 ноября, 2009 Доброго времени!1.Подскажите, а могу ли я, используя extern datetime NOW;добиться того, чтобы в окне ввода параметров УЖЕ СТОЯЛА текущая дата? 2. Как мне, имея datetime получить его же, только со временем "00:00"? (не нашел функций - неужели их нет?) спасибо!Дружище!Чтоб получить квалифицированный ответ, надо грамотно поставить вопрос. Начну со второго:- datetime это тип переменной, как и int и string и bool. В этом контексте не понимаю вопроса вообще! Вдумайся, как мне, имея тип получить его же (тип), только со временем "00:00"? Тип меняется при приведении типов, а так сохраняется.- extern значит, что можно руками менять ее значение, в ex4 файле, datetime - см. п. выше, NOW - просто ее имя (персональное клеймо). Смысл этой конструкции в том, чтобы в какое-то время, или до какого-то времени, или начиная с какого-то времени, советник что-то делал (сделал). Т.е. проверяется условие равенства текущего времени и предустановленного в переменной NOW.В момент запуска программы, она инициализируется или нулем, или значением, заданным прогером, или значением с предыдущего запуска.Но прога при исполнении сама может ее менять. Однократно, периодически, при каких-то условиях и т. д.Определись, что тебе нужно, конкретно.PS. Не жалей букв при формулировании вопроса.Спасибо за ответ, дружище! ;)Поясняю (в твоем порядке)1. В вопросе "Как мне, имея datetime получить его же, только со временем "00:00" " подразумевается, как мне, имея переменную типа datetime получить значение этой же переменной, но со временем "00:00"сорри за лаконичность, но мне казалось, что умным людям будет понятно... 2. про extern. Как я понимаю, extern позволяет, как минимум, (при соотв. проперти), спросить значение этой переменной у юзера. Так вот, вопрос в том, что: "добиться того, чтобы в окне ввода параметров УЖЕ СТОЯЛА текущая дата", а не "1970.01.01 00:00", которая стоит по умолчанию. Это же и есть "инициализируется нулем". А я хочу, чтоб она инициализировалась текущей датой, но юзер мог и изменить ее (перем.NOW) значение на другое. Судя по твоему ответу достаточно перед конструкцией extern datetime NOW;дописать присвоение этой переменной текущей даты. Но разве конструкция языка это позволяет? Ведь extern datetime NOW - это объявление переменной, так?Если я чет не так понял, уж поясни, плз. Так достаточно ясно сформулирован вопрос? Если нет, я задам еще подробней. :) Еще раз спасибо, жду ответа. Ссылка на комментарий Поделиться на другие сайты Поделиться
Speeqoolyant Опубликовано 27 ноября, 2009 Жалоба Поделиться Опубликовано 27 ноября, 2009 Спасибо за ответ, дружище! ;)Поясняю (в твоем порядке)1. В вопросе "Как мне, имея datetime получить его же, только со временем "00:00" " подразумевается, как мне, имея переменную типа datetime получить значение этой же переменной, но со временем "00:00"сорри за лаконичность, но мне казалось, что умным людям будет понятно... 2. про extern. Как я понимаю, extern позволяет, как минимум, (при соотв. проперти), спросить значение этой переменной у юзера. Так вот, вопрос в том, что: "добиться того, чтобы в окне ввода параметров УЖЕ СТОЯЛА текущая дата", а не "1970.01.01 00:00", которая стоит по умолчанию. Это же и есть "инициализируется нулем". А я хочу, чтоб она инициализировалась текущей датой, но юзер мог и изменить ее (перем.NOW) значение на другое. Судя по твоему ответу достаточно перед конструкцией extern datetime NOW;дописать присвоение этой переменной текущей даты. Но разве конструкция языка это позволяет? Ведь extern datetime NOW - это объявление переменной, так?Если я чет не так понял, уж поясни, плз. Так достаточно ясно сформулирован вопрос? Если нет, я задам еще подробней. :) Еще раз спасибо, жду ответа.Умные от прочих отличаются еще и тем, что получив туманный вопрос, не пытаются догадаться что имел в виду автор вопроса. Они уточняют (если только хотят ответить).Поэтому прозвучавшую некую иронию считаю несколько неуместной. С лирикой пока все.А по существу уточняю:1- datetime - формат в котором представление идет в количестве секунд. А "00:00" это строковый формат. Часы и минуты. Они могут сопровождаться датой (текущей или прошлой или будущей) или быть без нее. Так что же нужно? datetime соответствующее "00:00"? Тогда с какой датой? или что-то другое?2- extern позволяет приостановив работающий эксперт (без выгрузки) корректировать данный параметр. И тут возникает вопрос. Тебе надо чтоб она инициализировалась 1 раз при запуске проги?Или обновлялась каждые сутки? Или с каждым тиком? И что должно быть в ней? Дата, время, дата и время?А лучше скажи как ты хочешь ее использовать. Тогда, может, станет понятно в каком формате ее надо получить. Ссылка на комментарий Поделиться на другие сайты Поделиться
xMark Опубликовано 27 ноября, 2009 Жалоба Поделиться Опубликовано 27 ноября, 2009 Умные от прочих отличаются еще и тем, что получив туманный вопрос, не пытаются догадаться что имел в виду автор вопроса. Они уточняют (если только хотят ответить).Поэтому прозвучавшую некую иронию считаю несколько неуместной. С лирикой пока все.А по существу уточняю:1- datetime - формат в котором представление идет в количестве секунд. А "00:00" это строковый формат. Часы и минуты. Они могут сопровождаться датой (текущей или прошлой или будущей) или быть без нее. Так что же нужно? datetime соответствующее "00:00"? Тогда с какой датой? или что-то другое?2- extern позволяет приостановив работающий эксперт (без выгрузки) корректировать данный параметр. И тут возникает вопрос. Тебе надо чтоб она инициализировалась 1 раз при запуске проги?Или обновлялась каждые сутки? Или с каждым тиком? И что должно быть в ней? Дата, время, дата и время?А лучше скажи как ты хочешь ее использовать. Тогда, может, станет понятно в каком формате ее надо получить. Ок, без лирики.1. Есть перем. datetime, в которой лежит значение (наприм. "27.11.2009 17:33") вопрос. Есть ли функция, передав которой знач. этой переменной ("27.11.2009 17:33") я получу только дату ("27.11.2009 00:00")? Если функции нет (я ее не нашел), то как это сделать?2. в скрипте написано: #property show_inputsextern datetime NOW; соответственно, при выполнении скрипта открывается окно, в котором на странице "Входные параметры" есть эта переменная (NOW) и ее значение (0 = "1970.01.01 00:00")вопрос. Как сделать так, чтобы в этом окне значение стояло не "1970.01.01 00:00", а текущая дата+"00:00" Уф... все. Подробнее (грамотнее) я уже не смогу :)Неужели и так вопрос не достаточно четко сформулирован? Спасибо, жду ответа Ссылка на комментарий Поделиться на другие сайты Поделиться
Speeqoolyant Опубликовано 27 ноября, 2009 Жалоба Поделиться Опубликовано 27 ноября, 2009 Дружище xMark! Плохо у тебя с грамотностью (в отношении MQL4).Не может в перем. datetime лежать значение string (наприм. "27.11.2009 17:33"). Данные д.б. преобразованы в соотв-й тип. Но направление мысли понял.Касательно п.2. Что-то я не пойму, скрипт или советник?Скрипт выполняется один раз в момент запуска. И если в нем в усл-ях выполнения дата, отличная от текущей, то он ничего не будет делать.Советник висит пока его принудительно не отключишь (разный форс-мажор не считается).Далее, если у тебя исполняемый (ex4), то простым путем модернизировать его не получится. Если исходник (mq4), то надо добавить код.Но опять не пойму, дата инициируется один раз в момент запуска? Или переписывается при смене даты?Для справки: - запуск это когда садишь советника или скрипт на график, - старт происходит с каждым тиком.Все-таки надо иметь общий язык для общения.PS. В ПРОГРАММИРОВАНИИ ЧУВСТВА ЮМОРА НЕ СУЩЕСТВУЕТ !!!PPS. Сейчас что-нибудь насочиняю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Speeqoolyant Опубликовано 27 ноября, 2009 Жалоба Поделиться Опубликовано 27 ноября, 2009 (изменено) 2 xMark.Получай скрипт, делающий п.1. //+------------------------------------------------------------------+//| Ответ xMark-у п_1.mq4 |//| Speeqoolyant. |//| speeqoolyant@rambler.ru |//+------------------------------------------------------------------+#property copyright "Speeqoolyant."#property link "speeqoolyant@rambler.ru" int start(){ string Data="27.11.2009 17:33"; int den=86400; double time=StrToTime(Data), Sys_den=time/den; time=MathFloor(Sys_den)*den; string Rezultat=TimeToStr(time,TIME_DATE|TIME_MINUTES); Comment("\n"," Исходная дата ",Data,"\n","Нужная дата ",Rezultat); Sleep(20000);Comment(""); return(0);}Понятно, что коммент это демонстрация преобразования (как доказательство)в соответствии с поставленной задачей. Относительно п.2 конкретизируй задачу в соответствии с предыдущим постом. Изменено 27 ноября, 2009 пользователем Speeqoolyant Ссылка на комментарий Поделиться на другие сайты Поделиться
dancer Опубликовано 20 марта, 2010 Жалоба Поделиться Опубликовано 20 марта, 2010 Подскажите, есть ли в MQL4 функция поиска выделенного объекта?Т.е. если по объекту, например вертикальная линия, щёлкнуть левой кнопкой 2 раза, то после щёлчка по нему правой повляется контекстное меню, в котором можно выбрать свойства этой линии... Так вот можно ли программно определить этот именно выделенный объект, а потом программно определить его свойстваи потом в программе использовать эти свойства. Это можно использовать, например, - скрипт: в выделенной фибе, чтобы поменять число уровней в ней, установить только коррективные или импульсные- скрипт: между двумя выделенными вертикальными линиями (т.е. задать таким образом временной промежуток) построить МСФ и натянуть на него фибу- скрипт: установить у выделенной трендовой линии другой цвет, толщину, тип линии.... В данном наборе скриптов "Автоматизация рисования картинок в MT4" http://forum.masterforex-v.org/index.php?showtopic=12751&st=75 - спасибо его создателю ,подобные изменения выполняются только для последнего нарисованного объекта.Чтобы изменить цвет, толщину линии её нужно удалить и нарисовать новую (т.е. фактически создать последний объект) - лишние операции... Ссылка на комментарий Поделиться на другие сайты Поделиться
DiTrader Опубликовано 4 августа, 2011 Жалоба Поделиться Опубликовано 4 августа, 2011 ПриветствуюНеобходимо заполнить историю на МТ4. Заполнить пробелы отсутствующих баров на всей истории от месяцов до минуток. Пробелы связаные с случайным выпадением баров и отсутствующие бары за выходные дни. просто средним значением соседних баров. Желательно в виде скрипта. Запустил терминал - запустил скрипт, скрипт просканировал историю на предмет разрывов на каждом их периодов. Очень необходимо проверить свою стратегию. Ссылка на комментарий Поделиться на другие сайты Поделиться
SsseagleSss Опубликовано 11 апреля, 2012 Жалоба Поделиться Опубликовано 11 апреля, 2012 Всем доброго дня подскажите кто знает просто и удобный скрипт для быстрого закрытия все ордеров.Если есть у кого скиньте ссылочку.Заранее спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
INUBOH Опубликовано 27 июля, 2012 Жалоба Поделиться Опубликовано 27 июля, 2012 доброго времени суток! Подскажите как сделать скрипт, чтобы он независимо от цены открывал ордер на покупку со значением T/P +15 (от закупочной цены) пунктов S/L -10 (от закупочной цены) и в это же время открывал ордер на продажу со значениями T/P -10 (от закупочной цены) S/L +10 (от закупочной цены)такое вообще можно сделать? )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Vaxo Опубликовано 28 июля, 2012 Жалоба Поделиться Опубликовано 28 июля, 2012 Здравствуйте.Помогите пожалуста удалить с индикатора Skdon Trend Signal изображения баров.Только чтобы стрелки указывали.Очень нужно.Благодарю. Ссылка на комментарий Поделиться на другие сайты Поделиться
KOT9PA Опубликовано 30 января, 2013 Жалоба Поделиться Опубликовано 30 января, 2013 (изменено) Добрый день.нужна помощь в написании скрипта рисующего наклонный канал (в виде отрезка) и выводящего рядом с ним надпись о его длине. double price1, price2; datetime time1, time2; time1= ObjectGet(name,OBJPROP_TIME1); time2= ObjectGet(name,OBJPROP_TIME2); price1= ObjectGet(name,OBJPROP_PRICE1); price2= ObjectGet(name,OBJPROP_PRICE2); double Katet1=MathAbs(time1-time2); double Katet2=MathAbs(price1-price2); double lin=sqrt(katet1*katet1+(katet2/3)*(katet2/3)); Ставим объект с помощью ObjectCreate. Указываем тип OBJ_TEXT. Куда надо поставить задаются координаты 1 точки. Время и цену. Остальные координаты можно поставить 0.С помощью ObjectSetText() задать текст DoubleToStr(lin,Digits);Так же задать цвет, размер и название шрифта. собственно надо все это соединить в в 1 рабочий скрипт. но у меня не хватает знаний синтаксиса языка.кто может оказать помощь в написании? Изменено 30 января, 2013 пользователем KOT9PA Ссылка на комментарий Поделиться на другие сайты Поделиться
Speeqoolyant Опубликовано 13 февраля, 2013 Жалоба Поделиться Опубликовано 13 февраля, 2013 Добрый день.нужна помощь в написании скрипта рисующего наклонный канал (в виде отрезка) и выводящего рядом с ним надпись о его длине. double price1, price2; datetime time1, time2; time1= ObjectGet(name,OBJPROP_TIME1); time2= ObjectGet(name,OBJPROP_TIME2); price1= ObjectGet(name,OBJPROP_PRICE1); price2= ObjectGet(name,OBJPROP_PRICE2); double Katet1=MathAbs(time1-time2); double Katet2=MathAbs(price1-price2); double lin=sqrt(katet1*katet1+(katet2/3)*(katet2/3)); Ставим объект с помощью ObjectCreate. Указываем тип OBJ_TEXT. Куда надо поставить задаются координаты 1 точки. Время и цену. Остальные координаты можно поставить 0.С помощью ObjectSetText() задать текст DoubleToStr(lin,Digits);Так же задать цвет, размер и название шрифта. собственно надо все это соединить в в 1 рабочий скрипт. но у меня не хватает знаний синтаксиса языка.кто может оказать помощь в написании?Первая строка понятна. Взаимно.Канал - область между двумя линиями, как он может быть в виде отрезка?Как мерять длину наклонного канала? В каких единицах?Ну а дальше вообще мешанина.Определись. Ссылка на комментарий Поделиться на другие сайты Поделиться
KOT9PA Опубликовано 14 февраля, 2013 Жалоба Поделиться Опубликовано 14 февраля, 2013 Добрый день.нужна помощь в написании скрипта рисующего наклонный канал (в виде отрезка) и выводящего рядом с ним надпись о его длине. double price1, price2; datetime time1, time2; time1= ObjectGet(name,OBJPROP_TIME1); time2= ObjectGet(name,OBJPROP_TIME2); price1= ObjectGet(name,OBJPROP_PRICE1); price2= ObjectGet(name,OBJPROP_PRICE2); double Katet1=MathAbs(time1-time2); double Katet2=MathAbs(price1-price2); double lin=sqrt(katet1*katet1+(katet2/3)*(katet2/3)); Ставим объект с помощью ObjectCreate. Указываем тип OBJ_TEXT. Куда надо поставить задаются координаты 1 точки. Время и цену. Остальные координаты можно поставить 0.С помощью ObjectSetText() задать текст DoubleToStr(lin,Digits);Так же задать цвет, размер и название шрифта. собственно надо все это соединить в в 1 рабочий скрипт. но у меня не хватает знаний синтаксиса языка.кто может оказать помощь в написании?Первая строка понятна. Взаимно.Канал - область между двумя линиями, как он может быть в виде отрезка?Как мерять длину наклонного канала? В каких единицах?Ну а дальше вообще мешанина.Определись.неправильно выразился, не наклонный канал, а трендовая линия.она может быть в виде отрезка. мерить длину отрезка от начала и до конца) единицы измерения, они же координаты точек начала и конца - это время и цена, соотношение в МТ4 1 к 3, в формулах это учтено. Ссылка на комментарий Поделиться на другие сайты Поделиться
Speeqoolyant Опубликовано 18 февраля, 2013 Жалоба Поделиться Опубликовано 18 февраля, 2013 4 KOT9PA" скрипта рисующего наклонный канал " -чтоб нарисовать, надо задать ему две пары координат, зачем их потом получать?И кто задает эти координаты?Подставляй их в "Katet1=MathAbs(time1-time2); Katet2=MathAbs(price1-price2); lin=sqrt(katet1*katet1+(katet2/3)*(katet2/3));"В близкие координаты выводи текст.А в чем смысл? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения