Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Wie lang darf die MagicNumber sein? (http://www.expert-advisor.com/forum/showthread.php?t=5211)

Aktien Andy 10.10.16 22:57

Wie lang darf die MagicNumber sein?
 
Moin zusammen,

in der MQL4 Doku habe ich leider nichts gefunden.

Wie lang darf die MagicNumber sein? Man kann die ja bei vielen EAs selbst eingeben; gibt es eine Begrenzung für die Anzahl der Stellen dieser zahl?

Danke, Gruß an alle

Andreas

Kronenchakra 10.10.16 23:12

Die MagicNumber ist als ulong definiert.

Dieses kleine snippet zaubert dir eine MagicNumber aus dem _Symbol:

Code:

ulong MagicNumber()                                  // returns a magic number created from _SYMBOL
{
  string ms="",
          st=StringSubstr(_Symbol,0,6);
  int    sl=StringLen(st);                          // in case of short symbol name eg GOLD
         
  for (int i=0; i<sl; i++ )
      ms=ms+(string)StringGetCharacter(st,i);
     
  return((ulong)ms);
}

Ist aber für hedgingmode (MT4) nur bedingt geeignet.
Im MT5 nettingmode funktioniert's prima.

LG

Aktien Andy 11.10.16 00:37

Vielen Dank für die wertvollen Hinweise.....aber....wie lang darf sie denn nun sein???

Kronenchakra 11.10.16 00:54

Mein Gott Walter!!! ;)

Such doch in der Dokumentation/google nach ulong etc.

ulong bedeutet unsigned long.

F1 -> 'The ulong type also occupies 8 bytes and can store values from 0 to 18 446 744 073 709 551 615.'

Einfach im Metaeditor ulong hinschreiben und F1 drücken!!!

LG vom OPA-Trader aus dem MT5-Forum

Ca$hDigger 11.10.16 03:16

Hier wurde mir mal int gesagt: http://www.expert-advisor.com/forum/...html#post30809

Was jetzt, ulong oder int ? :D

traderdoc 11.10.16 09:01

MQL4!! sagt eindeutig aus, dass die MagicNumber zum Datentyp int gehört.
Und damit tritt folgendes ein:

int
The size of the int type is 4 bytes (32 bits). The minimal value is -2 147 483 648, the maximal one is 2 147 483 647.

Es gibt dazu nicht mehr und nicht weniger zu schreiben.

traderdoc

PS. @Kronenchakra, ich glaube der hieß Andy und nicht Walter.

Aktien Andy 11.10.16 10:29

Ich hate in der MQL4 Dokumentation gesucht, dort aber nichts gefunden. Google hat auch keinen Treffer gebracht. Auf die Idee mit dem MQL-Editor und F1 bin ich nicht gekommen.

Jedenfalls ist die Frage ja nun beantwortet; danke an alle.

Gruß

Andreas

Ca$hDigger 11.10.16 14:09

Die Aussage von traderdoc hat wie gewohnt Hand und Fuß.

Sobald man OrderSend( eingetippt hat werden Variablenname und der dazugehörige Datentyp der Funktion automatisch angezeigt. Dort zu finden ist: int magic=0

Wäre doch auch zu schade keine negativen Values nutzen zu können ;):D

C$D

Kronenchakra 12.10.16 03:10

Ist halt doch ein Unterschied von MQL4 zu MQL5.
In MQL5 ist's halt ein ulong.
Aber die ganze Diskussion ist sowieso etwas sinnentleert, den die meisten vergeben sowieso nur 12345, 777, 4711 und 0815. :D

@traderdoc https://www.youtube.com/watch?v=vrx1rdWB7mg


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:55 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum