Ответ
 
Опции темы
Старый 12.09.2014, 16:04   #3021 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от extegonug Посмотреть сообщение
где бы найти полный сборник уроков по этому языку, чтобы начать вникать в суть?
Нормальный букварь у оф сайте _http://book.mql4.com/ru/

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 12.09.2014, 16:30   #3022 (permalink)
◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
 
Аватар для tommy27
 
Регистрация: 16.10.2011
Адрес: Новосибирск
Сообщений: 1,054
Репутация: 3189
tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27
Сказал(а) спасибо: 2,326
Поблагодарили 3,184 раз(а) в 875 сообщениях
Поинты: 570
Отправить сообщение для tommy27 с помощью Skype™
Сообщение от Ugar Посмотреть сообщение
Нормальный букварь у оф сайте _http://book.mql4.com/ru/
Сложновато там как то всё.. для программеров, а не для простых смертных
Мне раньше очень помогала в освоении стандартная справка в метаэдиторе - всё было удобно сгруппировано и с коротенькими примерами использования, сейчас упорядочили по алфавиту и примеры из справки убрали - очень неудобно, мне это серьёзно осложнило процесс освоения обновлённого мкла

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
puretrade.ru
tommy27 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Юла (14.09.2014)
Старый 12.09.2014, 19:30   #3023 (permalink)
Новичок форума
 
Аватар для Bob5
 
Регистрация: 12.01.2011
Сообщений: 77
Репутация: 26
Bob5
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 12 сообщениях
Поинты: 38
Если кто подскажет, буду признателен.
Бьюсь над задачей, как остановить счетчик на максимальном значении, которое показывает
Profit_Sell() - (показывает эквити открытых
ордеров Sell). Счетчик (вывел на экран в комент)
постоянно бегает в верх, низ. Начинал с этого,
беребрал многое, но неполучается.

double Equity_Sell()
{
double MaxEquity =0 ;

if ( Orders_Sell > 0 )
{
if (Profit_Sell() > MaxEquity) MaxEquity = Profit_Sell() ;
}
return(MaxEquity);
}

По идеи должно быть так - если есть открытые
ордера Sell - счетчик замирает на максимальном достигнутом эквити.
Если нет ордеров Sell - счетчик обнуляется.

Последний раз редактировалось Bob5; 12.09.2014 в 19:34.
Bob5 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.09.2014, 21:09   #3024 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Bob5 Посмотреть сообщение
Если кто подскажет, буду признателен.
Бьюсь над задачей, как остановить счетчик на максимальном значении, которое показывает
Profit_Sell() - (показывает эквити открытых
ордеров Sell). Счетчик (вывел на экран в комент)
постоянно бегает в верх, низ. Начинал с этого,
беребрал многое, но неполучается.

double Equity_Sell()
{
double MaxEquity =0 ;

if ( Orders_Sell > 0 )
{
if (Profit_Sell() > MaxEquity) MaxEquity = Profit_Sell() ;
}
return(MaxEquity);
}

По идеи должно быть так - если есть открытые
ордера Sell - счетчик замирает на максимальном достигнутом эквити.
Если нет ордеров Sell - счетчик обнуляется.
Не всё ясно что от куда берётся, но попробуй так:

double Equity_Sell()
{
static double MaxEquity ;

if ( Orders_Sell > 0 )
{
if (Profit_Sell() > MaxEquity) MaxEquity = Profit_Sell() ;
}
else MaxEquity=0 ;
return(MaxEquity);
}

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Bob5 (12.09.2014)
Старый 12.09.2014, 23:04   #3025 (permalink)
Новичок форума
 
Аватар для Bob5
 
Регистрация: 12.01.2011
Сообщений: 77
Репутация: 26
Bob5
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 12 сообщениях
Поинты: 38
Спасибо Ugar, в десяточку.
Bob5 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.09.2014, 23:25   #3026 (permalink)
Новичок форума
 
Аватар для Bob5
 
