Jump to content
Tom Next - Daytrading Community

Recommended Posts

Posted

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);
}
//+------------------------------------------------------------------+

Posted
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).
Posted
  On 2/22/2011 at 4:56 PM, RAiNWORM said:

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

Posted
  On 2/22/2011 at 5:10 PM, AlexK. said:

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
Posted
  On 2/22/2011 at 6:00 PM, RAiNWORM said:

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...