Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть такой индюк
//+------------------------------------------------------------------+
//| 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
Мне почему-то кажется, что вы забыли прикрепить картинку.
Уважаемый Kubodel!
возможно ли сделать советника из вот этого индикатора 'T3 TRIX (ROC of T6)'
желтая пересекает синюю вниз - продаем, вверх покупаем
сделка идет по открытию следующей за пересечением свечи
сам программить чуть умею, но на такое ума не хватит (((
как вариант - позиция закрывается при движении синей вниз или вверх, то есть по изменению направления
готов заплатить 10 долл
Bigboom, кидайте постановку на мыло integrum-perm@mail.ru. Пока не увижу постановку ниычего канкретного сказать не могу.
Эгэгей! Браво Kubodel!
Экспертра я своего получил :)
С технической реализацией все супер, в точнсти как мне надо было.
Сейчас на демке его пару недель потестирую, а потом может и отдам управление своим счетом электронному товарищу.
Большое спасибо.
Добрый день!!!
Как у вас тут все интересно!!!
А вы в свои ряды берете чайников?! :)
Мне почему-то кажется, что вы забыли прикрепить картинку.
опять не хочет...прикрепляться почему не знаю…???
Возможно мыло в личку…или аську ???