Ответить
20.04.2018, 10:03
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Так в Test-3 сова написана. Но не пойму ни как, почему в тесторе всё зависает.На любом Дц.
20.04.2018, 10:54
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 691
Поблагодарили 347 раз(а) / Репутация: 354
Так в Test-3 сова написана. Но не пойму ни как, почему в тесторе всё зависает.На любом Дц.
А мне светит, что такое Тест-3? В каждом вопросе должны быть все исходные данные для его (вопроса) решения. Нет данных - разбирайся сам.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
20.04.2018, 11:51
Аватар для sergeysv
sergeysv sergeysv вне форума Активный участник
Регистрация: 16.01.2015 / Сообщений: 218
Поблагодарили 68 раз(а) / Репутация: 73
Здравствуйте--
Помогите пожалуйста реализовать идею для удобства. Если это возможно конечно
Суть:-- Имеем кнопки с левой стороны чарта с порядковыми номерами шаблонов. При нажатии на кнопку на чарт загружается нужный шаблон.
С правой стороны кнопки с буквами S №1 и т.д. Возможно ли и не затруднит ли людей знающих сделать так чтоб при нажатии на кнопку S №1 автоматически без вопросов сохранялся шаблон №1 и так далее по кнопкам.
Ты виноват уж тем, что хочется мне кушать (©Крылов)
Удачной охоты :)
20.04.2018, 13:21
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Здравствуйте--
Помогите пожалуйста реализовать идею для удобства. Если это возможно конечно
Суть:-- Имеем кнопки с левой стороны чарта с порядковыми номерами шаблонов. При нажатии на кнопку на чарт загружается нужный шаблон.
С правой стороны кнопки с буквами S №1 и т.д. Возможно ли и не затруднит ли людей знающих сделать так чтоб при нажатии на кнопку S №1 автоматически без вопросов сохранялся шаблон №1 и так далее по кнопкам.
А зачем dll приплели туда? Уже давным давно для этого есть функции ChartSaveTemplate для сохранения шаблона и ChartApplyTemplate для применения шаблона.
20.04.2018, 13:39
Аватар для sergeysv
sergeysv sergeysv вне форума Активный участник
Регистрация: 16.01.2015 / Сообщений: 218
Поблагодарили 68 раз(а) / Репутация: 73
А зачем dll приплели туда?
Смею заметить что не приплели,а помогли слепить из скрипта в индикатор с кнопками именно в таком варианте.
На сколько понял из справки без длл никак даже с этими функциями...
Ты виноват уж тем, что хочется мне кушать (©Крылов)
Удачной охоты :)
20.04.2018, 15:23
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Смею заметить что не приплели,а помогли слепить из скрипта в индикатор с кнопками именно в таком варианте.
На сколько понял из справки без длл никак даже с этими функциями...
Мне почему-то лениво в пятницу заниматься кнопками, я сделал пример как сохраняется шаблон и применяется шаблон по нажатию кнопок s - сохранить, a - применить.
Не забывайте что для применения шаблона на графике должен быть индикатор. Я сам попался на эту удочку. Сохранил шаблон, применил вручную другой и попытался применить сохранённый программно.
20.04.2018, 16:14
Аватар для sergeysv
sergeysv sergeysv вне форума Активный участник
Регистрация: 16.01.2015 / Сообщений: 218
Поблагодарили 68 раз(а) / Репутация: 73
я сделал пример как сохраняется шаблон и применяется шаблон по нажатию кнопок s - сохранить, a - применить.
Ты виноват уж тем, что хочется мне кушать (©Крылов)
Удачной охоты :)
20.04.2018, 17:08
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
А вот кстати коды PostMessage для других вариаций
-https://www.mql5.com/ru/forum/239302
Но большинство из них уже доступны как стандартные функции mql4
20.04.2018, 23:42
Аватар для sergeysv
sergeysv sergeysv вне форума Активный участник
Регистрация: 16.01.2015 / Сообщений: 218
Поблагодарили 68 раз(а) / Репутация: 73
А вот кстати коды PostMessage для других вариаций
Прикольные команды33050 удаляет советника -а надо чтоб грузил нужного...Вот эта понравилась--

Скрытый текст

// 7.9. Функция загружает на указанный график эксперт по его имени.
void ServiceLoadExpert(int hwndChart, // Системный дескриптор окна графика, куда загружается эксперт.
string szNameExpert, // Имя загружаемого эксперта.
int bOK); // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
// TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
[свернуть]

