Закрытая тема
28.09.2012, 13:26
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
Такого универсального средства нету. Скорее проблема в том что надо понимать структуру. Тоесть 2 недели почитать и 2 попрактиковатся и всё будет ОК.

Вот конкретный пример прилепления алерта.
1)В терминале после прикрепления к графику заходишь в свойства вкладка цвет. Там смотришь какому буферу соответсвует определённый цвет. В нашем случае МА1 синяя и МА2 красная. Тоесть буфер 3 и 4.
2)Заходим в код и смотрим эти строки
SetIndexBuffer и ищем номера которые нам нужны. 3 и 4. И дальше в этой строке будет буфер который соответсвует цвету который мы искали. У нас это MA1buffer и MA2buffer
3)В самом конце перед return нужно записать условие чтобы алерт был раз на баре и при каом условии звенеть.

4)Чтобы раз на баре звенело.
PHP код:
static int prevtime 0
это в глобальные переменные(с самого начала програмы)
PHP код:
prevtime iTime(Symbol(),0,0); 
это в int init()
PHP код:
if (iTime(Symbol(), 00) == prevtime) {Sleep(50);return(0);}
   
prevtime iTime(Symbol(),0,0); 
это в int start() в самый конец, перед нашим условием алерта.

5)Ну и само условие алерта.
В глобальные переменные(с самого начала, перед init) пишем какое сообщение будет звенеть.
PHP код:
extern string cross "МА пересеклись"
в start() после раз на баре.
PHP код:
if((MA1buffer[2]>MA2buffer[2]&&MA1buffer[1]<MA2buffer[1]) || (MA1buffer[2]<MA2buffer[2]&&MA1buffer[1]>MA2buffer[1]))
   
Alert(cross); 
Дословно. (Если МА1 на позапрошлом баре была больше МА2 на позапрошлом баре И Если МА1 на прошлом баре была меньше МА2 на прошлом баре) ИЛИ (Если МА1 на позапрошлом баре была меньше МА2 на позапрошлом баре И Если МА1 на прошлом баре была больше МА2 на прошлом баре)
то Алерт сообщение МА пересеклись
Слушай, огромное спасибо. А вот вопрос, sendmail нельзя добавить в индикатор?
28.09.2012, 13:55
Аватар для romaks
romaks romaks вне форума Местный житель
Регистрация: 06.02.2011 / Сообщений: 260
Поблагодарили 179 раз(а) / Репутация: 178
Такого универсального средства нету. Скорее проблема в том что надо понимать структуру. Тоесть 2 недели почитать и 2 попрактиковатся и всё будет ОК.

Вот конкретный пример прилепления алерта.
1)В терминале после прикрепления к графику заходишь в свойства вкладка цвет. Там смотришь какому буферу соответсвует определённый цвет. В нашем случае МА1 синяя и МА2 красная. Тоесть буфер 3 и 4.
2)Заходим в код и смотрим эти строки
SetIndexBuffer и ищем номера которые нам нужны. 3 и 4. И дальше в этой строке будет буфер который соответсвует цвету который мы искали. У нас это MA1buffer и MA2buffer
3)В самом конце перед return нужно записать условие чтобы алерт был раз на баре и при каом условии звенеть.

4)Чтобы раз на баре звенело.
PHP код:
static int prevtime 0
это в глобальные переменные(с самого начала програмы)
PHP код:
prevtime iTime(Symbol(),0,0); 
это в int init()
PHP код:
if (iTime(Symbol(), 00) == prevtime) {Sleep(50);return(0);}
   
prevtime iTime(Symbol(),0,0); 
это в int start() в самый конец, перед нашим условием алерта.

5)Ну и само условие алерта.
В глобальные переменные(с самого начала, перед init) пишем какое сообщение будет звенеть.
PHP код:
extern string cross "МА пересеклись"
в start() после раз на баре.
PHP код:
if((MA1buffer[2]>MA2buffer[2]&&MA1buffer[1]<MA2buffer[1]) || (MA1buffer[2]<MA2buffer[2]&&MA1buffer[1]>MA2buffer[1]))
   
Alert(cross); 
Дословно. (Если МА1 на позапрошлом баре была больше МА2 на позапрошлом баре И Если МА1 на прошлом баре была меньше МА2 на прошлом баре) ИЛИ (Если МА1 на позапрошлом баре была меньше МА2 на позапрошлом баре И Если МА1 на прошлом баре была больше МА2 на прошлом баре)
то Алерт сообщение МА пересеклись
Спасибо дружище. Всё хотел тебя в уроках просить написать урок по алертам, а тут ты пусть не все рассказал, но суть. Теперь проще дальше изучать и пробовать будет.
28.09.2012, 15:03
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Слушай, огромное спасибо. А вот вопрос, sendmail нельзя добавить в индикатор?
Да. Что хочешь можно добавить.
Там где строка Alert надо ставить сначало и в конце скобки {}
PHP код:
{Alert("Jo"); SendMail("Io","Cross");Comment("2MA cross");} 
gush , romaks , VilAnoR 
28.09.2012, 15:15
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
А зачем: {} ?

