AlexK. Posted February 22, 2011 Report Posted February 22, 2011 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. 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); } //+------------------------------------------------------------------+
RAiNWORM Posted February 22, 2011 Report Posted February 22, 2011 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).
AlexK. Posted February 22, 2011 Author Report Posted February 22, 2011 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
RAiNWORM Posted February 22, 2011 Report Posted February 22, 2011 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. 2
AlexK. Posted February 22, 2011 Author Report Posted February 22, 2011 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
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now