НО для неё нужно ServicesMT.mqh ---крутил к кнопкам как мог не вышло...
Нет ли решения попроще чтоб работало с кнопками--нажал на кнопку загрузил нужного советника?
Ты виноват уж тем, что хочется мне кушать (©Крылов)
Удачной охоты :)
21.04.2018, 02:38
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 691
Поблагодарили 347 раз(а) / Репутация: 354
Так в Test-3 сова написана. Но не пойму ни как, почему в тесторе всё зависает.На любом Дц.
Все должно быть четко прописано без лишних пробелов, как у меня оказалось в имени индюка. В iCustom нужно прописывать все входные параметры индикатора (я отключил алерты для упрощения в ТМА). И на будущее - выкладывай в формате mq4, а не php.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
21.04.2018, 06:21
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Прикольные команды33050 удаляет советника -а надо чтоб грузил нужного...Вот эта понравилась--

Скрытый текст

// 7.9. Функция загружает на указанный график эксперт по его имени.
void ServiceLoadExpert(int hwndChart, // Системный дескриптор окна графика, куда загружается эксперт.
string szNameExpert, // Имя загружаемого эксперта.
int bOK); // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
// TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
[свернуть]

НО для неё нужно ServicesMT.mqh ---крутил к кнопкам как мог не вышло...
Нет ли решения попроще чтоб работало с кнопками--нажал на кнопку загрузил нужного советника?
Я не понял, нету библиотеки? Скачать можно тут -https://www.mql5.com/ru/code/9951
К кнопкам привязать аналогично как в твоём советнике по нажатию кнопки применяется шаблон. Разница только в команде.
21.04.2018, 08:38
Аватар для sergeysv
sergeysv sergeysv вне форума Активный участник
Регистрация: 16.01.2015 / Сообщений: 218
Поблагодарили 68 раз(а) / Репутация: 73
Я не понял, нету библиотеки?
Задача с шаблонами благодаря Вам решена --отлично всё работает, спасибо
Задача другая, суть:- тынс на кнопку загружается советник по названию и без подтверждения- (если я правильно понял).
В коде не работает--на 99% уверен что прокладка виновата.
Может сие чудо работать как надо?
Ты виноват уж тем, что хочется мне кушать (©Крылов)
Удачной охоты :)
21.04.2018, 09:08
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Задача с шаблонами благодаря Вам решена --отлично всё работает, спасибо
Задача другая, суть:- тынс на кнопку загружается советник по названию и без подтверждения- (если я правильно понял).
В коде не работает--на 99% уверен что прокладка виновата.
Может сие чудо работать как надо?
Когда-то мне это было интересно, если посмотришь последнюю страницу там есть мои вопросы... но это было так давно... А сейчас, извини мне не интересно с этим разбираться. Не вижу в этом никакого смысла. Получается так, чтобы использовать эту примочку, надо загрузить индикатор, нажать кнопку и испытать приятное ощущение и удовлетворение... А не проще вместо индикатора загрузить ручками сразу советник??? И ничего не надо изменять.
Но в принципе задача решаема, раз об этом говорят и нашли коды.
21.04.2018, 09:25
Аватар для sergeysv
sergeysv sergeysv вне форума Активный участник
Регистрация: 16.01.2015 / Сообщений: 218
Поблагодарили 68 раз(а) / Репутация: 73
нажать кнопку и испытать приятное ощущение и удовлетворение...
В десятку с километра
Просто шаблон рабочий и фсё должно быть рядом...
Ты виноват уж тем, что хочется мне кушать (©Крылов)
Удачной охоты :)
22.04.2018, 08:16
Аватар для malojorsk
malojorsk malojorsk вне форума Новичок форума
Регистрация: 20.02.2017 / Сообщений: 50
Поблагодарили 5 раз(а) / Репутация: 5
Подскажите как реализовать открытие и закрытие сделки по часу:

если
Hour() >= 21 && Hour() <= 23 - открываем сделку, тут все понятно..

а если час открытия больше часа закрытия (к примеру 22 - 2), то как это можно реализовать в коде?
22.04.2018, 08:28
Аватар для eevviill2
eevviill2 eevviill2 на форуме Заблокирован
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 816
Поблагодарили 681 раз(а) / Репутация: 637
Подскажите как реализовать открытие и закрытие сделки по часу:

если
Hour() >= 21 && Hour() <= 23 - открываем сделку, тут все понятно..

а если час открытия больше часа закрытия (к примеру 22 - 2), то как это можно реализовать в коде?
Если коротко, то && меняй на ||

PHP код:
extern string emp2 "//////////////Work time settings////////////////////"
extern bool Use_work_time false
extern string start_time_1 "00:00"
extern string stop_time_1 "24:00"
extern string start_time_2 ""
extern string stop_time_2 ""
extern string start_time_3 ""
extern string stop_time_3 ""

... 
 if(
Use_work_time && !work_time_f()) return; 
//open order 

... 
//work time function 
 
bool work_time_f()  

