Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 3988
Beiträge: 37975
Benutzer: 6.301
Aktive Benutzer: 353
Links: 80
Wir begrüßen unseren neuesten Benutzer: beeo
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 21 Stunden
- beeo
vor 3 Tagen
- mkraibache...
vor 3 Tagen
- fob
vor 4 Tagen
- mapohle
vor 5 Tagen
- prithvisud...

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 54
Gesamt: 55
Team: 0
Team:  
Benutzer:  MA-EA
Freunde anzeigen

Empfehlungen

Like Tree3Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 25.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 12
T.P. befindet sich auf einem aufstrebenden Ast
Standard Hilfe bei einer Schleife

Hallo, zu Vereinfachung ein einfacher MA Cross Code.

Ich möchte gerne eine Schleife im Indikator erstellen die sagt:

Wenn ein Buy Signal vorliegt sende einen Pfeil.
Warte dann bis ein Sell Signal vorliegt.

Wenn ein Sell Signal vorlag dann soll erst wieder ein Buy Signal mit Pfeil auftreten dürfen.

Sozusagen soll der Pfeil nur am Anfang erscheinen und nicht mehrfach.
Das ganze als Schleife.

Mir fehlt irgendwie die Idee der Umsetzung der Schleife...

Für eure Hilfe bin sehr ich dankbar : )
Angehängte Dateien
Dateityp: mq4 MA Cross.mq4 (4,7 KB, 3x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 25.03.18
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 58
AVT befindet sich auf einem aufstrebenden Ast
Standard

Ein CrossOver geht mit dem Vergleich der vorigen Werte und der jetzigen Werte:
War der vorige Ma1 unter dem vorigen Ma2 und ist der jetzige Ma1 über dem jetzigen Ma2, dann hat er gekreuzt.
Hilft das schon? AVT
T.P. likes this.
__________________
heute schon gelacht?
Mit Zitat antworten
  #3 (permalink)  
Alt 25.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 12
T.P. befindet sich auf einem aufstrebenden Ast
Standard

Danke dir.

Der Code war nur so gewählt der einfachheit.

Ich möchte das gerne mit einer Schleife lösen da viele Indikatoren ja nicht dauerhaft ein Signal an der vorherigen Kerze zeigen..

Also fällt die Option leider weg....

Eine 2te andere Möglichkeit war auch...

PHP-Code:
  if (EMA10L EMA20L && wechsel1==0)

         { 
           
wechsel1=1;
           
wechsel2=0;
           
CrossUp[i-1] = Low[i-1] - Range*0.10;  }
      
      
      else if  (
EMA10L EMA20L && wechsel2==0
            
         {
          
wechsel2=1;
          
wechsel1=0;
          
CrossDown[i-1] = High[i-1] + Range*0.10; }  
  } 
Problem ist dann das er es nur im Backtest richtig macht aber auf den Chart gezogen falsch anzeigt in der Vergangenheit..
Im Live modus funktioniert das ganze dann.. Aber zur Nachbetrachtung halt schlecht..

Deswegen dachte ich man kann da irgendwie eine Schleife schreiben..

Geändert von T.P. (25.03.18 um 20:46 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 26.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 12
T.P. befindet sich auf einem aufstrebenden Ast
Standard

Hm.. Niemand der eine Idee hat?
Ich hab es nicht so raus mit den Schleifen Funktionen..
Mit Zitat antworten
  #5 (permalink)  
Alt 26.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von T.P. Beitrag anzeigen
... falsch anzeigt in der Vergangenheit...
Meinst du damit, das er mit deinem Code dann nicht den ersten zeigt, sondern den letzten?

Du willst also einfach immer abwechselnd rot / blau haben, diese dann aber jeweils bei dem ersten mit Pfeil markieren?
Mit Zitat antworten
  #6 (permalink)  
Alt 26.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 12
T.P. befindet sich auf einem aufstrebenden Ast
Standard

Ja genau hier der code mit dem Wechsel.

Ist eben Live und im Backtest ok aber wenn man es auf den Chart zieht ist es in der Vergangenheit falsch angeziegt.

Deswegen hätte ich gerne was wie ne Schleife.

Man hat ja auch manchmal Signale die unregelmäßig auftreten siehe Bild..

Deswegen soll der Code auch nicht einfach nur die letzte Kerze nach einem Pfeil absuchen.
Man hätte ja dann trozdem in einem Aufwärtstrend mehrere Blaue Pfeile wegen der lücken..
Angehängte Grafiken
Dateityp: jpg Beispiel.jpg (63,6 KB, 3x aufgerufen)
Angehängte Dateien
Dateityp: mq4 MA Cross mit wechsel.mq4 (5,0 KB, 0x aufgerufen)
Mit Zitat antworten
  #7 (permalink)  
Alt 26.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 12
T.P. befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht nochmal hier zum besseren Verständnis. In dem Bild sind die Pfeile markiert die ich angezeigt haben möchte.

Dies geht glaube ich nur in einer Schleife..
Indem man sagt:

If Buysignal {Pfeil}

warte bis Sell Signal

und erst dann kannste wieder einen Pfeil machen..

So in Worten oder wie mit dem Wechsel halt beschrieben.. Ich weiß eben nicht wie man das als Schleife formuliert..
Angehängte Grafiken
Dateityp: jpg Beispiel.jpg (78,6 KB, 5x aufgerufen)
Mit Zitat antworten
  #8 (permalink)  
Alt 26.03.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.038
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Auch hier mal was Grundsätzliches:

Wat is ne Schleife?

Allgemein ist man vom Ausgangspunkt beginnend, am Ende der Schleife wieder automatisch am Ausgangspunkt - ganz einfach.

Für eine programmtechnsiche Schleife zitiere ich einfach mal Wiki:
"Eine Schleife (auch „Wiederholung“ oder englisch loop) ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den sogenannten Schleifenrumpf oder Schleifenkörper –, solange die Schleifenbedingung als Laufbedingung[Anm 1] gültig bleibt bzw. als Abbruchbedingung nicht eintritt. Schleifen, deren Schleifenbedingung immer zur Fortsetzung führt oder die keine Schleifenbedingung haben, sind Endlosschleifen."

Eine if-Abfrage sieht von der Struktur her mindestens so aus:
Code:
if (x == y) z = a;
aber selbst bei verschachtelten Schleifen wie:
Code:
if (x == y) {                        //Anfangspunkt
   if (a + b < c) {
      Mach_Irgend_Was();
   } else {
      Na_Dann_Eben_Nicht();
   }
} else z = a;                        // Endpunkt
Man wird nie direkt den Anfangspunkt (nach Erreichen des Endpunktes) wieder erreichen. Nicht über eine if-Struktur!

So und nun denk bitte noch mal in Ruhe darüber nach, was genau und wann geschehen soll.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #9 (permalink)  
Alt 26.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Doc,

falls du auf seinen geposteten Code oben bezug nimmst, das meinte er nicht mit einer Schleife. Lediglich eine Ergänzung seines Codes,
welcher in einer Schleife steckt.

=== === === === === === === === === === === ===

T.P.

Für die richtige Anzeige kannst du z.B. die Schleife einfach umdrehen. Habs kurz auf die schnelle gemacht (Fehler vorbehalten... )
Angehängte Dateien
Dateityp: mq4 MA Cross(1).mq4 (6,5 KB, 3x aufgerufen)
T.P. likes this.
Mit Zitat antworten
  #10 (permalink)  
Alt 26.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 12
T.P. befindet sich auf einem aufstrebenden Ast
Standard

Next User Vielen Dank!!!

Jetzt muss ich mir den Code nochmal richtig anschauen. Und meinen Fehler verstehen.

Danke!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, programmierung mql4, schleife, schleife programmieren, schleifen


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 20:35 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2018 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------