Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

mmsknecht

Addict
  • Benutzer seit

  • Letzter Besuch

  1. Hallo Wolf, ich habe das Script jetzt getestet. Auf dem M1 (EUR/USD) Wegen dem repainting kommt es zum Fehlalarm. Im Moment ist es so, dass der Alarm ausgelöst wird, wenn die aktuelle Kerze den letzten Supertrend berührt. Schließt der ST dann z.B. im shortfall unter dem letzten ST-Signal, kommt es zum repaint. Wenn man sich das im M1 (Balken Chart) anschaut gibt es dafür aber eine Lösung. Es dürfte erst zu einem Alarm kommen, wenn die candel auch über dem letzten ST-Signal schließt. Quasi eine Periode später, wenn die letze Kerze über dem Supertrend geschlossen hat. Dann gibt’s auch kein repaint mehr! Das Signal wäre dann eindeutig. Wie das allerdings in mql aussehen muss?
  2. Habe ihn jetzt 30 Minuten auf M1 und 2 Std. auf M5 getestet. Allerdings passiert nichts - kein Alertsound. Ich weiß noch nicht warum?
  3. Die "alert.wav" ist ein Standartsound im Mt4-Pfad, deswegen sollte es eigentlich gehen? Freue mich auf deinen Test.
  4. Also wenn er z.B. im M5 ein neues Signal produziert, kommt der alert mit jedem Tick und das fünf Minuten lang? Ich weiß nicht, dass hört sich bei mir irgendwie anders an. Teste es mal auf kurz auf dem M1, bei mir brummen da nur die Boxen, aber kein alert.wav? #property indicator_chart_window #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 #property indicator_width2 2 #property indicator_buffers 2 double TrendUp[], TrendDown[]; int changeOfTrend; extern int Nbr_Periods = 10; extern double Multiplier = 3.0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexBuffer(0, TrendUp); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2); SetIndexLabel(0, "Trend Up"); SetIndexBuffer(1, TrendDown); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2); SetIndexLabel(1, "Trend Down"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit, i, flag, flagh, trend[5000]; double up[5000], dn[5000], medianPrice, atr; int counted_bars = IndicatorCounted(); //---- check for possible errors if(counted_bars < 0) return(-1); //---- last counted bar will be recounted if(counted_bars > 0) counted_bars--; limit=Bars-counted_bars; //Print(limit); //---- for (i = Bars; i >= 0; i--) { TrendUp[i] = EMPTY_VALUE; TrendDown[i] = EMPTY_VALUE; atr = iATR(NULL, 0, Nbr_Periods, i); //Print("atr: "+atr[i]); medianPrice = (High[i]+Low[i])/2; //Print("medianPrice: "+medianPrice[i]); up[i]=medianPrice+(Multiplier*atr); //Print("up: "+up[i]); dn[i]=medianPrice-(Multiplier*atr); //Print("dn: "+dn[i]); trend[i]=1; if (Close[i]>up[i+1]) { trend[i]=1; if (trend[i+1] == -1) changeOfTrend = 1; //Print("trend: "+trend[i]); } else if (Close[i]<dn[i+1]) { trend[i]=-1; if (trend[i+1] == 1) changeOfTrend = 1; //Print("trend: "+trend[i]); } else if (trend[i+1]==1) { trend[i]=1; changeOfTrend = 0; } else if (trend[i+1]==-1) { trend[i]=-1; changeOfTrend = 0; } if (trend[i]<0 && trend[i+1]>0) { flag=1; //Print("flag: "+flag); } else { flag=0; //Print("flagh: "+flag); } if (trend[i]>0 && trend[i+1]<0) { flagh=1; //Print("flagh: "+flagh); } else { flagh=0; //Print("flagh: "+flagh); } if (trend[i]>0 && dn[i]<dn[i+1]) dn[i]=dn[i+1]; if (trend[i]<0 && up[i]>up[i+1]) up[i]=up[i+1]; if (flag==1) up[i]=medianPrice+(Multiplier*atr); if (flagh==1) dn[i]=medianPrice-(Multiplier*atr); //-- Draw the indicator if (trend[i]==1) { TrendUp[i]=dn[i]; if (changeOfTrend == 1) { TrendUp[i+1] = TrendDown[i+1]; PlaySound("alert.wav"); changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=up[i]; if (changeOfTrend == 1) { TrendDown[i+1] = TrendUp[i+1]; PlaySound("alert.wav"); changeOfTrend = 0; } } } WindowRedraw(); //---- return(0); } //+------------------------------------------------------------------+
  5. Danke Wolf, wenn ich den alert allerdings an diese Stelle einbau, klingelt er permanent!? //-- Draw the indicator if (trend[i]==1) { TrendUp[i]=dn[i]; if (changeOfTrend == 1) { TrendUp[i+1] = TrendDown[i+1]; PlaySound("alert.wav"); changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=up[i]; if (changeOfTrend == 1) { TrendDown[i+1] = TrendUp[i+1]; PlaySound("alert.wav"); changeOfTrend = 0; } } } WindowRedraw(); //---- return(0); } //+------------------------------------------------------------------+
  6. Hallo Zusammen, ich verwende beim traden auch den „SuperTrend“ Indikator und versuche einen Alarm einzubauen, wenn ein Signal wechselt: z.B. Grüne Linie zu Roter Linie oder Rote Line zu Grüner Linie. Leider bekomme ich es nicht hin dass beim Richtungswechsel einmal die „alert.wav“ ausgelöst wird. Könnt ihr mir weiterhelfen? Danke vorab //SuperTrend Indikator #property indicator_chart_window #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 #property indicator_width2 2 #property indicator_buffers 2 double TrendUp[], TrendDown[]; int changeOfTrend; extern int Nbr_Periods = 10; extern double Multiplier = 3.0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexBuffer(0, TrendUp); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2); SetIndexLabel(0, "Trend Up"); SetIndexBuffer(1, TrendDown); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2); SetIndexLabel(1, "Trend Down"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit, i, flag, flagh, trend[5000]; double up[5000], dn[5000], medianPrice, atr; int counted_bars = IndicatorCounted(); //---- check for possible errors if(counted_bars < 0) return(-1); //---- last counted bar will be recounted if(counted_bars > 0) counted_bars--; limit=Bars-counted_bars; //Print(limit); //---- for (i = Bars; i >= 0; i--) { TrendUp[i] = EMPTY_VALUE; TrendDown[i] = EMPTY_VALUE; atr = iATR(NULL, 0, Nbr_Periods, i); //Print("atr: "+atr[i]); medianPrice = (High[i]+Low[i])/2; //Print("medianPrice: "+medianPrice[i]); up[i]=medianPrice+(Multiplier*atr); //Print("up: "+up[i]); dn[i]=medianPrice-(Multiplier*atr); //Print("dn: "+dn[i]); trend[i]=1; if (Close[i]>up[i+1]) { trend[i]=1; if (trend[i+1] == -1) changeOfTrend = 1; //Print("trend: "+trend[i]); } else if (Close[i]<dn[i+1]) { trend[i]=-1; if (trend[i+1] == 1) changeOfTrend = 1; //Print("trend: "+trend[i]); } else if (trend[i+1]==1) { trend[i]=1; changeOfTrend = 0; } else if (trend[i+1]==-1) { trend[i]=-1; changeOfTrend = 0; } if (trend[i]<0 && trend[i+1]>0) { flag=1; //Print("flag: "+flag); } else { flag=0; //Print("flagh: "+flag); } if (trend[i]>0 && trend[i+1]<0) { flagh=1; //Print("flagh: "+flagh); } else { flagh=0; //Print("flagh: "+flagh); } if (trend[i]>0 && dn[i]<dn[i+1]) dn[i]=dn[i+1]; if (trend[i]<0 && up[i]>up[i+1]) up[i]=up[i+1]; if (flag==1) up[i]=medianPrice+(Multiplier*atr); if (flagh==1) dn[i]=medianPrice-(Multiplier*atr); //-- Draw the indicator if (trend[i]==1) { TrendUp[i]=dn[i]; if (changeOfTrend == 1) { TrendUp[i+1] = TrendDown[i+1]; changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=up[i]; if (changeOfTrend == 1) { TrendDown[i+1] = TrendUp[i+1]; changeOfTrend = 0; } } } WindowRedraw(); //---- return(0); } //+------------------------------------------------------------------+
  7. Ob long oder short wäre nicht relevant. Würde auch mit long gehen.Der Programmierer wollte das so lösen, dass alle Stunde und 5 Minuten die neue Position geöffnet wird, wenn alle Stunde und 55 Minuten die Equity größer als die Balance ist.„CheckedToday“!? Sollte eigentlich durchgehend Handeln von 0-24!Du hast recht: „if TimeHour(TimeCurrent()) >= CloseTimeMin)“ wird nicht erreicht, das ist falsch, es müsste „if TimeMinute(TimeCurrent()) >=CloseTimeMin)“ heißen. Ich hänge den Original Code nochmal dran, da wurde rumgeschraubt, dass hab ich gar nicht gesehen! Die Idee war damals: Jede Stunde einen Trade short einzugehen (Egal wo der Kurs gerade ist) und jede Stunde zu prüfen ob die Equity größer ist als die Balance. Sollte die Equity größer sein als die Balance, alle Trades verkaufen ob im plus oder im Minus egal, da ja in der Summe im Plus. Sollte die Balance größer sein als die Equity wurde nachgekauft und die lots entsprechend der Liste (double Lots[] = {0.1, 0.2, 0.3 usw.}) erhöht. Bei einer Korrektur im Markt laufen die dadurch weit oben eingekauften Trades schneller ins Plus. War allerdings langfristig ein K.O System!!! //+------------------------------------------------------------------+ //| EURUSD-catcher.mq4 | //| Copyright © 2009, mmsknecht - www.metatrader5.de | //| http://www.metatrader5.de | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, mmsknecht - www.metatrader5.de" #property link "http://www.metatrader5.de" #define MAGIC 08042010 extern int OpenTimeMin = 5; extern int CloseTimeMin = 55; bool CheckedToday = FALSE; double Lots[] = { 0.1, 0.2, 0.3, 0.5, 0.8, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 7.0, 10.0 }; int LotsPosition = 0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Schließt zur angegebenen Uhrzeit alle Gewinn-Trades | //+------------------------------------------------------------------+ int close_all_positive() { // Prüfe ob Uhrzeit erreicht ist if (TimeMinute(TimeCurrent()) >= CloseTimeMin) { // Prüfe ob es geöffnete Positionen gibt if (OrdersTotal() > 0) { // Prüfe ob Equity > Balance if (AccountEquity() > AccountBalance()) { // Gehe jede Position durch und schließe sie for (int j=OrdersTotal()-1;j>=0;j--) { // Order auswählen OrderSelect(j, SELECT_BY_POS, MODE_TRADES); // Je nach Order-Art (BUY / SELL) zum aktuellen Bid oder Ask-Preis schließen if (OrderType() == OP_BUY) OrderClose(OrderTicket(),OrderLots(), Bid, 0); else OrderClose(OrderTicket(),OrderLots(), Ask, 0); } LotsPosition = 0; } } } return(0); } //+------------------------------------------------------------------+ //| Prüft Bedingung für das Öffnen neuer Order | //+------------------------------------------------------------------+ int check_for_open() { // Prüfe ob neue Stunde begonnen hat if (TimeMinute(TimeCurrent()) > OpenTimeMin) { CheckedToday = FALSE; } // Prüfe auf Öffnungs-Kondition if (CheckedToday) { return(-1); } else // !CheckedToday { if (TimeMinute(TimeCurrent()) == OpenTimeMin) { if (LotsPosition < ArraySize(Lots)) { OrderSend(Symbol(), OP_SELL, Lots[LotsPosition], Bid, 0, 0.0, 0.0, "", MAGIC); Print("Tick: "+Volume[0]); LotsPosition++; CheckedToday = TRUE; } } } return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { check_for_open(); close_all_positive(); return(0); }
  8. so ich hoffe ihr habt Weihnachten auch gut rumgebracht. Das mit dem Thread werde ich machen, wird allerdings der zweite EA werden. Den ersten EA werde ich hier mal Posten, läuft mit MT4, mit dem konnte ich 2009 beim XTB-Wettbewerb den 6 Platz erzielen und 113,02% Rendite in 4 Wochen schaffen. Beim Wettbewerb standen 10.000€ Startkapital zur Verfügung und es durfte natürlich nicht manuell eingegriffen werden. Es war ein Kamikaze Script und führt langfristig zum Total Verlust!!! Also so nicht im Livetrading verwenden!!! Vielleicht dient er ja für Anregungen, oder jemand hat eine Idee zur Verbesserung! //+------------------------------------------------------------------+ //| EURUSD-catcher.mq4 | //| Copyright © 2009, mmsknecht - www.metatrader5.de | //| http://www.metatrader5.de | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, mmsknecht - www.metatrader5.de" #property link "http://www.metatrader5.de" #define MAGIC 08042010 extern int OpenTimeMin = 5; extern int CloseTimeMin = 55; bool CheckedToday = FALSE; double Lots[] = { 0.1, 0.2, 0.3, 0.5, 0.8, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 7.0, 10.0, }; int LotsPosition = 0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Schließt zur angegebenen Uhrzeit alle Gewinn-Trades | //+------------------------------------------------------------------+ int close_all_positive() { // Prüfe ob Uhrzeit erreicht ist if (TimeHour(TimeCurrent()) >= CloseTimeMin) { // Prüfe ob es geöffnete Positionen gibt if (OrdersTotal() > 0) { // Prüfe ob Equity > Balance if (AccountEquity() > AccountBalance()) { // Gehe jede Position durch und schließe sie for (int j=OrdersTotal()-1;j>=0;j--) { // Order auswählen OrderSelect(j, SELECT_BY_POS, MODE_TRADES); // Je nach Order-Art (BUY / SELL) zum aktuellen Bid oder Ask-Preis schließen if (OrderType() == OP_BUY) OrderClose(OrderTicket(),OrderLots(), Bid, 0); else OrderClose(OrderTicket(),OrderLots(), Ask, 0); } LotsPosition = 0; } } } return(0); } //+------------------------------------------------------------------+ //| Prüft Bedingung für das Öffnen neuer Order | //+------------------------------------------------------------------+ int check_for_open() { // Prüfe ob neue Stunde begonnen hat if (TimeHour(TimeCurrent()) > OpenTimeMin) { CheckedToday = FALSE; } // Prüfe auf Öffnungs-Kondition if (CheckedToday) { return(-1); } else // !CheckedToday { if (TimeHour(TimeCurrent()) == OpenTimeMin) { if (LotsPosition < ArraySize(Lots)) { OrderSend(Symbol(), OP_SELL, Lots[LotsPosition], Bid, 0, 0.0, 0.0, "", MAGIC); Print("Tick: "+Volume[0]); LotsPosition++; CheckedToday = TRUE; } } } return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { check_for_open(); close_all_positive(); return(0); }
  9. ! :-) Also, dann lasst uns doch einen EA programmieren ;-)
  10. hat geklappt Vola, //| Modified to give audible alarm on reversal | //| Modified by Jim Arner, Sr. | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red #property indicator_width1 5 //---- input parameters extern double Step=0.02; extern double Maximum=0.2; //---- buffers double SarBuffer[]; //---- int save_lastreverse; bool save_dirlong, save_dirshort; double save_start; double save_last_high;ich versuche gerade einen Order Befehl zu integrieren, kann allerdings auch kein mql! Wenn er von shot auf long wechselt oder von long auf short, entsprechend einen trade einzugehen. An welche Stelle muss der Befehl? Er muss ja den vorgänger Trade auch schließen. OrderSend(Symbol(), OP_SELL, Lots[LotsPosition], Bid, 0, 0.0, 0.0, "", MAGIC);
  11. also hast du die Einstellungen nicht vorgenommen? farbe kann ich bei "#property indicator_color1" einstellen, aber wo finde ich die größe mit der das Signal im Chart abgebildet wird? #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Lime //---- input parameters extern double Step=0.02; extern double Maximum=0.2; //---- buffers double SarBuffer[]; //---- int save_lastreverse; bool save_dirlong; double save_start; double save_last_high; double save_last_low; double save_ep; double save_sar; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,159); SetIndexBuffer(0,SarBuffer); //---- return(0);danke dir
  12. sieht gut aus WOGO danke dafür, bei den extern double Step ist der Wert auf "Step=0.05;" und der extern double Maximum auf "Maximum=0.3;" den Parabolic den MT mitliefert, gibt er "Step=0.02;" und "Maximum=0.2;" vor. Hat das einen Grund? Kann man das optische Signal auf dem Chart größer darstellen, so wie im Original MT Parabolic?
  13. Danke erstmal für die Hilfe, damit man den Kurs nicht die ganze Zeit beobachten muss, soll es ein Alert geben wenn der Indikator von short auf long bzw. von long auf short wechselt. Ich dachte da an sowas wie: if (kurswechsel) != true) Alert („Kurse Change“);
  14. Hallo Zusammen, der Indicator "Parabolic" zeigt in jeder Zeiteinheit auf dem Chart über und unter dem Kurs Signale. Ich kann leider kein mql! würde den Indicator allerdings gerne um eine Funktion erweitert haben. Ist es möglich dass wenn der Indicator sein Signal wechselt, also z.B. von long auf short oder von short auf long, das dann ein akustisches Signal kommt z.B. für 1 Minute, egal in welcher Zeiteinheit? //+------------------------------------------------------------------+ //| Parabolic.mq4 | //| Copyright © 2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Lime //---- input parameters extern double Step=0.02; extern double Maximum=0.2; //---- buffers double SarBuffer[]; //---- int save_lastreverse; bool save_dirlong; double save_start; double save_last_high; double save_last_low; double save_ep; double save_sar; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,159); SetIndexBuffer(0,SarBuffer); //---- return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void SaveLastReverse(int last,int dir,double start,double low,double high,double ep,double sar) { save_lastreverse=last; save_dirlong=dir; save_start=start; save_last_low=low; save_last_high=high; save_ep=ep; save_sar=sar; } //+------------------------------------------------------------------+ //| Parabolic Sell And Reverse system | //+------------------------------------------------------------------+ int start() { static bool first=true; bool dirlong; double start,last_high,last_low; double ep,sar,price_low,price_high,price; int i,counted_bars=IndicatorCounted(); //---- if(Bars<3) return(0); //---- initial settings i=Bars-2; if(counted_bars==0 || first) { first=false; dirlong=true; start=Step; last_high=-10000000.0; last_low=10000000.0; while(i>0) { save_lastreverse=i; price_low=Low[i]; if(last_low>price_low) last_low=price_low; price_high=High[i]; if(last_high<price_high) last_high=price_high; if(price_high>High[i+1] && price_low>Low[i+1]) break; if(price_high<High[i+1] && price_low<Low[i+1]) { dirlong=false; break; } i--; } //---- initial zero int k=i; while(k<Bars) { SarBuffer[k]=0.0; k++; } //---- check further if(dirlong) { SarBuffer[i]=Low[i+1]; ep=High[i]; } else { SarBuffer[i]=High[i+1]; ep=Low[i]; } i--; } else { i=save_lastreverse; start=save_start; dirlong=save_dirlong; last_high=save_last_high; last_low=save_last_low; ep=save_ep; sar=save_sar; } //---- while(i>=0) { price_low=Low[i]; price_high=High[i]; //--- check for reverse if(dirlong && price_low<SarBuffer[i+1]) { SaveLastReverse(i,true,start,price_low,last_high,ep,sar); start=Step; dirlong=false; ep=price_low; last_low=price_low; SarBuffer[i]=last_high; i--; continue; } if(!dirlong && price_high>SarBuffer[i+1]) { SaveLastReverse(i,false,start,last_low,price_high,ep,sar); start=Step; dirlong=true; ep=price_high; last_high=price_high; SarBuffer[i]=last_low; i--; continue; } //--- price=SarBuffer[i+1]; sar=price+start*(ep-price); if(dirlong) { if(ep<price_high && (start+Step)<=Maximum) start+=Step; if(price_high<High[i+1] && i==Bars-2) sar=SarBuffer[i+1]; price=Low[i+1]; if(sar>price) sar=price; price=Low[i+2]; if(sar>price) sar=price; if(sar>price_low) { SaveLastReverse(i,true,start,price_low,last_high,ep,sar); start=Step; dirlong=false; ep=price_low; last_low=price_low; SarBuffer[i]=last_high; i--; continue; } if(ep<price_high) { last_high=price_high; ep=price_high; } } else { if(ep>price_low && (start+Step)<=Maximum) start+=Step; if(price_low<Low[i+1] && i==Bars-2) sar=SarBuffer[i+1]; price=High[i+1]; if(sar<price) sar=price; price=High[i+2]; if(sar<price) sar=price; if(sar<price_high) { SaveLastReverse(i,false,start,last_low,price_high,ep,sar); start=Step; dirlong=true; ep=price_high; last_high=price_high; SarBuffer[i]=last_low; i--; continue; } if(ep>price_low) { last_low=price_low; ep=price_low; } } SarBuffer[i]=sar; i--; } // sar=SarBuffer[0]; // price=iSAR(NULL,0,Step,Maximum,0); // if(sar!=price) Print("custom=",sar," SAR=",price," counted=",counted_bars); // if(sar==price) Print("custom=",sar," SAR=",price," counted=",counted_bars); //---- return(0); } //+------------------------------------------------------------------+ Vielen Dank vorab für die Hilfe

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.