string TC_s=TimeToString(TimeCurrent(),TIME_MINUTES); 

  if( 
      (
start_time_1+stop_time_1=="" || ((start_time_1<stop_time_1 && (TC_s<start_time_1 || TC_s>=stop_time_1)) || (start_time_1>stop_time_1 && (TC_s<start_time_1 && TC_s>=stop_time_1))))  
   && (
start_time_2+stop_time_2=="" || ((start_time_2<stop_time_2 && (TC_s<start_time_2 || TC_s>=stop_time_2)) || (start_time_2>stop_time_2 && (TC_s<start_time_2 && TC_s>=stop_time_2))))   
   && (
start_time_3+stop_time_3=="" || ((start_time_3<stop_time_3 && (TC_s<start_time_3 || TC_s>=stop_time_3)) || (start_time_3>stop_time_3 && (TC_s<start_time_3 && TC_s>=stop_time_3))))   
    )  return(
false); 


  
   return (
true); 

22.04.2018, 08:31
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Подскажите как реализовать открытие и закрытие сделки по часу:

если
Hour() >= 21 && Hour() <= 23 - открываем сделку, тут все понятно..

а если час открытия больше часа закрытия (к примеру 22 - 2), то как это можно реализовать в коде?
В этом случае обязательно добавлять дату. Ну как минимум условие если end < start добавить к времени end PeriodSecond(PERIOD_D1)
22.04.2018, 08:51
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Если коротко, то && меняй на ||

PHP код:
extern string emp2 "//////////////Work time settings////////////////////"extern bool Use_work_time falseextern string start_time_1 "00:00"extern string stop_time_1 "24:00"extern string start_time_2 ""extern string stop_time_2 ""extern string start_time_3 ""extern string stop_time_3 ""; ...  if(Use_work_time && !work_time_f()) return; //open order ... //work time function  bool work_time_f()  { string TC_s=TimeToString(TimeCurrent(),TIME_MINUTES);   if(       (start_time_1+stop_time_1=="" || ((start_time_1<stop_time_1 && (TC_s<start_time_1 || TC_s>=stop_time_1)) || (start_time_1>stop_time_1 && (TC_s<start_time_1 && TC_s>=stop_time_1))))     && (start_time_2+stop_time_2=="" || ((start_time_2<stop_time_2 && (TC_s<start_time_2 || TC_s>=stop_time_2)) || (start_time_2>stop_time_2 && (TC_s<start_time_2 && TC_s>=stop_time_2))))      && (start_time_3+stop_time_3=="" || ((start_time_3<stop_time_3 && (TC_s<start_time_3 || TC_s>=stop_time_3)) || (start_time_3>stop_time_3 && (TC_s<start_time_3 && TC_s>=stop_time_3))))       )  return(false);      return (true); } 
Такой дебильный код может придумать только дебил из бандерлогии.
22.04.2018, 10:01
Аватар для malojorsk
malojorsk malojorsk вне форума Новичок форума
Регистрация: 20.02.2017 / Сообщений: 50
Поблагодарили 5 раз(а) / Репутация: 5
В этом случае обязательно добавлять дату. Ну как минимум условие если end < start добавить к времени end PeriodSecond(PERIOD_D1)
Нашел,
вроде должно сработать если TimeFiltr будет true

Код:
bool TimeFiltr()
{
if (MyStartHour < MyStopHour && Hour() >= MyStartHour && Hour() < MyStopHour) return(true);
if (MyStartHour > MyStopHour && (Hour() >= MyStartHour || Hour() < MyStopHour)) return(true);
if (MyStartHour == MyStopHour) return(false);
return(false);
}

Последний раз редактировалось NSerega; 22.04.2018 в 14:29.
22.04.2018, 10:57
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,854
Поблагодарили 3,985 раз(а) / Репутация: 3974
Нашел,
вроде должно сработать если TimeFiltr будет true

Код:
bool TimeFiltr()
{
if (MyStartHour < MyStopHour && Hour() >= MyStartHour && Hour() < MyStopHour) return(true);
if (MyStartHour > MyStopHour && (Hour() >= MyStartHour || Hour() < MyStopHour)) return(true);
if (MyStartHour == MyStopHour) return(false);
return(false);
}
Тоже что-то мне не нравится. Как-то замудрёно сделали проверку. Специально для тебя написал.

Скрытый текст


Код:
int myStartHour = 13, myStopHour = 3;
/********************Script program start function*******************/
void OnStart()
{
 bool runTime = myRunTime(myStartHour, myStopHour);
}/*******************************************************************/

bool myRunTime(const int startHour, const int stopHour, const int startMinute = 0, const int stopMinute = 0)
{
 datetime t1 = StringToTime(StringConcatenate(startHour, ":", startMinute ));
 datetime t2 = StringToTime(StringConcatenate(stopHour, ":", stopMinute ));
 if(t2 < t1)
  t2 += PeriodSeconds(PERIOD_D1);
 return(TimeCurrent() >= t1 && TimeCurrent() < t2);
}/*******************************************************************/
[свернуть]

Последний раз редактировалось NSerega; 22.04.2018 в 14:29.
Ответить

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 07:14. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO