[Архив!] Напишу любого эксперта или индикатор бесплатно. - страница 7

 
День добрый …

Есть такой индюк
//+------------------------------------------------------------------+
//| Tick_on_Chart.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Cornsilk
#property indicator_color2 Red
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int tik,t;
  double buf[],MaxB,MinB=1000;
extern int period=200;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
  SetIndexStyle(0,DRAW_SECTION);
  SetIndexBuffer(0,ExtMapBuffer1);
  SetIndexStyle(1,DRAW_NONE);
  SetIndexBuffer(1,ExtMapBuffer2);
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
  {
  int i,b;
//---- 
t++;
b=period;
ArrayResize(buf,b);

if(tik==0)
  {
  for(i=0;i<b;i++)
  {
  buf[i]=Bid;
  }
  ExtMapBuffer2[0]=Bid+5*Point;  
  ExtMapBuffer2[1]=Bid-5*Point;  
  tik=1;
  }
  MaxB=0;MinB=1000;
  for(i=b-1;i>0;i--)
  {
  buf[i]=buf[i-1];
  if(MaxB<buf[i])MaxB=buf[i];
  if(MinB>buf[i])MinB=buf[i];
  } 
buf[0]=Bid;
for(i=0;i<b;i++)
  {
  ExtMapBuffer1[i]=buf[i];
  }
if(MathCeil(t/10)*10==t)
  {
  for(i=b;i<Bars;i++)
  {
  ExtMapBuffer1[i]=Bid;
  }
  ArrayInitialize(ExtMapBuffer2,Bid); 
  if(MaxB-Bid<5*Point)ExtMapBuffer2[0]=Bid+5*Point;
  if(Bid-MinB<5*Point)ExtMapBuffer2[1]=Bid-5*Point;
  //Print(MaxB,"+",Bid,"+",MinB);
  }  
//----
  return(0);
  }
//+------------------------------------------------------------------+

На его основе делаем CCI… то же тиковый…

Commodity Channel Index
ОРИГТНАЛ
Расчет
1. Найти типичную цену. Для этого необходимо сложить максимум, минимум и цену закрытия каждого бара и разделить сумму на 3.
TP = (HIGH + LOW + CLOSE) / 3 
2. Вычислить n-периодное простое скользящее среднее типичных цен.
SMA (TP, N) = SUM (TP, N) / N 
3. Вычесть полученное SMA(TP, N) из типичных цен TP каждого из предшествующих n периодов.
D = TP - SMA (TP, N) 
4. Вычислить n-периодное простое скользящее среднее абсолютных значений D
SMA (D, N) = SUM (D, N) / N 
5. Умножить полученное SMA (D, N) на 0,015
M = SMA (D, N) * 0,015
6. Разделить M на D
CCI = M / D
где:
HIGH — максимальная цена бара;
LOW — минимальная цена бара;
CLOSE — цена закрытия;
SMA — простое скользящее среднее;
SUM — сумма;
N — количество периодов, используемых для расчета.
А именно… по пунктам… что нужно…соорудить


1) Найти типичную цену. Для этого необходимо сложить максимум, минимум и цену закрытия каждого бара и разделить сумму на 3.
TP = (HIGH + LOW + CLOSE) / 3 
Так как на тиках Нет HIGH и LOW то по просту берем – значение цены на данном тике 

2) Вычисляем n-периодное простое скользящее среднее 
SMA (TP, N) = SUM (TP, N) / N 
Вычисляем n-периодное простое скользящее среднее ЦЕН из №1
3) Вычесть полученное SMA(TP, N) из типичных цен TP каждого из предшествующих n периодов.
D = TP - SMA (TP, N) 
Вычетаем полученное SMA (№2) из (№1) каждого из предшествующих n периодов.

4) Вычислить n-периодное простое скользящее среднее абсолютных значений D
SMA (D, N) = SUM (D, N) / N 

Так и делаем…
5) Умножить полученное SMA (D, N) на 0,015
M = SMA (D, N) * 0,015
Так и делаем…
6) Разделить M на D
CCI = M / D
Так и делаем…
ТЕПЕРЬ ПО ПУНКТАМ …оформление ТЗ (надеюсь выше описал понятно)…
 Нарисовал индюк ВСЕ описанное Выше ….
ДОБАВЛЕНИЯ…
В настройках индюка (ВХОДНЫЕ ПАРАМЕТРЫ)…делаем такие настраиваемые параметры…(буду указывать добавления с пояснениями)
1) Указываем период CCI (здесь все ясно)
В настройках обозначаем «Period CCI»
2) Указываем значение (0,015) с возможностью его изменения…(особо ни на что не влияет - но для удобства …)
В настройках обозначаем «Znach»

3) Делаем «Алерты» … 
ВСЕ «Алерты» с возможностью их включения (True) и отключения(False)
ВСЕ «Алерты» с возможностью подачи звукового сигнала(настраиваемого – то есть можно вкл\выкл)

3.1) Пересечение значений ИНДЮКА = 0 (уровень = НОЛЬ)
В настройках обозначаем «Uroven0»

3.2) Пересечение значений ИНДЮКА = любому ЗАДАННОМУ значению…(уровню)
Например (уровень = 100) или (уровень = -35) с ВОЗМОЖНОСТЬЮ ЕГО(уровня) изменения… для подачи сигнала…
При этом ОТДЕЛЬНО ДЛЯ значений в + и значений в – 
Опять же с возможностью их включения (True) и отключения(False) ОТДЕЛЬНО
В настройках обозначаем «Uroven+»
В настройках обозначаем «Uroven-»
ДАЛЕЕ… В настройках индюка (ЦВЕТА) = делаем возможность изменяя цвета,
любого из соответствующих параметров
ТЕПЕРЬ ЖЕЛАЕМОЕ к УПОДБЛЯЕМОМУ (графическому) ВИДУ ИНДЮКА
ПРИМЕР на рис.(потом пояснения)…
 
1) Разделяем каждую новую минуту вертикальной линией (красной на рис.)
2) Выводим время в час:мин. По открытию текущего БАРА(или текущей СВЕЧИ) 

То есть если была пропущенная минута то вместо 07:06 будет например 07:09
ТЕПЕРЬ желаемые добавления …(если они возможны)

1) (первое и последнее…))))))))возможность настройки МА по уже полученным значениям…(смотреть рис.) все надеюсь понятно…
 
И опять же с возможностью выбора…
1.1) ПЕРИОДА данной МА 
1.2) цвета данной Ма
1.3) и НАСТРОЙКИ «Алертов» по пересечению уже этой МА уровня=0 
1.4) а так же отдельно для МА по пересечению уровней (пример +200 и -50) ОТДЕЛЬНО
 
День добрый …

Есть такой индюк
//+------------------------------------------------------------------+
//| Tick_on_Chart.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Cornsilk
#property indicator_color2 Red
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int tik,t;
  double buf[],MaxB,MinB=1000;
extern int period=200;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
  SetIndexStyle(0,DRAW_SECTION);
  SetIndexBuffer(0,ExtMapBuffer1);
  SetIndexStyle(1,DRAW_NONE);
  SetIndexBuffer(1,ExtMapBuffer2);
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
  {
  int i,b;
//---- 
t++;
b=period;
ArrayResize(buf,b);

if(tik==0)
  {
  for(i=0;i<b;i++)
  {
  buf[i]=Bid;
  }
  ExtMapBuffer2[0]=Bid+5*Point;  
  ExtMapBuffer2[1]=Bid-5*Point;  
  tik=1;
  }
  MaxB=0;MinB=1000;
  for(i=b-1;i>0;i--)
  {
  buf[i]=buf[i-1];
  if(MaxB<buf[i])MaxB=buf[i];
  if(MinB>buf[i])MinB=buf[i];
  } 
buf[0]=Bid;
for(i=0;i<b;i++)
  {
  ExtMapBuffer1[i]=buf[i];
  }
if(MathCeil(t/10)*10==t)
  {
  for(i=b;i<Bars;i++)
  {
  ExtMapBuffer1[i]=Bid;
  }
  ArrayInitialize(ExtMapBuffer2,Bid); 
  if(MaxB-Bid<5*Point)ExtMapBuffer2[0]=Bid+5*Point;
  if(Bid-MinB<5*Point)ExtMapBuffer2[1]=Bid-5*Point;
  //Print(MaxB,"+",Bid,"+",MinB);
  }  
//----
  return(0);
  }
//+------------------------------------------------------------------+

На его основе делаем CCI… то же тиковый…

Commodity Channel Index
ОРИГТНАЛ
Расчет
1. Найти типичную цену. Для этого необходимо сложить максимум, минимум и цену закрытия каждого бара и разделить сумму на 3.
TP = (HIGH + LOW + CLOSE) / 3 
2. Вычислить n-периодное простое скользящее среднее типичных цен.
SMA (TP, N) = SUM (TP, N) / N 
3. Вычесть полученное SMA(TP, N) из типичных цен TP каждого из предшествующих n периодов.
D = TP - SMA (TP, N) 
4. Вычислить n-периодное простое скользящее среднее абсолютных значений D
SMA (D, N) = SUM (D, N) / N 
5. Умножить полученное SMA (D, N) на 0,015
M = SMA (D, N) * 0,015
6. Разделить M на D
CCI = M / D
где:
HIGH — максимальная цена бара;
LOW — минимальная цена бара;
CLOSE — цена закрытия;
SMA — простое скользящее среднее;
SUM — сумма;
N — количество периодов, используемых для расчета.
А именно… по пунктам… что нужно…соорудить


1) Найти типичную цену. Для этого необходимо сложить максимум, минимум и цену закрытия каждого бара и разделить сумму на 3.
TP = (HIGH + LOW + CLOSE) / 3 
Так как на тиках Нет HIGH и LOW то по просту берем – значение цены на данном тике 

2) Вычисляем n-периодное простое скользящее среднее 
SMA (TP, N) = SUM (TP, N) / N 
Вычисляем n-периодное простое скользящее среднее ЦЕН из №1
3) Вычесть полученное SMA(TP, N) из типичных цен TP каждого из предшествующих n периодов.
D = TP - SMA (TP, N) 
Вычетаем полученное SMA (№2) из (№1) каждого из предшествующих n периодов.

4) Вычислить n-периодное простое скользящее среднее абсолютных значений D
SMA (D, N) = SUM (D, N) / N 

Так и делаем…
5) Умножить полученное SMA (D, N) на 0,015
M = SMA (D, N) * 0,015
Так и делаем…
6) Разделить M на D
CCI = M / D
Так и делаем…
ТЕПЕРЬ ПО ПУНКТАМ …оформление ТЗ (надеюсь выше описал понятно)…
 Нарисовал индюк ВСЕ описанное Выше ….
ДОБАВЛЕНИЯ…
В настройках индюка (ВХОДНЫЕ ПАРАМЕТРЫ)…делаем такие настраиваемые параметры…(буду указывать добавления с пояснениями)
1) Указываем период CCI (здесь все ясно)
В настройках обозначаем «Period CCI»
2) Указываем значение (0,015) с возможностью его изменения…(особо ни на что не влияет - но для удобства …)
В настройках обозначаем «Znach»

3) Делаем «Алерты» … 
ВСЕ «Алерты» с возможностью их включения (True) и отключения(False)
ВСЕ «Алерты» с возможностью подачи звукового сигнала(настраиваемого – то есть можно вкл\выкл)

3.1) Пересечение значений ИНДЮКА = 0 (уровень = НОЛЬ)
В настройках обозначаем «Uroven0»

3.2) Пересечение значений ИНДЮКА = любому ЗАДАННОМУ значению…(уровню)
Например (уровень = 100) или (уровень = -35) с ВОЗМОЖНОСТЬЮ ЕГО(уровня) изменения… для подачи сигнала…
При этом ОТДЕЛЬНО ДЛЯ значений в + и значений в – 
Опять же с возможностью их включения (True) и отключения(False) ОТДЕЛЬНО
В настройках обозначаем «Uroven+»
В настройках обозначаем «Uroven-»
ДАЛЕЕ… В настройках индюка (ЦВЕТА) = делаем возможность изменяя цвета,
любого из соответствующих параметров
ТЕПЕРЬ ЖЕЛАЕМОЕ к УПОДБЛЯЕМОМУ (графическому) ВИДУ ИНДЮКА
ПРИМЕР на рис.(потом пояснения)…
 
1) Разделяем каждую новую минуту вертикальной линией (красной на рис.)
2) Выводим время в час:мин. По открытию текущего БАРА(или текущей СВЕЧИ) 

То есть если была пропущенная минута то вместо 07:06 будет например 07:09
ТЕПЕРЬ желаемые добавления …(если они возможны)

1) (первое и последнее…))))))))возможность настройки МА по уже полученным значениям…(смотреть рис.) все надеюсь понятно…
 
И опять же с возможностью выбора…
1.1) ПЕРИОДА данной МА 
1.2) цвета данной Ма
1.3) и НАСТРОЙКИ «Алертов» по пересечению уже этой МА уровня=0 
1.4) а так же отдельно для МА по пересечению уровней (пример +200 и -50) ОТДЕЛЬНО
 
рис
 
рис№2
 
20099 >>:
рис№2

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

 

Уважаемый Kubodel!

возможно ли сделать советника из вот этого индикатора 'T3 TRIX (ROC of T6)'

желтая пересекает синюю вниз - продаем, вверх покупаем
сделка идет по открытию следующей за пересечением свечи
сам программить чуть умею, но на такое ума не хватит (((

как вариант - позиция закрывается при движении синей вниз или вверх, то есть по изменению направления

готов заплатить 10 долл

 
Kubodel >>:

Bigboom, кидайте постановку на мыло integrum-perm@mail.ru. Пока не увижу постановку ниычего канкретного сказать не могу.

Эгэгей! Браво Kubodel!

Экспертра я своего получил :) 

С технической реализацией все супер, в точнсти как мне надо было.

Сейчас на демке его пару недель потестирую, а потом может и отдам управление своим счетом электронному товарищу.

Большое спасибо.

 

Добрый день!!!

Как у вас тут все интересно!!!

А вы в свои ряды берете чайников?! :)

 
Kubodel >>:

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

 

опять не хочет...прикрепляться почему не знаю…???
Возможно мыло в личку…или аську ???


Причина обращения: