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: 4973
Beiträge: 43784
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Like Tree2Likes
  • 1 Post By traderdoc
  • 1 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 09.02.16
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard Possible loss of data.. Fehler

Hallo,

seit ich #property strict nutze bekomme ich bei der Wertübergabe an ein Interger-Array den Fehler "possible loss of data due to type conversion".
Dies tritt bei Folgendem auf:

int var[2];

var[0] = MarketInfo(Symbol(), MODE_SPREAD);
var[1] = TimeCurrent();

Ich dachte eigentlich, dass beide nur int Werte übergeben... Warum kommt der Fehler?

Gruß
  #2 (permalink)  
Alt 09.02.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

MarketInfo() wurde als double und TimeCurrent() als datetime deklariert.

Da int mit weniger Bytes auskommt, werden dann bei der Übergabe bei Variablen höheren Typs evtl. Informationen verloren gehen.

Dann schreibst Du einfach über eine explizite Typumwandlung:

int var[2];

var[0] = (int)MarketInfo(Symbol(), MODE_SPREAD); //hier fällt tatsächlich alles nach der Kommastelle weg
var[1] = (int)TimeCurrent();

traderdoc
Ca$hDigger likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 10.02.16
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Danke, den Trick kannte ich auch noch nicht.

Könnten in dem Falle wirklich relevante Werte verloren gehen? Soweit ich getestet hatte werden immer Ganzzahlige Werte zurückgegeben.
Beim Spread ist zb auch bei 5-digits der Wert Ganzzahlig und der Timewert wird den maximalen Wertebereich von int auch nicht so schnell übersteigen oder mach ich da irgendwo ein Fehler?

C$D
  #4 (permalink)  
Alt 10.02.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ne, Du hast da keine Denkfehler, weil in den beiden Fällen tatsächlich ganzzahlige Werte geliefert werden. Aber beide Variablen haben nun mal keine int-Deklaration und somit meckert der Compiler mit dieser Warnung.

traderdoc
Ca$hDigger likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
#property strict, fehler, interger-array, mql4, possible loss of data due to type conversion, programmierung, programmierung metatrader

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 +1. Es ist jetzt 14:46 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.
-----------------------------------------------------------------------------------------------------------------------------