Что-то вроде
if(MA1buffer[0]<MA2buffer[0]) || (MA1buffer[0]>MA2buffer[0]))
{Alert("Jo"); SendMail("Io","Cross");Comment("2MA cross");Alert(cross)};
28.09.2012, 18:21
Аватар для pegasusss
pegasusss pegasusss вне форума Новичок форума
Регистрация: 15.08.2012 / Сообщений: 15
Поблагодарили 15 раз(а) / Репутация: 16
Уважаемые программисты! После длительных и множественных тестов и проб, нашел я советника, который на демо показывает очень неплохой принцип работы. Сов работает по принципу сеточника с локированием открытых позиций и выведением прибыли из открытых на валютной паре сделок, что существенно разгружает депо и стабильно его увеличивает! Честно говоря, я готов поставить его на реальный счет, если бы не одно "но" - время от времени по непонятным мне причинам он перестает выставлять отложенные ордера, что попросту приводит к потере заложенного в алгоритм его работы принципа локирования и соответственно к потерям депо. ЧТО ЕМУ НЕ ХВАТАЕТ??? Пожалуйста, посмотрите его алгоритм, как его вылечить от сбоев или как-то доработать?!? Буду искренне благодарен за помощь!!!
28.09.2012, 23:10
Аватар для sss555
sss555 sss555 вне форума Новичок форума
Регистрация: 13.11.2010 / Сообщений: 11
Поблагодарили 4 раз(а) / Репутация: 5
Пожалуйста нужно вставить в этот советник функцию SL с размером в количестве валюты с таким параметром.Заранее благодарю....
29.09.2012, 03:02
Аватар для user666
user666 user666 вне форума Новичок форума
Регистрация: 24.03.2010 / Сообщений: 42
Поблагодарили 11 раз(а) / Репутация: 12
111serg111

Посмотрел.
Пип работает точно.
А в Аргусе в самом коде записано чтобы пять ордеров открывать сразу. Зачем? Это можно только догадыватся. Сделал переменные чтобы можно было выбирать количество стартовых ордеров.

Я не оправдываюсь. Работу свою я сделал. Просто сам советник так написан.
На форум выкладывать не буду. Напишу в ЛС.
-=-=-=-
А почему бы не выложить ? Мне он тоже нравится....
30.09.2012, 21:42
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
if ((MA1buffer[0]<MA2buffer[0]) || (MA1buffer[0]>MA2buffer[0]))
{Alert(cross); SendMail("Cross MA","Cross");Comment("2MA cross");}

Вот что записал, звучит на каждом баре теперь и отправляет емейл.
30.09.2012, 22:07
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
Все, разобрался, всем спасибо
.
01.10.2012, 07:03
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
C меня бакс. Куда кидать?
01.10.2012, 07:29
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
C меня бакс. Куда кидать?
Z262474651203
gush 
01.10.2012, 07:31
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
Окей, сейчас будет.

Слушай, вот такой вот код адекватен?

С ним в целом все окей, все работает - просто на будущее узнать, не будет ли неожиданностей.

PHP код:
 if((MA1buffer[1]>MA2buffer[1]&&MA1buffer[0]<MA2buffer[0]) || (MA1buffer[1]<MA2buffer[1]&&MA1buffer[0]>MA2buffer[0])) 
    {
Alert(cross); SendMail("Cross MA","Cross");Comment("2MA cross");} 

Последний раз редактировалось VilAnoR; 01.10.2012 в 07:33.
01.10.2012, 07:59
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Окей, сейчас будет.

Слушай, вот такой вот код адекватен?

С ним в целом все окей, все работает - просто на будущее узнать, не будет ли неожиданностей.

PHP код:
 if((MA1buffer[1]>MA2buffer[1]&&MA1buffer[0]<MA2buffer[0]) || (MA1buffer[1]<MA2buffer[1]&&MA1buffer[0]>MA2buffer[0])) 
    {
Alert(cross); SendMail("Cross MA","Cross");Comment("2MA cross");} 
Правильно, но поскольку у нас будет звинеть по закрытию бара, то нужно сравнивать прошлый и позапрошлый бары.
gush 
01.10.2012, 08:11
Аватар для VilAnoR
VilAnoR VilAnoR вне форума Новичок форума
Регистрация: 27.09.2012 / Сообщений: 20
Поблагодарили 4 раз(а) / Репутация: 5
Мне в целом лучше реагировать раньше, чем позже.
Насколько я смог убедиться, сейчас как раз сигнал буквально на самом пересечении.

То есть мне по сути нужен сигнал по факту пересечения на открытии.

