Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Неважно, теперь я вижу, что мне нужно удалить строку else AlarmTotal = AlarmTotal+1;
Нужна помощь в добавлении текста в мой индикатор
Я написал пользовательский индикатор, который находит максимумы и минимумы колебаний.
В настоящее время он помещает объект-стрелку на ценовой уровень и временной бар. Зеленая для High и красная для Low.
Я хотел бы изменить его на текст, который показывает переменную count.
Вот часть кода, который я создал, но он не показывает текст.
Может ли кто-нибудь показать мне, что не так. Спасибо.
if (Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low)
{
SwingLoBar = 1;
SwingLo = Low;
SwingCount = SwingCount + 1;
ObjectCreate("Text",OBJ_TEXT,0,0,0);
ObjectSet("Text",OBJPROP_TIME,i);
ObjectSet("Text",OBJPROP_PRICE,SwingLo-20*pips);
ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);
ObjectSet("Text",OBJPROP_COLOR,clrRed);Я написал пользовательский индикатор, который находит максимумы и минимумы свинга.
В настоящее время он помещает объект стрелки на уровень цены и временной бар. Зеленый для High и красный для Low.
Я хотел бы изменить его на текст, который показывает переменную count.
Вот часть кода, который я создал, но он не показывает текст.
Может ли кто-нибудь показать мне, что не так. Спасибо.
if (Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low)
{
SwingLoBar = 1;
SwingLo = Low;
SwingCount = SwingCount + 1;
ObjectCreate("Text",OBJ_TEXT,0,0,0);
ObjectSet("Text",OBJPROP_TIME,i);
ObjectSet("Text",OBJPROP_PRICE,SwingLo-20*pips);
ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);
ObjectSet("Text",OBJPROP_COLOR,clrRed);Попробуйте изменить
ObjectSet("Text",OBJPROP_TIME,i);
ObjectSet("Text",OBJPROP_PRICE,SwingLo-20*pips);
на
ObjectSet("Text",OBJPROP_TIME1,Time);
ObjectSet("Text",OBJPROP_PRICE1,SwingLo-20*_пункты);
Спасибо, но не помогло. Текстовых меток нет.
Вот весь код, может это поможет.
//+------------------------------------------------------------------+
//| SwingHighLow.mq4 |
//| Dream Reality Productions, LLC |
//| http://www.dreamrealityproductions.com |
//+------------------------------------------------------------------+
#property copyright "Dream Reality Productions, LLC"
#property link "http://www.dreamrealityproductions.com"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Orange
#property indicator_color2 Aqua
double SwingHiBar[];
double SwingLoBar[];
double SwingHiDraw[];
double SwingLoDraw[];
double SwingHi[];
double SwingLo[];
static int SwingCount=0;
double pips;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);
SetIndexArrow(1,233);
SetIndexArrow(0,234);
SetIndexBuffer(0,SwingHiDraw);
SetIndexBuffer(1,SwingLoDraw);
SetIndexBuffer(2,SwingHiBar);
SetIndexBuffer(3,SwingLoBar);
SetIndexBuffer(4,SwingHi);
SetIndexBuffer(5,SwingLo);
double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if (ticksize == .00001 || ticksize == .001)
pips = ticksize * 10;
else pips = ticksize;
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//+------------------------------------------------------------------+
//| Find Hi and Lo Bars |
//+------------------------------------------------------------------+
int counted_bars = IndicatorCounted();
if (counted_bars<0) return (-1);
if (counted_bars>0) counted_bars--;
int uncountedbars = Bars - counted_bars;
//---
for (int i=4;i<uncountedbars;i++)
{
if (High > High
&& High > High
&& High > High
&& High > High
&& High > High
&& High > High)
{
SwingHiBar = 1;
SwingHi = High;
SwingCount = SwingCount + 1;
ObjectCreate("Text",OBJ_TEXT,0,0,0);
ObjectSet("Text",OBJPROP_TIME1,Time);
ObjectSet("Text",OBJPROP_PRICE1,SwingHi+20*pips);
ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);
ObjectSet("Text",OBJPROP_COLOR,clrGreen);
}
else
{ SwingHiBar=0; SwingHi=0;
SwingHiDraw=0;
if (Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low)
{
SwingLoBar = 1;
SwingLo = Low;
SwingCount = SwingCount + 1;
ObjectCreate("Text",OBJ_TEXT,0,0,0);
ObjectSet("Text",OBJPROP_TIME1,Time);
ObjectSet("Text",OBJPROP_PRICE1,SwingLo-20*_Point);
ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);
ObjectSet("Text",OBJPROP_COLOR,clrRed);
}
else {SwingLoBar = 0; SwingLo=0;
SwingLoDraw=0;}
}
}
return(0);
}
//+------------------------------------------------------------------+
Спасибо, но не помогло. Нет текстовых меток.
Вот весь код, может это поможет.
//+------------------------------------------------------------------+
//| SwingHighLow.mq4 |
//| Dream Reality Productions, LLC |
//| http://www.dreamrealityproductions.com |
//+------------------------------------------------------------------+
#property copyright "Dream Reality Productions, LLC"
#property link "http://www.dreamrealityproductions.com"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Orange
#property indicator_color2 Aqua
double SwingHiBar[];
double SwingLoBar[];
double SwingHiDraw[];
double SwingLoDraw[];
double SwingHi[];
double SwingLo[];
static int SwingCount=0;
double pips;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);
SetIndexArrow(1,233);
SetIndexArrow(0,234);
SetIndexBuffer(0,SwingHiDraw);
SetIndexBuffer(1,SwingLoDraw);
SetIndexBuffer(2,SwingHiBar);
SetIndexBuffer(3,SwingLoBar);
SetIndexBuffer(4,SwingHi);
SetIndexBuffer(5,SwingLo);
double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if (ticksize == .00001 || ticksize == .001)
pips = ticksize * 10;
else pips = ticksize;
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//+------------------------------------------------------------------+
//| Find Hi and Lo Bars |
//+------------------------------------------------------------------+
int counted_bars = IndicatorCounted();
if (counted_bars<0) return (-1);
if (counted_bars>0) counted_bars--;
int uncountedbars = Bars - counted_bars;
//---
for (int i=4;i<uncountedbars;i++)
{
if (High > High
&& High > High
&& High > High
&& High > High
&& High > High
&& High > High)
{
SwingHiBar = 1;
SwingHi = High;
SwingCount = SwingCount + 1;
ObjectCreate("Text",OBJ_TEXT,0,0,0);
ObjectSet("Text",OBJPROP_TIME1,Time);
ObjectSet("Text",OBJPROP_PRICE1,SwingHi+20*pips);
ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);
ObjectSet("Text",OBJPROP_COLOR,clrGreen);
}
else
{ SwingHiBar=0; SwingHi=0;
SwingHiDraw=0;
if (Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low)
{
SwingLoBar = 1;
SwingLo = Low;
SwingCount = SwingCount + 1;
ObjectCreate("Text",OBJ_TEXT,0,0,0);
ObjectSet("Text",OBJPROP_TIME1,Time);
ObjectSet("Text",OBJPROP_PRICE1,SwingLo-20*_Point);
ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);
ObjectSet("Text",OBJPROP_COLOR,clrRed);
}
else {SwingLoBar = 0; SwingLo=0;
SwingLoDraw=0;}
}
}
return(0);
}
//+------------------------------------------------------------------+
Он там был, но только один (в прошлом).
Используйте это :
//| SwingHighLow.mq4 |
//| Dream Reality Productions, LLC |
//| http://www.dreamrealityproductions.com |
//+------------------------------------------------------------------+
#property copyright "Dream Reality Productions, LLC"
#property link "http://www.dreamrealityproductions.com"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Orange
#property indicator_color2 Aqua
double SwingHiBar[];
double SwingLoBar[];
double SwingHiDraw[];
double SwingLoDraw[];
double SwingHi[];
double SwingLo[];
static int SwingCount=0;
double pips;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);
SetIndexArrow(1,233);
SetIndexArrow(0,234);
SetIndexBuffer(0,SwingHiDraw);
SetIndexBuffer(1,SwingLoDraw);
SetIndexBuffer(2,SwingHiBar);
SetIndexBuffer(3,SwingLoBar);
SetIndexBuffer(4,SwingHi);
SetIndexBuffer(5,SwingLo);
double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if (ticksize == .00001 || ticksize == .001)
pips = ticksize * 10;
else pips = ticksize;
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//+------------------------------------------------------------------+
//| Find Hi and Lo Bars |
//+------------------------------------------------------------------+
int counted_bars = IndicatorCounted();
if (counted_bars<0) return (-1);
if (counted_bars>0) counted_bars--;
int uncountedbars = Bars - counted_bars;
//---
for (int i=4;i<uncountedbars;i++)
{
if (High > High
&& High > High
&& High > High
&& High > High
&& High > High
&& High > High)
{
SwingHiBar = 1;
SwingHi = High;
SwingCount = SwingCount + 1;
ObjectCreate("Text"+Time,OBJ_TEXT,0,0,0);
ObjectSet("Text"+Time,OBJPROP_TIME1,Time);
ObjectSet("Text"+Time,OBJPROP_PRICE1,SwingHi+20*_Point);
ObjectSetString(0,"Text"+Time,OBJPROP_TEXT,SwingCount);
ObjectSet("Text"+Time,OBJPROP_COLOR,clrGreen);
}
else
{ SwingHiBar=0; SwingHi=0;
SwingHiDraw=0;
if (Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low
&& Low < Low)
{
SwingLoBar = 1;
SwingLo = Low;
SwingCount = SwingCount + 1;
ObjectCreate("Text"+Time,OBJ_TEXT,0,0,0);
ObjectSet("Text"+Time,OBJPROP_TIME1,Time);
ObjectSet("Text"+Time,OBJPROP_PRICE1,SwingLo-20*_Point);
ObjectSetString(0,"Text"+Time,OBJPROP_TEXT,SwingCount);
ObjectSet("Text"+Time,OBJPROP_COLOR,clrRed);
}
else {SwingLoBar = 0; SwingLo=0;
SwingLoDraw=0;}
}
}
return(0);
}
//+------------------------------------------------------------------+уважаемые mladen, mrtools с нетерпением жду вашего ответа на мои вопросы по поводу изменения настроек индикатора в сообщении выше.
надеюсь, вы дадите ответ, когда у вас будет время.
спасибо.
привет,
могут ли mladen, mrtools помочь мне добавить следующие настройки для индикатора--- Rsi bar chart v2.02 mtf & alerts
---можно ли окрашивать бары в разные цвета, когда они пересекаются выше или ниже средней линии (50 уровень для rsi перспективы); --т.е. выше 50 линии один цвет и ниже 50 уровня другой цвет.
---можно ли добавить скользящую среднюю на индикатор в отдельном окне, как мы можем добавить скользящую среднюю на основной график (как показано на рисунке ниже).
Прикрепляю индикатор и изображение.
rsi_bar_chart_v2.02_mtf_amp_alerts.mq4
заранее спасибо, ваша помощь будет очень признательна.Этот индикатор имеет 4 значения (он скомбинирован из 4 разных значений rsi). Это исключает пересечение - поскольку нет ни одного значения, которое можно было бы использовать в качестве критерия пересечения какого-либо значения.
Что касается среднего - то же самое, что и с пересечениями: так как есть 4 значения rsi, среднее не имеет уникального значения, к которому можно было бы его применить.
спасибо младен за ответ и за то, что нашли время для меня. я благодарен вам за вашу помощь.
здравствуйте,
mladen, mr tools не могли бы вы помочь изменить следующие настройки в индикаторе FXUltraTrend, размещенные ниже на
--- показывать в отдельном окне в виде линии, (или гистограммы) со стрелками, чтобы показать изменение цвета, если это возможно (по умолчанию в текущей настройке он рисует бары на основном графике)
---- и, если возможно, добавить колонку для различных настроек, чтобы их можно было менять по нашему желанию. (в текущем режиме по умолчанию у него нет колонки для добавления настроек).
Прикрепляю ниже индикатор и его изображение для вас
fxultratrend.mq4
Надеюсь, вы не обидитесь, что я отнял у вас немного времени, но вы, ребята, делаете отличную работу для таких, как мы, новичков на этой платформе и не знающих программирования.
Вы действительно заслуживаете благодарности от меня и от всех членов этого форума за ваши ценные усилия.
спасибо за быстрый ответ на предыдущее сообщение.
Реализация; Индикатор NonLag_Schaff_TrendCycle:
Привет ПроКодеры,
Я хотел бы, чтобы кто-нибудь мог помочь мне в реализации индикатора NonLag_Schaff_TrendCycle.
Экстерны индикатора:
extern int FastLength = 23;
extern int SlowLength = 50;
extern int StcPeriod = 10;
extern int MacdPrice = PRICE_CLOSE;
extern bool Interpolate = true;
extern bool MultiColor = true;
Буферы индикаторов:
IndicatorBuffers(8);
SetIndexBuffer(0,stcBuffer);
SetIndexBuffer(1,stcBufferUA);
SetIndexBuffer(2,stcBufferUB);
SetIndexBuffer(3,macdBuffer);
SetIndexBuffer(4,fastKBuffer);
SetIndexBuffer(5,fastDBuffer);
SetIndexBuffer(6,fastKKBuffer);
SetIndexBuffer(7,trend);
Я пытаюсь сделать что-то вроде:
double STC1_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);
double STC2_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar+1);
if((STC1_c>15 && STC2_c85 && STC2_c BUY
if((STC1_c15)||(STC1_c85) -> SELL
Но я получаю сообщение об ошибке:
Ошибка: NonLag_Schaff_TrendCycle был удален.
Я предполагаю, что, возможно, я неправильно прочитал буферы. Есть ли у кого-нибудь предположение?
Заранее спасибо!