- Привлечь внимание пользователя миганием окна
- Расчет кучности
- Кто поможет написать советник?
Вопрос еще актуален?
Вопрос еще актуален?
//+------------------------------------------------------------------+ //| Delta.mq4 | //| Copyright © 2008, D500 | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, D500." #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 White #property indicator_width1 2 #property indicator_color2 Red #property indicator_width2 3 /* Applied_Price - используемая ценовая константа при расчете ЕМА PRICE_CLOSE 0 Цена закрытия PRICE_OPEN 1 Цена открытия PRICE_HIGH 2 Максимальная цена PRICE_LOW 3 Минимальная цена PRICE_MEDIAN 4 Средняя цена, (high+low)/2 PRICE_TYPICAL 5 Типичная цена, (high+low+close)/3 PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4 */ extern int PeriodMA=2; extern int Applied_Price=0; double Buffer1[],Buffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexBuffer(0,Buffer1); SetIndexStyle(0,DRAW_LINE); SetIndexLabel(0,"13EMA "); SetIndexBuffer(1,Buffer2); SetIndexStyle(1,DRAW_LINE); SetIndexLabel(1,"UnconstMA "); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit; double t; double v; double ma; double m; //---- if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i=0;i<limit;i++) { v=iMA(NULL,0,13,0,1,0,i); t=(High[i]+Low[i])/2; m=t-v; ma= t-(iMA(NULL,0,PeriodMA,0,1,Applied_Price,i)); Buffer1[i]=m; Buffer2[i]=ma; } //---- return(0); } //+------------------------------------------------------------------+Вот Ваш индикатор. Что делать с этим кодом, будем надеятся, Вы знаете.
Индикотор в нижнем подокне.
Только скажите, что особенного в этом индикаторе с Вашей формулой?
Индикотор в нижнем подокне.
Только скажите, что особенного в этом индикаторе с Вашей формулой?
Совсем не селен в програмировании, но могли бы Вы пустить в окно индикатора, еще одну линию как на моем рисунке ЕМА с подбираемым периодом?
Я все исправил как Вы просили. Исправленый код можете взять из первого моего поста в этой ветке. Я не стал впихивать новый исправленый код в новое сообщение чтобы не загромождать ветку.
Если бы Вы все сразу сказали как Вам нужно сделать, я бы сделал это сразу. Советую впредь делать нечто похожее на тех. задание. Съэкономите и свое время и время тех, кто не прочь Вам помочь.
Об изменениях в индикаторе:
1- 13ЕМА теперь неизменна по периоду и считается только по закрытию бара.
2-добавлена вторая линия ЕМА, она считается по той же формуле что и 13ЕМА. Её период можно менять как вам угодно. Также Вы можете изменить используемую ценовую константу (переменная Applied_Price ) по умолчанию стоит значение "по цене закрытия".
На Вашем рисунке видно что 2 значения индикатора отображаются по разному. 13ЕМА в виде линии, а 2ЕМА в виде гистограммы.
Я попытался сделать подобное, но получилась какая то чушь. Зато когда оба значения в виде линии, получилась доволно неплохая и более понятная картинка.
.
Вы уж простите мою вольность.
Cпасибо большое, а я сам вот сижу и пытаюсь пальцем в небо попасть - сам пробовал в Вашем коде дописать, и вот что получилось:
//+------------------------------------------------------------------+
//| 1.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net/"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Aqua
//---- input parameters
extern int PeriodMA=13;
extern int Applied_Price=4;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function Buffer1 |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit;
double t;
double v;
double ma;
double m;
double z;
//----
if(counted_bars>0)
counted_bars--;
limit=Bars-counted_bars;
for(int i=0;i<limit;i++)
{
v=iMA(NULL,0,PeriodMA,0,1,Applied_Price,i);
t=(High[i]+Low[i])/2;
m=t-v;
z=iMA(NULL,0,PeriodMA,0,1,m);
Buffer1[i]=m; variable not defined
Buffer2[i]=z; variable not defined
}
//----
return(0);
}
//+------------------------------------------------------------------+
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования