Закрытая тема
02.01.2014, 23:01
Аватар для Alley
Alley Alley вне форума Местный житель
Регистрация: 22.11.2011 / Адрес: Запорожье / Сообщений: 84
Поблагодарили 294 раз(а) / Репутация: 295
ПРОШУ У МОДЕРАТОРА ПРОЩЕНИЯ...
В соседнюю ветку выложил шаблон с индикаторами, которыми и здесь интересовались.
Попробуйте что скажите на Ваш суд, ногами не пинать...

Шаблон в терминал с 9 индикаторами

http://forexsystemsru.com/indikatory/70853-arhiv-indikatorov-69.html#post765729
Пост: #1372

Ребята, выкладываю шаблон из рабочего терминала, которым пользуюсь.
Девять индикаторов в архиве. Визуал-Ордерс под два цвета графика (темный и светлый).
RSI прайсовый прямо на график выводится очень интересный. Ключевые уровни (психоуровни 00 20 50 80 00) по которым воротилы рынка и ценами двигают - полезен кто торгует руками. Арбитражный индикатор корреляции валютных пар!!! Индикатор канала тренда - сам перестраивается независимо от ТФ. ГП-Тренд подвальный индикатор -гистограмма движения тренда.
02.01.2014, 23:26
Аватар для Alley
Alley Alley вне форума Местный житель
Регистрация: 22.11.2011 / Адрес: Запорожье / Сообщений: 84
Поблагодарили 294 раз(а) / Репутация: 295
Спасибо, посмотрю!
А Вы можете посмотреть еще один индикатор, выложил здесь и там же описание!
выглядит так:

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

[свернуть]


p.s. извиняюсь, что сообщение не по теме раздела!
Novikov, спасибо за ссыль! Да очень информативный, но на графе думаю не должно быть много лишнего и отвлекающего в решающий момент!
А здесь еще в матрице с пересечениями быстро не "поговорить"!
У арбитражника, которого выложил выше почти та же информация -вузуально показывает направление , а не в цифрах.
А представляю сколько такой индикатор забирает оперативки у РС...
03.01.2014, 10:55
Аватар для Рамон
Рамон Рамон вне форума Активный участник
Регистрация: 30.09.2010 / Адрес: Казахстан / Сообщений: 93
Поблагодарили 38 раз(а) / Репутация: 39
Доброго Времени суток, уважаемые форумчане!
Поздравляю с Новым Годом! Успехов Вам во всех делах, мира, любви и здоровья!

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

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


//+------------------------------------------------------------------+
//| 3D Oscilator.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Author - Luis Damiani. Ramdass - Conversion only"

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Magenta
#property indicator_color2 DarkSlateBlue
#property indicator_color3 GreenYellow
#property indicator_color4 Red
//---- input parameters

extern int D1RSIPer=13;
extern int D2StochPer=8;
extern int D3tunnelPer=8;
extern double hot=0.4;
extern int sigsmooth=4;


//---- buffers
double sig1n[];
double sig2n[];
double upX[],dnX[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(0,sig1n);
SetIndexBuffer(1,sig2n);

SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,upX);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,dnX);
//----
SetIndexDrawBegin(0,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);
SetIndexDrawBegin(1,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);
SetIndexDrawBegin(2,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);
SetIndexDrawBegin(3,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);

//----
return(0);
}
//+------------------------------------------------------------------+
//| CCI_Woodies |
//+------------------------------------------------------------------+
int start()
{
int i,i2,counted_bars=IndicatorCounted();
double rsi,maxrsi,minrsi,storsi,E3D,
sig1,sig2,sk,ss,sk2;
double cs;
bool init=true;

//----
cs= D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth;
if(Bars<=cs) return(0);

//if (init)
//{
ss=sigsmooth;
if (ss<2) ss=2;
sk = 2 / (ss + 1);
sk2=2/(ss*0.8+1);
init=false;
//};

//---- initial zero
if(counted_bars<1)
{
for(i=1;i<=cs;i++) sig1n[Bars-i]=0.0;
for(i=1;i<=cs;i++) sig2n[Bars-i]=0.0;
for(i=1;i<=cs;i++) upX[Bars-i]=0.0;
for(i=1;i<=cs;i++) dnX[Bars-i]=0.0;
}

i=Bars-cs-1;

if (counted_bars>=cs) i=300; //i=Bars-counted_bars-1;
while (i>=0)
{

rsi=iRSI(NULL,0,D1RSIPer,PRICE_CLOSE,i);
maxrsi=rsi;
minrsi=rsi;

for (i2=i+D2StochPer;i2>=i; i2--)
{
rsi=iRSI(NULL,0,D1RSIPer,PRICE_CLOSE,i2);
if (rsi>maxrsi) maxrsi=rsi;
if (rsi<minrsi) minrsi=rsi;
//maxrsi=Maximum(rsi,maxrsi);
//minrsi=min(rsi,minrsi);
}

storsi=((rsi-minrsi)/(maxrsi-minrsi)*200-100);
E3D=hot*iCCI(NULL,0,D3tunnelPer,PRICE_TYPICAL,i)+(1-hot)*storsi;
sig1n[i]=sk*E3D+(1-sk)*sig1;
sig2n[i]=sk2*sig1+(1-sk2)*sig2;
sig1=sig1n[i];
sig2=sig2n[i];

if (sig1n[i]>sig2n[i] && sig1n[i+1]<sig2n[i+1]) upX[i]=sig2n[i]-15;
if (sig1n[i]<sig2n[i] && sig1n[i+1]>sig2n[i+1]) dnX[i]=sig2n[i]+15;

i--;
}

return(0);
}
//+------------------------------------------------------------------+
[свернуть]


заранее благодарю!!!
03.01.2014, 11:33
Аватар для rsl8989
rsl8989 rsl8989 вне форума Интересующийся
Регистрация: 02.12.2013 / Сообщений: 26
Поблагодарили 2 раз(а) / Репутация: 3
Так весь же алгоритм будет работать дальше.
В функциях там в ветке есть подсчёт ордеров и закрытие всех позиций.
1) Подсчитываешь ордера.
2) Если время(часы) закрытия ровно текущему часу и есть открытые ордера
3) Закрыть все.

Вроди так.
PHP код:
CountOpenPositions();
if(
Hour()==Stop && Orders_Total>0CloseAll(); 
С новым 2014 годом! так и не смог внедрить этот параметр(
Можете показать как он будет сидеть в WorkTime? прикрепляю его...WorkTime.rar Можно ли его сделать true/false (отключаемый)?
03.01.2014, 13:14
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Доброго Времени суток, уважаемые форумчане!
Поздравляю с Новым Годом! Успехов Вам во всех делах, мира, любви и здоровья!

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

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


//+------------------------------------------------------------------+
//| 3D Oscilator.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Author - Luis Damiani. Ramdass - Conversion only"

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Magenta
#property indicator_color2 DarkSlateBlue
#property indicator_color3 GreenYellow
#property indicator_color4 Red
//---- input parameters

extern int D1RSIPer=13;
extern int D2StochPer=8;
extern int D3tunnelPer=8;
extern double hot=0.4;
extern int sigsmooth=4;


//---- buffers
double sig1n[];
double sig2n[];
double upX[],dnX[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(0,sig1n);
SetIndexBuffer(1,sig2n);

SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,upX);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,dnX);
//----
SetIndexDrawBegin(0,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);
SetIndexDrawBegin(1,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);
SetIndexDrawBegin(2,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);
SetIndexDrawBegin(3,D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth);

//----
return(0);
}
//+------------------------------------------------------------------+
//| CCI_Woodies |
//+------------------------------------------------------------------+
int start()
{
int i,i2,counted_bars=IndicatorCounted();
double rsi,maxrsi,minrsi,storsi,E3D,
sig1,sig2,sk,ss,sk2;
double cs;
bool init=true;

//----
cs= D1RSIPer+D2StochPer+D3tunnelPer+hot+sigsmooth;
if(Bars<=cs) return(0);

//if (init)
//{
ss=sigsmooth;
if (ss<2) ss=2;
sk = 2 / (ss + 1);
sk2=2/(ss*0.8+1);
init=false;
//};

//---- initial zero
if(counted_bars<1)
{
for(i=1;i<=cs;i++) sig1n[Bars-i]=0.0;
for(i=1;i<=cs;i++) sig2n[Bars-i]=0.0;
for(i=1;i<=cs;i++) upX[Bars-i]=0.0;
for(i=1;i<=cs;i++) dnX[Bars-i]=0.0;
}

i=Bars-cs-1;

if (counted_bars>=cs) i=300; //i=Bars-counted_bars-1;
while (i>=0)
{

rsi=iRSI(NULL,0,D1RSIPer,PRICE_CLOSE,i);
maxrsi=rsi;
minrsi=rsi;

for (i2=i+D2StochPer;i2>=i; i2--)
{
rsi=iRSI(NULL,0,D1RSIPer,PRICE_CLOSE,i2);
if (rsi>maxrsi) maxrsi=rsi;
if (rsi<minrsi) minrsi=rsi;
//maxrsi=Maximum(rsi,maxrsi);
//minrsi=min(rsi,minrsi);
}

storsi=((rsi-minrsi)/(maxrsi-minrsi)*200-100);
E3D=hot*iCCI(NULL,0,D3tunnelPer,PRICE_TYPICAL,i)+(1-hot)*storsi;
sig1n[i]=sk*E3D+(1-sk)*sig1;
sig2n[i]=sk2*sig1+(1-sk2)*sig2;
sig1=sig1n[i];
sig2=sig2n[i];

if (sig1n[i]>sig2n[i] && sig1n[i+1]<sig2n[i+1]) upX[i]=sig2n[i]-15;
if (sig1n[i]<sig2n[i] && sig1n[i+1]>sig2n[i+1]) dnX[i]=sig2n[i]+15;

i--;
}

return(0);
}
//+------------------------------------------------------------------+
[свернуть]

заранее благодарю!!!
Попробуй 2 экземпляра
PHP код:
DRAW_LINE 
поменять на
PHP код:
DRAW_HISTOGRAM 
03.01.2014, 13:38
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
С новым 2014 годом! так и не смог внедрить этот параметр(
Можете показать как он будет сидеть в WorkTime? прикрепляю его...Вложение 146117 Можно ли его сделать true/false (отключаемый)?
Да.
Вначале пиши
PHP код:
extern bool use_clos_all true
после старта
PHP код:
if(use_clos_all)
{
CountOpenPositions(); 
if(
Hour()==Stop && Orders_Total>0Close_all();

04.01.2014, 11:41
Аватар для rsl8989
rsl8989 rsl8989 вне форума Интересующийся
Регистрация: 02.12.2013 / Сообщений: 26
Поблагодарили 2 раз(а) / Репутация: 3
Да.
Вначале пиши
PHP код:
extern bool use_clos_all true
после старта
PHP код:
if(use_clos_all)
{
CountOpenPositions(); 
if(
Hour()==Stop && Orders_Total>0Close_all();

не выходит, советник загибается(
для примера вставил в сову без true/false
и с true/false
Fxdroid_.mq4
Fxdroid__.mq4
04.01.2014, 14:22
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
не выходит, советник загибается(
для примера вставил в сову без true/false
и с true/false
Вложение 146210
Вложение 146211
Что значит загибается?
А ты по логике подумай.
Ты поставил закрытие ордеров после времени рабоы.
Правильно?
04.01.2014, 14:53
Аватар для rsl8989
rsl8989 rsl8989 вне форума Интересующийся
Регистрация: 02.12.2013 / Сообщений: 26
Поблагодарили 2 раз(а) / Репутация: 3
Что значит загибается?
А ты по логике подумай.
Ты поставил закрытие ордеров после времени рабоы.
Правильно?
Загибается-имею ввиду не работает
дело в том, что после внедрения параметра закрытия хоть при открытии сделки, хоть после времени- сова в любом случаи становится нерабочей,
алгоритм работы становится нерабочим(
04.01.2014, 15:29
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Загибается-имею ввиду не работает
дело в том, что после внедрения параметра закрытия хоть при открытии сделки, хоть после времени- сова в любом случаи становится нерабочей,
алгоритм работы становится нерабочим(
Значит ничем помочь не смогу.
05.01.2014, 10:03
Аватар для rsl8989
rsl8989 rsl8989 вне форума Интересующийся
Регистрация: 02.12.2013 / Сообщений: 26
Поблагодарили 2 раз(а) / Репутация: 3
Значит ничем помочь не смогу.
А может можно собрать сову с минимальными параметрами и привязкой по меджику либо для все ордеров (тру/фалс)?
т.е там будет время когда нужно закрыть все ордера в опред. время с привязкой по меджику, либо для все ордеров на выбор. Если будет открыто два окна с парами, к примеру, а эта сова будет открыта в отдельном окне и там можно будет ее настроить либо по обоим окнам закрыть все, либо по одной паре с привязкой по меджику...?Многим бы пригодилось, есть подобные роботы, вот к примеру выкладываю тралер по меджику.
e-MovingInWL2.mq4
05.01.2014, 11:51
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Прошу, кому не сложно, подправить индикатор - заменить перерасчет индикатора каждые 5 тиков, на перерасчет по открытию m1
и исправить или устранить ошибку:
"2014.01.02 13:43:15 КОРРЕЛЯЦИЯ_v2 EURJPY,H1: object name passed to ObjectDelete function cannot be an uninitialized or empty string"

что бы лог файл не быстро разрастался!

Скрин и описание здесь

скачать индикатор КОРРЕЛЯЦИЯ_v2.mq4
05.01.2014, 12:06
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Прошу, кому не сложно, подправить индикатор - заменить перерасчет индикатора каждые 5 тиков, на перерасчет по открытию m1
и исправить или устранить ошибку:
"2014.01.02 13:43:15 КОРРЕЛЯЦИЯ_v2 EURJPY,H1: object name passed to ObjectDelete function cannot be an uninitialized or empty string"

что бы лог файл не быстро разрастался!

Скрин и описание здесь

скачать индикатор КОРРЕЛЯЦИЯ_v2.mq4
А не легче исправить ошибку чем придумывать новую проблему?
Странная логика.
этот кусок
PHP код:
int start()
  {
//----
//+------------------------------------------------------------------+
  
if(tic<5){tic++;return(0);}
  else 
tic=0;
//+------------------------------------------------------------------+
   
for(int d=0;d<201;d++)
     {
      
ObjectDelete(Delte[d]);                 // Удаление объекта  
      
ObjectDelete(DelteText[d]);             // Удаление объекта  
     



поменяй на
PHP код:
int start()
  {
//----
//+------------------------------------------------------------------+
  
if(tic<5){tic++;return(0);}
  else 
tic=0;
//+------------------------------------------------------------------+
   
for(int d=0;d<201;d++)
     {
      if(
Delte[d]!="")
      
ObjectDelete(Delte[d]);                 // Удаление объекта  
      
if(Delte[d]!="")
      
ObjectDelete(DelteText[d]);             // Удаление объекта  
     

Dom , Kvant , Novikov 
05.01.2014, 15:40
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
А не легче исправить ошибку чем придумывать новую проблему?
Странная логика.
Да, было бы легче, если бы я шарил в программировании и знал, как и что исправить!
Поэтому логика в этом плане не сРанная, а вообще отсутствует
Спасибо!

Последний раз редактировалось Novikov; 05.01.2014 в 16:01.
06.01.2014, 09:37
Аватар для Kvant
Kvant Kvant на форуме Элитный участник
Регистрация: 18.01.2010 / Адрес: ХМАО / Сообщений: 1,213
Поблагодарили 1,526 раз(а) / Репутация: 1527
Как, в любой советник, добавить функцию закрытия, открытого ордера с рынка, через определенное время (в минутах – внешние переменные) с момента его открытия? Может уже была такая реализация в данной теме, но я не нашел…
Кто не помнит прошлого - у того нет будущего...
06.01.2014, 09:42
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Как, в любой советник, добавить функцию закрытия, открытого ордера с рынка, через определенное время (в минутах – внешние переменные) с момента его открытия? Может уже была такая реализация в данной теме, но я не нашел…
Могу технологию расказать.
PHP код:
extern int order_close_min 20;//minutes
...
for(
int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS);
if(
TimeCurrent()>=OrderOpenTime()+20*60)
{
if(
OrderType()==OP_BUYOrderClose(OrderTicket(),OrderLots(),Bid,slippage,Yellow); 
if(
OrderType()==OP_SELLOrderClose(OrderTicket(),OrderLots(),Ask,slippage,Yellow);
}

hiys , Kvant 
06.01.2014, 09:47
Аватар для Kvant
Kvant Kvant на форуме Элитный участник
Регистрация: 18.01.2010 / Адрес: ХМАО / Сообщений: 1,213
Поблагодарили 1,526 раз(а) / Репутация: 1527
Могу технологию расказать.
PHP код:
extern int order_close_min 20;//minutes
...
for(
int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS);
if(
TimeCurrent()>=OrderOpenTime()+20*60)
{
if(
OrderType()==OP_BUYOrderClose(OrderTicket(),OrderLots(),Bid,slippage,Yellow); 
if(
OrderType()==OP_SELLOrderClose(OrderTicket(),OrderLots(),Ask,slippage,Yellow);
}

Вот я ее родимую (технологию) и подразумевал...
Спасибо большое eevviill! Сейчас попробую.
Кто не помнит прошлого - у того нет будущего...
06.01.2014, 09:57
Аватар для Kvant
Kvant Kvant на форуме Элитный участник
Регистрация: 18.01.2010 / Адрес: ХМАО / Сообщений: 1,213
Поблагодарили 1,526 раз(а) / Репутация: 1527
Могу технологию расказать.
PHP код:
extern int order_close_min 20;//minutes
...
for(
int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS);
if(
TimeCurrent()>=OrderOpenTime()+20*60)
{
if(
OrderType()==OP_BUYOrderClose(OrderTicket(),OrderLots(),Bid,slippage,Yellow); 
if(
OrderType()==OP_SELLOrderClose(OrderTicket(),OrderLots(),Ask,slippage,Yellow);
}

А где сравнение с order_close_min в функции закрытия?
if(TimeCurrent()>=OrderOpenTime()+order_close_min* 60)
Может так надо?
Кто не помнит прошлого - у того нет будущего...
06.01.2014, 10:50
Аватар для Kvant
Kvant Kvant на форуме Элитный участник
Регистрация: 18.01.2010 / Адрес: ХМАО / Сообщений: 1,213
Поблагодарили 1,526 раз(а) / Репутация: 1527
А где сравнение с order_close_min в функции закрытия?
if(TimeCurrent()>=OrderOpenTime()+order_close_min* 60)
Может так надо?

Заработало! В MACD Sample удалось встроить.
Кто не помнит прошлого - у того нет будущего...
06.01.2014, 12:00
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Заработало! В MACD Sample удалось встроить.
Ну да, вмсето 20 переменная.
Kvant 
Закрытая тема

Метки
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


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


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