Звук в индикаторах

Сможете мне помочь с алертом,друзья?


  • Всего проголосовало
    67

PAV1

Интересующийся
То, что, "сигналит теперь вообще не останавливаясь..." - тут Вы не правы. Перед установкой измененного файла, старый, в ех4 удалили?

Поставил на минутный график. Единственный косяк, так это порой при сигнале Sell происходил "дребезг", и выражалось это в сигналах Sell->Buy->Sell в течение 1 сек. Это, скорее всего было из-за самого кода индюка, он то, рисует. По алерту, данный глюк исправил, пользуйтесь:
Доброе время суток! Уважаемый mobidik может глянете ешё раз этого индюка. При установке на ренкобары сигналит всё равно на каждом кирпиче. Хотя теперь при выставленных фалсе в обеих строчках просто тишина - ни звука ни аллерта. ПРи установке гдет то труе начинает петь каждый кирпич,что при скальперских размерах не совсем скажем комфортно. Спасибо.:)
 

kalasch

Новичок форума
привет!сделайте пожалуста алерт при появлении стрелки!вот код.

#property copyright "FILTER-EXTRA"


#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_width1 2
#property indicator_width2 2

extern int timeFrame = 0;
extern int Length = 1;
extern int barsback = 500;
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern string soundfile = "alert2.wav";
extern bool arrowsVisible = true;
extern string arrowsIdentifier = "filterArrows";
extern double arrowsDisplacement = 0.5;
extern color arrowsUpColor = DeepSkyBlue;
extern color arrowsDnColor = Red;
extern int arrowsUpCode = 233;
extern int arrowsDnCode = 234;
extern int arrowsUpSize = 1;
extern int arrowsDnSize = 1;

double buffer1[];
double buffer2[];
bool cer;
bool cer2;
bool cer3 = TRUE;
string fileName;

int init() {
cer3 = TRUE;
SetIndexStyle(0, DRAW_HISTOGRAM);
SetIndexBuffer(0, buffer1);
SetIndexStyle(1, DRAW_HISTOGRAM);
SetIndexBuffer(1, buffer2);
fileName=WindowExpertName();
timeFrame = MathMax(timeFrame,Period());
return (0);
}

int deinit() {
string lookFor = arrowsIdentifier+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
return (0);
}

int start() {

if (timeFrame!=Period())
{
int limit = MathMin(Bars-1,barsback*timeFrame/Period());
for (int i = limit; i >= 0; i--)
{
int y = iBarShift(NULL,timeFrame,Time);
buffer1 = iCustom(NULL,timeFrame,fileName,0,Length,barsback,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundfile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,0,y);
buffer2 = iCustom(NULL,timeFrame,fileName,0,Length,barsback,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundfile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,1,y);
}
return(0);
}


double low1;
double high1;
double cero[10000][3];
if (!cer3) return (0);


int pep = 0;
int bep = 0;
int tep = 0;

double high60 = High[barsback];
double low68 = Low[barsback];

int li3 = barsback;
int li6 = barsback;
for (int li2 = barsback; li2 >= 0; li2--) {
low1 = 10000000;
high1 = -100000000;
for (int li8 = li2 + Length; li8 >= li2 + 1; li8--) {
if (Low[li8] < low1) low1 = Low[li8];
if (High[li8] > high1) high1 = High[li8];
}
if (Low[li2] < low1 && High[li2] > high1) {
bep = 2;
if (pep == 1) li3 = li2 + 1;
if (pep == -1) li6 = li2 + 1;
} else {
if (Low[li2] < low1) bep = -1;
if (High[li2] > high1)bep = 1;
}
if (bep != pep && pep != 0) {
if (bep == 2) {
bep = -pep;
high60 = High[li2];
low68 = Low[li2];
cer = FALSE;
cer2 = FALSE;
}
tep++;
if (bep == 1) {
cero[tep][1] = li6;
cero[tep][2] = low68;
cer = FALSE;
cer2 = TRUE;
}
if (bep == -1) {
cero[tep][1] = li3;
cero[tep][2] = high60;
cer = TRUE;
cer2 = FALSE;
}
high60 = High[li2];
low68 = Low[li2];
}
if (bep == 1) {
if (High[li2] >= high60) {
high60 = High[li2];
li3 = li2;
}
}
if (bep == -1) {
if (Low[li2] <= low68) {
low68 = Low[li2];
li6 = li2;
}
}
pep = bep;
if (cer2 == TRUE) {
buffer2[li2] = 1;
buffer1[li2] = 0;
}
if (cer == TRUE) {
buffer2[li2] = 0;
buffer1[li2] = 1;
}
manageArrow(li2);
}
manageAlerts();
return (0);
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//

void manageArrow(int i)
{
if (arrowsVisible)
{
ObjectDelete(arrowsIdentifier+":"+Time);

if (buffer2 == 1 && buffer2[i+1] == 0) drawArrow(i,arrowsUpColor,arrowsUpCode,arrowsUpSize,false);
if (buffer1 == 1 && buffer1[i+1] == 0) drawArrow(i,arrowsDnColor,arrowsDnCode,arrowsDnSize,true);
}
}

//
//
//
//
//

void drawArrow(int i,color theColor,int theCode,int theSize, bool up)
{
string name = arrowsIdentifier+":"+Time;
double gap = iATR(NULL,0,20,i);

//
//
//
//
//

ObjectCreate(name,OBJ_ARROW,0,Time,0);
ObjectSet(name,OBJPROP_ARROWCODE,theCode);
ObjectSet(name,OBJPROP_COLOR, theColor);
ObjectSet(name,OBJPROP_WIDTH, theSize);

if (up)
ObjectSet(name,OBJPROP_PRICE1,High + arrowsDisplacement * gap);
else ObjectSet(name,OBJPROP_PRICE1, Low - arrowsDisplacement * gap);
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//

void manageAlerts()
{
if (alertsOn)
{
if (alertsOnCurrent)
int whichBar = 0;
else whichBar = 1;

if (buffer2[whichBar] == 1 && buffer2[whichBar+1] == 0) doAlert(whichBar,"up");
if (buffer1[whichBar] == 1 && buffer1[whichBar+1] == 0) doAlert(whichBar,"down");
}
}

//
//
//
//
//

void doAlert(int forBar, string doWhat)
{
static string previousAlert="nothing";
static datetime previousTime;
string message;

if (previousAlert != doWhat || previousTime != Time[forBar]) {
previousAlert = doWhat;
previousTime = Time[forBar];

//
//
//
//
//

message = StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," FILTER-EXTRA ",doWhat);
if (alertsMessage) Alert(message);
if (alertsNotify) SendNotification(message);
if (alertsEmail) SendMail(StringConcatenate(Symbol()," FILTER-EXTRA "),message);
if (alertsSound) PlaySound("alert2.wav");
}
}
 
Последнее редактирование модератором:

olegkrg

Местный знаток
Поправьте алерты с выбором свечи..а на втором ещё чтобы не трезвонил постоянно.
 

Вложения

  • AltrTrend_Signal_v2_2.mq4
    2,8 КБ · Просмотры: 90
  • ADX Crossing w_Alerts.mq4
    2,5 КБ · Просмотры: 68

IYG

Местный знаток
Уважаемые гуру! Просьба поправить аллерт, чтоб сигналил как на картинке.

Спасибо.
 

Вложения

  • GBPUSDM5.png
    GBPUSDM5.png
    39,9 КБ · Просмотры: 626
  • SDA v 3.2.mq4
    7,4 КБ · Просмотры: 185

antkedr

Прохожий
Дорогие мастера! Помогите пожалуйста добавить звуковое оповещение при возникновении стрелки в этот индикатор.
 

Вложения

  • T3MA-ALARM.mq4
    3,4 КБ · Просмотры: 57

kalasch

Новичок форума
можно ли сделать этот индикатор на смс телефона
#property copyright "FILTER-EXTRA"


#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_width1 2
#property indicator_width2 2

extern int timeFrame = 0;
extern int Length = 1;
extern int barsback = 500;
bool alertsOn = true;
bool alertsOnCurrent = false;
bool alertsMessage = true;
bool alertsSound = false;
bool alertsNotify = false;
bool alertsEmail = false;
string soundfile = "alert2.wav";
extern bool arrowsVisible = true;
extern string arrowsIdentifier = "filterArrows";
extern double arrowsDisplacement = 0.5;
extern color arrowsUpColor = DeepSkyBlue;
extern color arrowsDnColor = Red;
extern int arrowsUpCode = 233;
extern int arrowsDnCode = 234;
extern int arrowsUpSize = 1;
extern int arrowsDnSize = 1;
extern bool UseSound = true;
extern bool AlertSound = true;
extern string SoundFileBuy = "alert2.wav";
extern string SoundFileSell = "email.wav";
extern bool SendMailPossible = false;
extern int SIGNAL_BAR = 0;
bool SoundBuy = False;
bool SoundSell = False;

double buffer1[];
double buffer2[];
bool cer;
bool cer2;
bool cer3 = TRUE;
string fileName;

int init() {
cer3 = TRUE;
SetIndexStyle(0, DRAW_HISTOGRAM);
SetIndexBuffer(0, buffer1);
SetIndexStyle(1, DRAW_HISTOGRAM);
SetIndexBuffer(1, buffer2);
fileName=WindowExpertName();
timeFrame = MathMax(timeFrame,Period());
return (0);
}

int deinit() {
string lookFor = arrowsIdentifier+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
return (0);
}

int start() {

if (timeFrame!=Period())
{
int limit = MathMin(Bars-1,barsback*timeFrame/Period());
for (int i = limit; i >= 0; i--)
{
int y = iBarShift(NULL,timeFrame,Time);
buffer1 = iCustom(NULL,timeFrame,fileName,0,Length,barsback,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundfile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,0,y);
buffer2 = iCustom(NULL,timeFrame,fileName,0,Length,barsback,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundfile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,1,y);
}
return(0);
}


double low1;
double high1;
double cero[10000][3];
if (!cer3) return (0);


int pep = 0;
int bep = 0;
int tep = 0;

double high60 = High[barsback];
double low68 = Low[barsback];

int li3 = barsback;
int li6 = barsback;
for (int li2 = barsback; li2 >= 0; li2--) {
low1 = 10000000;
high1 = -100000000;
for (int li8 = li2 + Length; li8 >= li2 + 1; li8--) {
if (Low[li8] < low1) low1 = Low[li8];
if (High[li8] > high1) high1 = High[li8];
}
if (Low[li2] < low1 && High[li2] > high1) {
bep = 2;
if (pep == 1) li3 = li2 + 1;
if (pep == -1) li6 = li2 + 1;
} else {
if (Low[li2] < low1) bep = -1;
if (High[li2] > high1)bep = 1;
}
if (bep != pep && pep != 0) {
if (bep == 2) {
bep = -pep;
high60 = High[li2];
low68 = Low[li2];
cer = FALSE;
cer2 = FALSE;
}
tep++;
if (bep == 1) {
cero[tep][1] = li6;
cero[tep][2] = low68;
cer = FALSE;
cer2 = TRUE;
}
if (bep == -1) {
cero[tep][1] = li3;
cero[tep][2] = high60;
cer = TRUE;
cer2 = FALSE;
}
high60 = High[li2];
low68 = Low[li2];
}
if (bep == 1) {
if (High[li2] >= high60) {
high60 = High[li2];
li3 = li2;
}
}
if (bep == -1) {
if (Low[li2] <= low68) {
low68 = Low[li2];
li6 = li2;
}
}
pep = bep;
if (cer2 == TRUE) {
buffer2[li2] = 1;
buffer1[li2] = 0;
}
if (cer == TRUE) {
buffer2[li2] = 0;
buffer1[li2] = 1;
}
manageArrow(li2);
}
string message = StringConcatenate("FILTER-EXTRA(", Symbol(), ", ", Period(), ") - BUY!!!"," Price - ",Ask ," !!! Time - " ,TimeToStr(TimeLocal(),TIME_SECONDS));
string message2 = StringConcatenate("FILTER-EXTRA(", Symbol(), ", ", Period(), ") - SELL!!!"," Price - ",Bid," !!! Time - " ,TimeToStr(TimeLocal(),TIME_SECONDS));

if (buffer2[SIGNAL_BAR] != EMPTY_VALUE && buffer2[SIGNAL_BAR] != 0 && SoundBuy)
{
SoundBuy = False;
if (UseSound) PlaySound (SoundFileBuy);
if(AlertSound){
Alert(message);
if (SendMailPossible) SendMail(Symbol(),message);
}
}
if (!SoundBuy && (buffer2[SIGNAL_BAR] == EMPTY_VALUE || buffer2[SIGNAL_BAR] == 0)) SoundBuy = True;


if (buffer1[SIGNAL_BAR] != EMPTY_VALUE && buffer1[SIGNAL_BAR] != 0 && SoundSell)
{
SoundSell = False;
if (UseSound) PlaySound (SoundFileSell);
if(AlertSound){
Alert(message2);
if (SendMailPossible) SendMail(Symbol(),message2);
}
}
if (!SoundSell && (buffer1[SIGNAL_BAR] == EMPTY_VALUE || buffer1[SIGNAL_BAR] == 0)) SoundSell = True;

//+------------------------------------------------------------------+
return (0);
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//

void manageArrow(int i)
{
if (arrowsVisible)
{
ObjectDelete(arrowsIdentifier+":"+Time);

if (buffer2 == 1 && buffer2[i+1] == 0) drawArrow(i,arrowsUpColor,arrowsUpCode,arrowsUpSize,false);
if (buffer1 == 1 && buffer1[i+1] == 0) drawArrow(i,arrowsDnColor,arrowsDnCode,arrowsDnSize,true);
}
}

//
//
//
//
//

void drawArrow(int i,color theColor,int theCode,int theSize, bool up)
{
string name = arrowsIdentifier+":"+Time;
double gap = iATR(NULL,0,20,i);

//
//
//
//
//

ObjectCreate(name,OBJ_ARROW,0,Time,0);
ObjectSet(name,OBJPROP_ARROWCODE,theCode);
ObjectSet(name,OBJPROP_COLOR, theColor);
ObjectSet(name,OBJPROP_WIDTH, theSize);

if (up)
ObjectSet(name,OBJPROP_PRICE1,High + arrowsDisplacement * gap);
else ObjectSet(name,OBJPROP_PRICE1, Low - arrowsDisplacement * gap);
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//
 
Последнее редактирование модератором:

nicolasmariuta

Заблокирован
Установите пожалуйста алерт к нему, там вроде встроенный есть, но он работает через раз. Сделайте пожалуйста чтобы сигналил при смене цвета или при каждом появлении палочки, красной или синей
 

Вложения

  • ZCC_SW_8_34.mq4
    2,8 КБ · Просмотры: 113
Последнее редактирование:

edlivre

Прохожий
Please alert sound

Hi friends. Do not speak English well, I need help with a indicator.
I need to put an alert sound when a new zig zag appear, and do not stop during the candle.

Thank you so much

//+------------------------------------------------------------------+
//| ZIG ZAG NON REPAINT.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright©2010"
#property link ""

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Yellow
extern int Candle=480;
extern int Length=4;
double ExtMapBuffer1[];

int init()
{
SetIndexEmptyValue(0,0.0);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);

return(0);
}
int deinit()
{
return(0);
}
int start()
{
int cnt,ticket,counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,uzl,i,zu,zd,mv;
double LL,HH,BH,BL,NH,NL;
double Uzel[10000][3];
string text;

if (High[1]> High[0]) {Comment("SELL !!");}

else if (High[1]< High[0]) {Comment("BUY !!");}
Swing_n=0;Swing=0;uzl=0;
BH =High[Candle];BL=Low[Candle];zu=Candle;zd=Candle;

for (shift=Candle;shift>=0;shift--) {
LL=10000000;HH=-100000000;
for (i=shift+Length;i>=shift+1;i--) {
if (Low< LL) {LL=Low;}
if (High>HH) {HH=High;}
}
if (Low[shift]<LL && High[shift]>HH){
Swing=2;
if (Swing_n==1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
} else {
if (Low[shift]<LL) {Swing=-1;}
if (High[shift]>HH) {Swing=1;}
}

if (Swing!=Swing_n && Swing_n!=0) {
if (Swing==2) {
Swing=-Swing_n;BH = High[shift];BL = Low[shift];
}
uzl=uzl+1;
if (Swing==1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
}
if (Swing==-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
}
BH = High[shift];
BL = Low[shift];
}

if (Swing==1) {
if (High[shift]>=BH) {BH=High[shift];zu=shift;}}
if (Swing==-1) {
if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}}
Swing_n=Swing;
}
for (i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[1],0));
ExtMapBuffer1[mv]=Uzel[2];
}

return(0);
}
 
Последнее редактирование модератором:

kaprall

Местный знаток
Здравствуйте!!! Сделайте пожалуйста возможность отключения алерта
 

Вложения

  • Yzyz.mq4
    3,3 КБ · Просмотры: 57

Vyacheslav88

Элитный участник
Установите пожалуйста алерт к нему, там вроде встроенный есть, но он работает через раз. Сделайте пожалуйста чтобы сигналил при смене цвета или при каждом появлении палочки, красной или синей

/
 

Вложения

  • ZCC_SW_8_34_MOD.mq4
    2,9 КБ · Просмотры: 122

ncc_777

Интересующийся
Дорогие мастера! Помогите пожалуйста добавить звуковое оповещение при возникновении стрелки в этот индикатор.
 

Вложения

  • Fractals-3172552-sig www.indikatorforeks.ru.mq4
    5,4 КБ · Просмотры: 113

vaas04

$$$$$$$$$
Всем привет. Прикрутите пожалуйста алерт. Спасибо.
 

Вложения

  • ZigZag_NK1.mq4
    11,3 КБ · Просмотры: 85

EnRon

Почетный гражданин
Нужна помощь.

Здравствуйте уважаемые Умельцы прикрутите если можно стрелки, звук и почту при смене цвета с возможностью выбирать номер бара для сигнала.
 

Вложения

  • ForexOFFTrend.mq4
    3 КБ · Просмотры: 80
  • TriggerLine.mq4
    3,6 КБ · Просмотры: 63

EnRon

Почетный гражданин
TriggerLine отменяется нашел тут есть а ForexOFFTrend нет(
 

slavyanix

Почетный гражданин
Всем Здравствовать и обязательно Профитов.В сети наткнулся на пробойный индик но он без Алерта а пробойники ждать можно перед моником очень долго вот и возникла Просьба озвучить его и окошко что да как .Алерт с открытием новой свечи после пробития уровня на скрине показал.С Уважением.
 

Вложения

  • melkl.mq4
    3,2 КБ · Просмотры: 120
  • EURUSDH1....jpg
    EURUSDH1....jpg
    160,6 КБ · Просмотры: 483

kaprall

Местный знаток
Всем Здравствовать и обязательно Профитов.В сети наткнулся на пробойный индик но он без Алерта а пробойники ждать можно перед моником очень долго вот и возникла Просьба озвучить его и окошко что да как .Алерт с открытием новой свечи после пробития уровня на скрине показал.С Уважением.

оО
 

Вложения

  • Geo_Fractal4_alerts.mq4
    19,1 КБ · Просмотры: 141
Верх