AlexK. Posted February 22, 2011 Report Share 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); } //+------------------------------------------------------------------+ Quote Link to comment Share on other sites More sharing options...
RAiNWORM Posted February 22, 2011 Report Share 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). Quote Link to comment Share on other sites More sharing options...
AlexK. Posted February 22, 2011 Author Report Share 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). 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 Quote Link to comment Share on other sites More sharing options...
RAiNWORM Posted February 22, 2011 Report Share Posted February 22, 2011 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 Quote Link to comment Share on other sites More sharing options...
AlexK. Posted February 22, 2011 Author Report Share Posted February 22, 2011 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.