Последний раз редактировалось VilAnoR; 01.10.2012 в 09:11.
01.10.2012, 13:05
Аватар для Алекc1234
Алекc1234 Алекc1234 на форуме Местный житель
Регистрация: 24.03.2011 / Сообщений: 710
Поблагодарили 277 раз(а) / Репутация: 277
Здравствуйте. Сделайте, пожалуйста, в этом советнике так, чтобы когда срабатывает отложенный ордер с проскальзыванием, то стоплосс и тейкпрофит бы менялись на величину проскальзывания. То есть, поставился скажем байстоп на 1.2900, тейк - 1.2930, стоп - 1.2870. Сработал байстоп с проскальзыванием в 2 пункта, то есть открылся ордер бай по цене 1.2902. Вот тогда чтобы тейкпрофит поставился бы на 1.2932, а стоплосс на 1.2872, то есть они бы изменились на 2 пункта - на величину проскальзывания...Буду очень благодарен за помощь!
01.10.2012, 16:11
Аватар для serikbay
serikbay serikbay вне форума Активный участник
Регистрация: 14.12.2011 / Сообщений: 102
Поблагодарили 52 раз(а) / Репутация: 53
Такого универсального средства нету. Скорее проблема в том что надо понимать структуру. Тоесть 2 недели почитать и 2 попрактиковатся и всё будет ОК.

Вот конкретный пример прилепления алерта.
1)В терминале после прикрепления к графику заходишь в свойства вкладка цвет. Там смотришь какому буферу соответсвует определённый цвет. В нашем случае МА1 синяя и МА2 красная. Тоесть буфер 3 и 4.
2)Заходим в код и смотрим эти строки
SetIndexBuffer и ищем номера которые нам нужны. 3 и 4. И дальше в этой строке будет буфер который соответсвует цвету который мы искали. У нас это MA1buffer и MA2buffer
3)В самом конце перед return нужно записать условие чтобы алерт был раз на баре и при каом условии звенеть.

4)Чтобы раз на баре звенело.
PHP код:
static int prevtime 0
это в глобальные переменные(с самого начала програмы)
PHP код:
prevtime iTime(Symbol(),0,0); 
это в int init()
PHP код:
if (iTime(Symbol(), 00) == prevtime) {Sleep(50);return(0);}
   
prevtime iTime(Symbol(),0,0); 
это в int start() в самый конец, перед нашим условием алерта.

5)Ну и само условие алерта.
В глобальные переменные(с самого начала, перед init) пишем какое сообщение будет звенеть.
PHP код:
extern string cross "МА пересеклись"
в start() после раз на баре.
PHP код:
if((MA1buffer[2]>MA2buffer[2]&&MA1buffer[1]<MA2buffer[1]) || (MA1buffer[2]<MA2buffer[2]&&MA1buffer[1]>MA2buffer[1]))
   
Alert(cross); 
Дословно. (Если МА1 на позапрошлом баре была больше МА2 на позапрошлом баре И Если МА1 на прошлом баре была меньше МА2 на прошлом баре) ИЛИ (Если МА1 на позапрошлом баре была меньше МА2 на позапрошлом баре И Если МА1 на прошлом баре была больше МА2 на прошлом баре)
то Алерт сообщение МА пересеклись
Спасибо тебе EEVVIILL. Вот исправил в коде, но все равно почемуто не звучит сигнал. Если не трудно EEVVIILL может глянешь все правильно или что то не туда запихал.
01.10.2012, 16:27
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Спасибо тебе EEVVIILL. Вот исправил в коде, но все равно почемуто не звучит сигнал. Если не трудно EEVVIILL может глянешь все правильно или что то не туда запихал.
Всё ОК. Просто условие стоит под общим if(use_alerts).
В переменных включи. Там false стоит.
gush , serikbay 
01.10.2012, 18:05
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Привет всем!
eevviill, Поменяй пожалуйста в сове Prizm2, индикатор Envelopes на ExtremeTMALine.
Очень нужно.
.
gush , sly 
01.10.2012, 18:06
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Нужно сделать чтобы при усреднении, модифицировал ТП от безубытка открытых ордеров на расстояние ТП.
Большое спасибо.
ProfitTrailing = False;
Поменяй на true
gush 
01.10.2012, 18:21
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Зделайте пожалуйста чтобы при значении FirstStepStop = 0 и FirstStepLimit = 0 первые ордера выставлялись рыночными а не отложенными а последующие отложенными как и есть в сове.
.

Последний раз редактировалось eevviill; 01.10.2012 в 18:24.
gush 
Закрытая тема

Метки
mql программирование, дописать индикатор, дописать эксперт, доработать советник, форекс программирование


Опции темы

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь профессионального программиста в написании МТС индикаторов советников. cmillion Поиск программиста, поиск заказов 96 05.09.2017 08:20
Написание экспертов, индикаторов. Улсуги VPS для ваших советников. RL.Maxim Temp, корзина, реклама 5 31.10.2009 21:55
Написание советников, индикаторов, скриптов для MT4 по Вашему ТЗ Impish Поиск программиста, поиск заказов 0 04.04.2009 21:30


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


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