Регистрация: 12.01.2011
Сообщений: 77
Репутация: 26
Bob5
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 12 сообщениях
Поинты: 38
Еще если можно уточнение по предыдущему вопросу - как обозначить тик. Если с Open[0] и Open[1], все понятно, то как обозначить тик[0] и тик[1] . Типа если тик[1]>ma && тик[0]<ma то делаем тото и тото.
Bob5 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 13.09.2014, 03:33   #3027 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от Bob5 Посмотреть сообщение
Еще если можно уточнение по предыдущему вопросу - как обозначить тик. Если с Open[0] и Open[1], все понятно, то как обозначить тик[0] и тик[1] . Типа если тик[1]>ma && тик[0]<ma то делаем тото и тото.
Volume[0] и Volume[1]
Только это самое Volume слишком сильно зависит от ДЦ, у одного может быть 100, у другого - 1000 тиков в одной и той же свече.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 13.09.2014, 08:01   #3028 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Bob5 Посмотреть сообщение
Еще если можно уточнение по предыдущему вопросу - как обозначить тик. Если с Open[0] и Open[1], все понятно, то как обозначить тик[0] и тик[1] . Типа если тик[1]>ma && тик[0]<ma то делаем тото и тото.
Для начала уточню, тик это событие прихода новой цены.
По этому событию выполняется функция OnTick(), обычно основной код советника находится там. Значит код выполняется с приходом тика.
Значит:
OnTick()
{
bool Direction=false;
static bool LastDirection;
double ma=iMA(...);
if(Bid>ma)Direction=true;
//Вот условие если Bid>ma, а на прошлом тике это условие не соблюдалось
if(Direction && LastDirection!=Direction)
{
//Выполнить то то
}

//Запомнить направление для следующего тика
LastDirection=Direction;
}
Если нужно сравнивать значения на нескольких тиках, лучше использовать массивы.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Bob5 (13.09.2014)
Старый 14.09.2014, 11:18   #3029 (permalink)
Прохожий
 
Аватар для watasi
 
Регистрация: 11.10.2013
Сообщений: 2
Репутация: 1
watasi
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 2
Здравствуйте! В индикатор мной добавлено:

Код:
 input int      font_clr  = clrBlack;
 input int      font_size = 10;
 extern string  font_name = "Impact";
Но хотелось еще и выбор шрифта(не вписывать, а выбрать)
Через модификатор input ?А какой тип данных ?
watasi вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.09.2014, 16:22   #3030 (permalink)
Новичок форума
 
Аватар для Вовка_25
 
Регистрация: 13.05.2011
Адрес: Россия
Сообщений: 33
Репутация: 24
Вовка_25
Сказал(а) спасибо: 24
Поблагодарили 23 раз(а) в 11 сообщениях
Поинты: 23
привет,подскажите в чем может быть причина,есть советник на обычных котировках работает в тестере а на 99.9 тиковых котировках не подает признаков жизни и не пишет не чего в журнале,посоветуйте что нибудь для решения проблемы
Вовка_25 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.09.2014, 16:35   #3031 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от Вовка_25 Посмотреть сообщение
привет,подскажите в чем может быть причина,есть советник на обычных котировках работает в тестере а на 99.9 тиковых котировках не подает признаков жизни и не пишет не чего в журнале,посоветуйте что нибудь для решения проблемы
Для этой темы Тестирование советников с качеством 99.9% в МТ4 - программа Tickstory Lite вопрос. Возможно, сова использует инфу об объемах, а вы не экспортировали данные об объемах. Тогда функция Volume всегда возвращает "1" Как вариант, конечно, не факт.
Миниатюры:
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 11
Размер:	168.9 Кб
ID:	177947  
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Вовка_25 (14.09.2014)
Старый 14.09.2014, 18:21   #3032 (permalink)
Новичок форума
 
Аватар для Bob5
 
Регистрация: 12.01.2011
Сообщений: 77
Репутация: 26
Bob5
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 12 сообщениях
Поинты: 38
Как можно зафиксировать событие-

Пример, пока чо цена выше ма(Moving Average), никаких действий,
если новый бар открылся ниже ма - совершилось событие и только
с этого момента разрешено ТРАЛИТЬ и неважно, где откроется новый бар,
ниже ма или выше ма и пока, что есть открытые ордера Sell,будет разрешено ТРАЛИТЬ .


if (Number_of_Orders_Sell()>0 && Open[0] < ma) Trall(); // разрешено действовать - ТРАЛИМ


