Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43261
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 9 Stunden
- Sundaytrad...
vor 15 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 353
Gesamt: 353
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree6Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 05.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja, meistens sind es immer nur "Kleinigkeiten", die einen verzweifeln lassen.
Deshalb empfehle ich jeden, an bestimmten Stellen des Codes Alert()-Funktionen einzubauen, mit einem spezifischen Text. Dann erkennt man relativ leicht, wo das Programm hinläuft oder eben nicht. Dann kann man die möglichen Fehlerquellen einengen, bis man halt genau die Stelle hat, wo die Säge klemmt.

Viel Erfolg!

traderdoc
Nordlicht likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #12 (permalink)  
Alt 18.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard Bedingungen

Hallo zusammen!

Möchte den Code erweitern.

Wenn der Stoch z.B. unten war, also z.B. unter 20, soll er nichts machen, sondern erst wenn er dreht und rauskommt, z.B. 21 einen Long eingehen.

Ich habe zwei "If" Bedingungen hintereinander gestellt. Das funktioniert aber nicht, weil er nun wohl auf die Erfüllung beider Bedingungen wartet.

Es soll aber erst die eine erfüllt werden, um dann die zweite zu nehmen.

Also irgendwas zwischen den beiden "If" Anweisungen fehlt. Bloß was?

PHP-Code:
      if(NeuePeriodeBegonnen == true)
         {
            
//Buy Signal Stoch 
            
if((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) > 80) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) > 80)))
                  {
                   if((((
iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) < 79) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) < 79)))
               {
                  
LongSignal true;
               }
               }
            else 
LongSignal =false
Vielen Dank für Eure Antworten
  #13 (permalink)  
Alt 18.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Habe es mit Datetime versucht. Funktioniert aber nicht und spielt Irre.

PHP-Code:
         {
            
//Buy Signal Stoch 
            
if((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) > 80) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) > 80)))
                  {
                     
datetime SignalZeit=TimeCurrent();
                  }
                  if(
SignalZeit!=EMPTY_VALUE)
                  {
                   if((((
iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) < 79) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) < 79)))
               
SignalZeit=EMPTY_VALUE;
               {
               
                  
LongSignal true;
               }
               } 
  #14 (permalink)  
Alt 19.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Nach gefühlten 100.000 Versuchen!

So geht es dann auch, wenn es dann passt.

PHP-Code:
         
            
//Sell Signal Stoch  
            
if(((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) < 79) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) < 79)) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN2) > 80)) 
                 
// { 
                   //  datetime SignalZeit=TimeCurrent(); 
  //                } 
    //              if(SignalZeit!=EMPTY_VALUE) 
      //            { 
        //           if((((iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 0) > 79) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_SIGNAL, 0) > 79))) 
          //     SignalZeit=EMPTY_VALUE; 
               

                
                  
ShortSignal true
               } 
               
            else 
ShortSignal =false;
           
           
            
//By Signal Stoch
            
if(((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) > 21) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) > 21) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN2) < 20))) 
        
//          { 
          //           SignalZeit=TimeCurrent(); 
            //      } 
              //    if(SignalZeit!=EMPTY_VALUE) 
                //  { 
                  // if((((iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 0) < 21) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_SIGNAL, 0) < 21))) 
            //   SignalZeit=EMPTY_VALUE; 
               

                
                  
LongSignal true
               } 
Bringt bloß leider überhaupt nichts, wenn nicht Range ist.

RRRRRRRRRR - Verzweifel
  #15 (permalink)  
Alt 20.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nun, da sollten wir erst einmal klären, ob das Triggersignal auf der letzten geschlossenen Kerze liegen soll oder auf der aktuellen Kerze? D.h. soll bei einem Kerzenwechsel der Close-Kurs der letzten geschlossenen Kerze betrachtet werden, der dann unter 80 oder über 20 liegen soll oder soll eben das Signal kommen, sobald der Kurs der aktuellen Kerze unter 80 oder über 20 liegt?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #16 (permalink)  
Alt 20.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Moin mein lieber!

Hatte im stillen ein wenig die Hoffnung, dass Du dich meldest.

Das Signal sollte eigentlich kommen, sobald der Kurs die 21 überschreitet, bzw. die 79 unterschreitet.

Mir ist es jedoch nicht gelungen, die Bewegung unter 20 bzw. über 80, als Bedingung zu "verankern", die erfüllt sein muss, um dann über 21 bzw. unter 79 ein Signal zu erhalten.

Deswegen dieser Umweg über Perioden. Der dann auch noch direkt passen muss.

Eigentlich soll es egal sein, wie viel Kerzen (Perioden) zwischen z.B. unter 20 und über 21 entstehen.
  #17 (permalink)  
Alt 20.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Bin auf Dienstreise und könnte den Code nicht! testen.
Bei Kerzenwechsel wird die MAIN-Linie auf Kerze 2 und 1 ausgelesen und bei Verlassen der 80er bzw 20er Linie das Signal generiert, welche dann noch in der Ordersetzung umgesetzt werden muß.

Code:
//an entsprechender Stelle LongSignal und ShortSignal mit bool deklarieren und auf false setzen. Und datetime OldTime; deklarieren.
if (Time[0] != OldTime) { 
   if(iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 2) >= 80) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 1) < 80) { 
      LongSignal = true;
   }
   if(iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 2) <= 20 && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 1) > 20) { 
      ShortSignal = true;
   }
   OldTime = Time[0];
}
if (LongSignal) {
   int ticket = OrderSend(...);
   if (ticket > 0) LongSignal = false;
}
if (ShortSignal) {
   int ticket = OrderSend(...);
   if (ticket > 0) ShortSignal = false;
}
Viel Erfolg!

traderdoc
JoeDormann and Nordlicht like this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #18 (permalink)  
Alt 21.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

P E R F E K T !!

Vielen Dank, läuft gut.

Noch viel Erfolg auf der Geschäftsreise.

Gruß
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, stochastic, stochastic programmierung, stochastic signal


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 03:38 Uhr.





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