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.

WOGO

Developer
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von WOGO

  1. Wenn du nach einer Funktion suchst, die eine Order sauber absetzt, dann solltest du dir mal die Standardlibrary von Mythos anschaun! Ich glaub aber, daß dein Problem (cannot login) eine andere Ursache hat, denn du logs dich bei deinem Broker ja nicht erst ein, wenn du eine Order absetzt.
  2. Kann es sein, dass dein 2. Übergabeparamerter nicht paßt? Es wird ein int erwartet, du übergibst aber einen String ("open")?
  3. Du schreibst doch, beim Demo-Account funktioniert der Download. Ich hab's zwar noch nicht ausprobiert, aber eigentlich sollte es problemlos funktionieren die Kursdaten aus der Demo in den Live-Account-Folder zu kopieren. Dazu einfach im Metatrader-Ordner "history" aus dem Sub-Folder "...Demo" das jeweilige *.hst-file in den "...Real"-Ordner kopieren.
  4. Was ich aber nicht ganz versteh, du schreibst, du hast einen Account bei ActiveTrades. Da kann man doch ganz normal historische Daten runterladen, oder?
  5. Ne, selbes Problem hatte ich auch schon. Siscops Lösung hilft! Gruss, Wogo
  6. WOGO antwortete auf NikkChade's Thema in MQL Einsteiger
    Es war ein bischen anders gemeint. Du frägst ab, ob "long" nicht existiert und wenn nicht, dann erzeugst du die Variable. In der nächsten Anweisung frägst du dann ab, ob sie existiert. An dieser Stelle existiert sie aber auf alle Fälle, da du sie ja eine Zeile darüber erzeugt hast. D.h. diese If-Abfrage liefert immer true zurück, was dann ja reichlich überflüssig ist. Gruss, Wogo
  7. Vielleicht doch . Es stimmt auf alle Fälle was nicht in deinem System. Der von dir genannte Wert ist der EMPTY_VALUE. Jede nichtinitialisierte Buffer-Variable, die du verwendest hat diesen Wert. Folgendes könnte die Ursache sein: a) Der Indikatorwert, den du aus deinem EA ausliest existiert zum Auslesezeitpunkt noch garnicht b) Dein Indikator setzt diese Wert bewußt (oder aufgrund eines Fehlers im Indikator) auf EMPTY_VALUE c) du greifts auf einen falschen Buffer zu d) die Anzahl der Parameter, die du an den Indikator übergibst, sind falsch und vielleicht noch andere, auf die ich grad nicht komme. Wenn es nur sporadisch auftritt, dann tippe ich auf a) oder b). Du kannst mal versuchen, iCustom mit einem Shift aufzurufen, um sicherzugehen, daß der Indikatorwert zum Auslesezeitpunkt auch schon wirklich existiert. Wenn du den EMPTY_VALUE dann immer noch bekommst, müsstest du mit einer Print()-Anweisung genauer debuggen, unter welchen Konstellationen es dazu kommt.
  8. WOGO antwortete auf NikkChade's Thema in MQL Einsteiger
    Servus Nico, funtionieren sollte es schon, aber ... Du solltest vielleicht ein paar kleine Optimierungen einbauen Folgender Code macht das gleiche, wie deiner ... void TermVar_long() { //Bezug Wert double CCI_1 = iCCI(NULL,CCI_TF,CCI_Periode,CCI_Preis,CCI_Shift); double CCI_2 = iCCI(NULL,CCI_TF,CCI_Periode,CCI_Preis,CCI_Shift+1); //---------- //Berechnung if(CCI_2>Schnittpunkt_Long && CCI_1<Schnittpunkt_Long) GlobalVariableSet("long",iLow(NULL,CCI_TF,CCI_Shift)); //---------- //Ausführung return; } ... nur etwas schneller. Zudem wird bei dir der Teil nach der Abfrage if(GlobalVariableCheck("long")==true) immer aufgerufen, da du "long" ja vorher schon setzt. Wenn so, dann mit "else" anstelle mit "if(...)" und wenn du deiner Globalen Variablen einen neuen Wert zuweisen willst, dann mußt du sie nicht vorher löschen. Ach ja, und GlobalVariableSet() funktioniert auch, wenn die Variable vorher noch nicht existiert, du mußt also nicht vorher darauf prüfen.
  9. Ach so, du hast einen EA, wo du das einstellen kannst Damit kannst du dann halt wohl auswählen, ob dein System nur bei jedem neuen Bar einmal berechnet wird, oder ob die Berechnung kontinuierlich läuft. Mit "TradeOnlyNewBar" konfigurierst du also nur eine Berechnung, die ähnlich der abläuft, wie sie in einem der ersten Posts schon gezeigt wurde...
  10. Ein "TradeOnlyNewBar" gibt es so in mql4 nicht. Das muss vorher irgendwie berechnet worden sein. Time[0] gibt dir die Startzeit des aktuellen Bars zurück, also eine Uhrzeit. Wie auch immer das "TradeOnlyNewBar" berechnet wird, es kann nicht das gleiche wie Time[0] sein.
  11. WOGO antwortete auf NikkChade's Thema in MQL Einsteiger
    Nein, da brauchst du keine zusätzliche void Funktion. Kannst innerhalb deiner bool-Funktion globale Variablen verändern wie du willst. Gegenfrage: Hast du da ein so kompliziertes System, daß du globale client terminal Variablen brauchst? Normalerweise brauchst du die nur, wenn du verschiedene EAs synchronisieren willst.
  12. WOGO antwortete auf siscop's Thema in ProRealtime
    Comodo ist 'ne Firewall...
  13. ... oder du läßt immer nur eine aktive Position zu. Sobald dir ein Einstiegssignal generiert wurde setzt du ein Flag (PositionAktiv). Wenn dieses Flag gesetzt ist kontrollierst du einfach die Einstiegsbedingung nichtmehr. Wenn die Position dann wieder geschlossen wurde, dann setzt du das Flag wieder zurück und von daan kannst du auch wieder neue Signale generiert bekommen. Etwa so: start() { ... if(!PositionAktiv) CheckEinstieg() ... void CheckEinstieg() { if(Einstiegskriterium) { ... OpenPosition(); PositionAktiv=true; ... } }
  14. Hallo Tukaram, herzlich Willkommen hier im Forum! Bei welchem Broker bist du denn, in welchen Timeframes handelst du und seit wann bist du mit den 14k unterwegs? Bin mir sicher, du wirst hier im Forum viele nützliche Anregungen und Tips bekommen.
  15. Ja, hab grad gelesen, daß er anderswo noch aktiv ist. Schade eigentlich
  16. Hallo auch von meiner Seite! Rumpel hat recht! Es wäre hilfreich zu wissen: *welche Handelsplatform soll der Broker unterstützen? *welche Beträge möchtest du Handeln? *welche time frames möchtest du Handeln => Handelsfrequenz *welche Underlyings stellst du dir vor? *ist es für dich ein Problem, wenn die Kontowährung nicht in EURO ist? um nur mal einiger der wichtigsten Punkte zu nennen. Dann kann man genauere Tips geben, welche Broker denn gut geeignet sind. Bin mir sicher, du bekommst hier viele nützliche Informationen. Viel Spaß bei uns!
  17. Nein, der EA, vielmehr die Start-Funktion des EAs wird für jeden Tick aufgerufen. Ein Bar besteht aus vielen Ticks, somit gibt es auch viele Aufrufe pro Bar. Bei deinem auf Tick-Basis funktionierenden Indikators gehen dir somit keine Informationen verloren. Das Datenfenster zeigt dir nur die Daten der einzelnen Indikatoren/Kurse im Chart. Mit iCustom hat das erst mal nichts zu tun. Es ist nur eine bequemere Art an die einzelnen Werte zu bestimmten Zeiten zu kommen, als mit der Maus im Chart direkt auf die einzelnen Linien zu fahren. Wüßte nicht wie, aber warum brauchst du das? Vielleicht hast du die Funktionsweise von iCustom() noch nicht ganz verstanden. iCustom macht eigentlich nichts anderes, als dir den Wert einer Indikatorlinie zurückzugeben. Wenn du innerhalb der Start-Funktion deines EAs iCustom() aufrufst, dann wird dir für jeden Bar der aktuelle Indikatorwert so oft ausgegeben, wie es Ticks zu diesem Bar gibt. Du kannst iCustom aber mit einem Shift aufrufen (letzter Parameter). Dann wird dir zwar auch für jeden Tick ein Wert zurück gegeben, dieser ändert sich aber (in der Regel) nicht. Daß dein EA ständig kauft verkauft liegt aber wohl daran, daß du noch ein größeres Problem mit der Logik deiner Einstiegs/Ausstiegskriterien hast...
  18. Hallo, du hast also das Problem, daß du einen Indikator nur 1x pro Bar aufrufen willst, dein EA das aber mehrfach tut. Hab ich das richtig verstanden? Hierzu mußt du wissen, daß der MT4 Strategietester sich selbst Tickdaten generiert und die Start-Funktion deines EAs bei jedem Tick aufgerufen wird. Wenn du also im M5-Chart handeln willst und du jede Sekunde einen Tick kriegst, dann wird dein Code folglich 300x ausgeführt. Willst du das vermeiden, so mußt du den EA so programmieren, dass er Teile nur bei jedem neuen Bar ausführt. Das kannst du beispielsweise so machen. ... datetime CheckNewBarLastbar; ... start() {... if(CheckNewBar()) { //Der Code, der hier steht, wird nur 1x pro Bar ausgeführt } ... } bool CheckNewBar() { datetime curbar = Time[0]; if(CheckNewBarLastbar!=curbar) { CheckNewBarLastbar=curbar; return(true); } else return(false); } Was meinst du damit? Wenn du eine Order aufgeben willst, dann ruftst du die Funktion OrderSend() auf. Diese hat folgende Struktur: int OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment, int magic, datetime expiration, color arrow_color) Als cmd gibst du dann OP_BUY für Kaufen oder OP_SELL für verkaufen, oder was auch immer für eine pending order an.
  19. Von mir auch herzliche Glückwünsche zum abgeschlossenen Studium! Hört sich schon ziemlich anstrengend an, was du da vor hast. Aber du hast dir das bestimmt gut überlegt. Auf alle Fälle viel Spaß und ich bin auch schon auf die Fotos, die du sicher in deine Gallerie stellen wirst, gespannt.
  20. Du merkst dir die Zeit, zu der du die Position öffnest, z.B. mit datetime OrderTime=TimeCurrent(); In OrderTime steht dann die Zeit in Sekunden seit 1970. Jetzt frägst du einfach bei jedem Durchlauf, wenn eine Position offen ist, ab if(TimeCurrent()>=OrderTime+30*60) OrderClose.... That's it.
  21. WOGO antwortete auf Vola's Thema in MT Chat
    Wenn du hierfür den Code hast, dann könnte man mal schaun, wie es da implementiert ist und das beim MACD genau so machen.
  22. WOGO antwortete auf luobr's Thema in Welcome @ tom-next
    Hallo luobr, herzlich willkommen hier im Forum!
  23. WOGO antwortete auf Vola's Thema in MT Chat
    Das Ergebnis ist leider wenig spektakuär. Ich hab mich jetzt 'ne Weile mit dem Indi, den du als erstes geposted hast, rumgespielt und hab dabei das Problem, dass er zwar die historischen Daten berechnet, bei neuen Ticks aber immer nach unten ausbricht. Nun hab ich nochmal den Orginal-Indikator ausprobiert und festgestellt, dass es da auch schon so ist (siehe Bild!). Hast du das Problem nicht? Unabhängig davon hab ich mal einfach anstelle von Close+... den jeweiligen Mittelwert zwischen Minimum- und Maximum-Kurs der Ansicht als Basis für die Signallinie genommen. Das Ergebnis sieht zwar rechts im Chart noch recht gut aus und zeigt keine Divergenzen, entfernt sich aber teilweise recht weit vom Kurs und hat auch manchmal Divergenzen zum eigentlichen MACD, was du ja vermeiden wolltest. Dies lieg daran, dass beim Scrollen halt unterschiedliche Hoch/Tiefkurse zum Tragen kommen. Richtig schön ist das nicht... Ich hab mir nochmal überlegt, wie man das mit einer 2. Skala machen könnte. Das wär grundsätzlich schon möglich über Objekte. Das wär dann aber halt nichts anderes, als ein Verschieben der eigentlichen Signallinie aus dem MACD nach oben. Bin mir nicht ganz klar darüber, was das bringen soll...
  24. Das mit dem TestGenerator error ist recht ärgerlich. Genau heißt das, dass das Tick-Volumen, das der Strategietester aus den Minutendaten generiert nicht mit denen der Minutendaten zusammenpasst (obwohl er diese ja selbst erzeugt). Der Fehler kommt immer wieder mal. Das geht soweit, dass hin und wieder die history für einen Wert teilweise verloren geht. Ich hab noch nicht nachvollziehen können, woran das liegt, tippe aber auf einen MT4 Bug. Lösen kannst du das, wenn du zu dem Wert über das History-Center einfach die history zu diesem Wert nochmal downloadest. Der 4107-Fehler sollte mit Siscops Lösung zu beheben sein. Generell möchte ich aber noch was zu deinen gesetzten SL/TP sagen. Ich persönlich finde es als sympatischer, den SL vom EA zu überwachen lassen und am Server (also per OrderSend) nur einen sog. Katastrophenstop, weit vom Kurs enfernt, zu hinterlegen. Das macht das Programm um einiges flexibler.
  25. WOGO antwortete auf Vola's Thema in MT Chat
    Ob das mit einer 2. Skala möglich ist, weiß ich nicht. Hab ich noch nicht gesehen und glaube eher nicht. Was aber recht einfach gehen sollte ist die 2. Idee. Ich schau's mir heute Abend mal an.

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.