но если следующий новый бар открылся выше - ма // получается - ТРАЛ неразрешен, а нужно чтоб был разрешен,
до полного закрытия ордеров Sell.
Как можно решить эту задачку ?

Последний раз редактировалось Bob5; 14.09.2014 в 18:26.
Bob5 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.09.2014, 19:12   #3033 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,654
Репутация: 8574
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 634
Поблагодарили 8,570 раз(а) в 1,568 сообщениях
Поинты: 802
Сообщение от Bob5 Посмотреть сообщение
Как можно зафиксировать событие-

Пример, пока чо цена выше ма(Moving Average), никаких действий,
если новый бар открылся ниже ма - совершилось событие и только
с этого момента разрешено ТРАЛИТЬ и неважно, где откроется новый бар,
ниже ма или выше ма и пока, что есть открытые ордера Sell,будет разрешено ТРАЛИТЬ .


if (Number_of_Orders_Sell()>0 && Open[0] < ma) Trall(); // разрешено действовать - ТРАЛИМ


но если следующий новый бар открылся выше - ма // получается - ТРАЛ неразрешен, а нужно чтоб был разрешен,
до полного закрытия ордеров Sell.
Как можно решить эту задачку ?

Как вариант, пробуй так:
bool разрешить трал = false;
if (Number_of_Orders_Sell()>0 && Open[0] < ma) разрешить трал = true;
if(разрешить трал) Trall(); // разрешено действовать - ТРАЛИМ

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

Последний раз редактировалось mobidik; 14.09.2014 в 19:16.
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Bob5 (14.09.2014)
Старый 14.09.2014, 20:01   #3034 (permalink)
Новичок форума
 
Аватар для Bob5
 
Регистрация: 12.01.2011
Сообщений: 77
Репутация: 26
Bob5
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 12 сообщениях
Поинты: 38
Спасибо. Буду пробавать.
Bob5 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 15.09.2014, 05:16   #3035 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Как прервать проход в оптимизации советника?
Например: если достигнут предел убытка во сколько-то процентов.
Нужно чтоб оптимизация перешла к следующей итерации.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 15.09.2014, 07:05   #3036 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от matro3 Посмотреть сообщение
Как прервать проход в оптимизации советника?
Например: если достигнут предел убытка во сколько-то процентов.
Нужно чтоб оптимизация перешла к следующей итерации.
А при чём тут mql?
В тестере кнопка "Свойства эксперта", там вкладка "Оптимизация", там поставить галку "максимальная просадка" и задать %.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 15.09.2014, 07:30   #3037 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Да, видно голова уже не варит ))
Значит для каких-либо целей такого способа нет?
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 15.09.2014, 08:46   #3038 (permalink)
Почётный гражданин
 
Аватар для kipjatok001
 
Регистрация: 13.09.2012
Сообщений: 425
Репутация: 377
kipjatok001 - kipjatok001 - kipjatok001 - kipjatok001 -
Сказал(а) спасибо: 284
Поблагодарили 376 раз(а) в 97 сообщениях
Поинты: 204
Добрый день. Есть советник, который выставляет ордера увеличенными в х раз. Нужно изменить лот на начальный лот или на лот, который будет записан в параметрах. Какая это строка. Заранее спасибо.
kipjatok001 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 15.09.2014, 09:08   #3039 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от matro3 Посмотреть сообщение
Да, видно голова уже не варит ))
Значит для каких-либо целей такого способа нет?
Сложно хвосту вилять собакой.
Советник при тестировании и оптимизации работает в среде тестера.
Сложно советнику рулить тестером, тем более когда уже процесс запущен.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 15.09.2014, 09:14   #3040 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от kipjatok001 Посмотреть сообщение
Добрый день. Есть советник, который выставляет ордера увеличенными в х раз. Нужно изменить лот на начальный лот или на лот, который будет записан в параметрах. Какая это строка. Заранее спасибо.
Это не строка, а вот эта ветка, но и там экстрасенсы, вряд ли, обитают. Без предоставления кода никто не угадает и не переделает.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
NSerega (15.09.2014)
Ответ

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


Опции темы

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

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



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


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