Jump to content
Tom Next - Daytrading Community

Sound Alert in Indikator integrieren


AlexK.

Recommended Posts

Hallo, wäre jemand so nett in den nachfolgenden Indikator einen Sound Alert einzubauen? Ich weiß leider nicht wie genau ich das machen soll, und finde im Netz leider keine Version mit Alarm.

würde mich sehr freuen wenn mir jemand helfen könnte. :correct:

 

hier der code:

 

//+------------------------------------------------------------------+
//| 3LineBreak.mq4 |
//| Copyright © 2004, Poul_Trade_Forum |
//| Aborigen |
//| http://forex.kbpauk.ru/ |
//+------------------------------------------------------------------+
#property copyright "Poul Trade Forum"
#property link "http://forex.kbpauk.ru/"
#property indicator_chart_window
#property indicator_buffers 2

//---- input parameters
extern int Lines_Break=3;
//---- buffers
double HighBuffer[];
double LowBuffer[];
double VALUE1,VALUE2,Swing=1,OLDSwing;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,2,Blue);
SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,2,Red);

SetIndexBuffer(0,HighBuffer);
SetIndexBuffer(1,LowBuffer);

SetIndexEmptyValue(0,0);
SetIndexEmptyValue(1,0);

//---- name for DataWindow and indicator subwindow label
short_name="3LineBreak";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);

//----
SetIndexDrawBegin(0,10);
SetIndexDrawBegin(1,10);
//----

return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted(),i,shift;


//---- TODO: add your code here
if (counted_bars==0) counted_bars=Lines_Break+1;
i=(Bars-counted_bars);

for (shift=i; shift>=0;shift--)
{

OLDSwing=Swing;

VALUE1=High[Highest(NULL,0,MODE_HIGH,Lines_Break,shift+1)];
VALUE2= Low[Lowest(NULL,0,MODE_LOW,Lines_Break,shift+1)];
if (OLDSwing==1 && Low[shift]<VALUE2) Swing=-1;
if (OLDSwing==-1 && High[shift]>VALUE1 ) Swing=1;

if (Swing==1)
{ HighBuffer[shift]=High[shift]; LowBuffer[shift]=Low[shift]; }

if (Swing==-1)
{ LowBuffer[shift]=High[shift]; HighBuffer[shift]=Low[shift]; }


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

Link to comment
Share on other sites

Da es sich um einen Indikator handelt, gehört ein Soundalert hier nicht hinein. Was ist denn das Auslöskriterium? Stattdessen müsstest du dir sinnvoller Weise den Indikator einbinden und über einen EA darauf zugreifen und prüfen, ob deine Bedingung erfüllt ist. Wenn die Bedingung greift, dann hilft ein void PlaySound( string filename).
Link to comment
Share on other sites

Da es sich um einen Indikator handelt, gehört ein Soundalert hier nicht hinein. Was ist denn das Auslöskriterium? Stattdessen müsstest du dir sinnvoller Weise den Indikator einbinden und über einen EA darauf zugreifen und prüfen, ob deine Bedingung erfüllt ist. Wenn die Bedingung greift, dann hilft ein void PlaySound( string filename).

 

Hallo Rainworm,

der Sound soll aktiv werden, sobald es den "3lineBreak" gibt. Also das Hoch oder Tief der 3. letzten Kerze gebrochen wurde. (zweit, dritt oder zehnt letzte Kerze, je nachdem welchen Parameter man angegeben hat) Dies sollte in den "Input" mit aufgenommen werden. Also Sound Alert true or false. Da ich manuell handel, will ich dies nicht in einem EA haben, sondern direkt im Indikator.

Welches Soundfile verwendet wird, ist mir nicht so wichtig, eines der Standardsounds des MT4 wäre mir recht.

Kannst du mir dabei helfen?

Gruß

Alex

Link to comment
Share on other sites

Kannst du mir dabei helfen?

 

Ersetze die letzten beiden if mit:

if (Swing==1)
{ 
 HighBuffer[shift]=High[shift];
 LowBuffer[shift]=Low[shift];
 if ((shift==0) && (OLDSwing != Swing)) Alert("up @ "+VALUE1); 
}

if (Swing==-1)
{
 LowBuffer[shift] = High[shift];
 HighBuffer[shift]= Low[shift];
 if ((shift==0) && (OLDSwing != Swing)) Alert("down @ "+VALUE2); 
}

 

Damit kommt ein Alert, immer wenn die Farbe wechselt.

  • Upvote 2
Link to comment
Share on other sites

Ersetze die letzten beiden if mit:

if (Swing==1)
{ 
 HighBuffer[shift]=High[shift];
 LowBuffer[shift]=Low[shift];
 if ((shift==0) && (OLDSwing != Swing)) Alert("up @ "+VALUE1); 
}

if (Swing==-1)
{
 LowBuffer[shift] = High[shift];
 HighBuffer[shift]= Low[shift];
 if ((shift==0) && (OLDSwing != Swing)) Alert("down @ "+VALUE2); 
}

 

Damit kommt ein Alert, immer wenn die Farbe wechselt.

 

 

Super, vielen Dank! Das ist genau das was ich wollte

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...