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: 43271
Benutzer: 7.222
Aktive Benutzer: 72
Links: 84
Wir begrüßen unseren neuesten Benutzer: Mane
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 30.07.21
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

mir fallen zwei Punkte auf.

1)
Was mir nicht ganz einleuchtet ist die folgende Funktion:
Code:
// GRID_START_TICKET() ist die zu letzt eröffnete Pending-Order bzw. neueste Market-Order
   double PREISLEVEL()
     {
      double PreisLevel = 0;

      if(OrderSelect( GRID_START_TICKET() , SELECT_BY_TICKET , MODE_TRADES ) == false )
        {
         PreisLevel = NormalizeDouble( ( Ask + Bid ) / 2 , Digits );
        };
      if(OrderSelect( GRID_START_TICKET() , SELECT_BY_TICKET , MODE_TRADES ) == true )
        {
         PreisLevel = NormalizeDouble( OrderOpenPrice() , Digits );
        };
      return(PreisLevel);
     };
Wenn die Order nicht ausgewählt werden konnte, also OrderSelect() == false ist, warum gibst du dann den aktuellen Preis wieder? Wäre dass dann nicht eher ein Moment in dem du die Erstellung des Grids abbrechen solltest?

2)
Ich sehe hier in allen UPPER LOWER und CURRENT Grid Funktionen ein Problem mit der Berechnung:

Hier dein Code:

Code:
double Grid_Upper_1_High = PREISLEVEL() + ( 1 * Grid_Abstand * Point ) + ( Grid_Abstand / 2 ) * Point;

double Grid_Upper_1_Low  = PREISLEVEL() + ( 1 * Grid_Abstand * Point )-( Grid_Abstand / 2 ) * Point;
Du negierst hier nur den zweiten Teil, also "( Grid_Abstand / 2 ) * Point"

Richtig wäre hier wohl eher:

Code:
double Grid_Upper_1_High = PREISLEVEL() + (( 1 * Grid_Abstand * Point ) + ( Grid_Abstand / 2 ) * Point);

double Grid_Upper_1_Low  = PREISLEVEL() - (( 1 * Grid_Abstand * Point )+( Grid_Abstand / 2 ) * Point);
Sonst ist dein jeweiliger Low Wert immer noch über dem Einstiegspreis, obwohl er ja darunter liegen sollte.

Mit freundlichen Grüßen
Timo
Thema geschlossen

Lesezeichen


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 05:30 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.
-----------------------------------------------------------------------------------------------------------------------------