mtbf40 Posted July 31, 2012 Report Share Posted July 31, 2012 Wie gesagt, ein zweidimensionales array geht. Aber nur mit integer als key. Dafür bräuchtest du halt eine fixe Zuordnung von Pair zu array index. Assoziative Arrays bzw. Maps mit Strings als Key gibts in MT4 AFAIK nichtdanke erst einmal - ich werde mal "weiter basteln" Quote Link to comment Share on other sites More sharing options...
mtbf40 Posted August 14, 2012 Report Share Posted August 14, 2012 danke erst einmal - ich werde mal "weiter basteln" ... so habe weiter gebastelt und ein 2 dimensionales Array aufgebaut - jedoch mit fester Länge. Wie kann man das dynamisch machen??? habe jetzt folgendes: array[20][3]: will aber: array[20][x] dieses Array wird einer Funktion übergeben - als Referenz - diese füllt esdas Array mit fester Länge kann ich ausgeben - ABER es schreibt mir 60 Zeilen!! (20*3) statt 20 Quote Link to comment Share on other sites More sharing options...
Mythos Posted August 15, 2012 Report Share Posted August 15, 2012 In MT kann man leider nur die 1. dimension eines Arrays resizen, der Rest ist ab Initialisierung fix. Du kannst lediglich selbst über Zugriffsfunktionen mit einem "normalen" Array ein mehrdimensionales simulieren: int valueAt(int row, int col) { return my_array[row*COLS_PER_ROW+col]; } void initArray(int numRows) { ArrayResize(my_array,numRows*COLS_PER_ROW); } zu den 60 zeilen: wie sieht denn der Code dazu aus? Quote Link to comment Share on other sites More sharing options...
mtbf40 Posted August 15, 2012 Report Share Posted August 15, 2012 In MT kann man leider nur die 1. dimension eines Arrays resizen, der Rest ist ab Initialisierung fix. das habe ich zwar irgendwie mitbekommenm, aber erst jetzt ist es mir auch <bewusst> geworden!! http://1.1.1.4/bmi/www.tom-next.com/community//public/style_emoticons/default/chocala.gif... also eine kleine Kehrtwende im Array und schon funktioniert es - also aus Array[20][x] mache Array[x][20] Danke... ein Problem gelöst geht es gleich mit dem nächsten weiter.wie sendet man denn einen String >256 Bytes aus Metatrader?? Quote Link to comment Share on other sites More sharing options...
Mythos Posted August 16, 2012 Report Share Posted August 16, 2012 wie sendet man denn einen String >256 Bytes aus Metatrader?? Was meinst du mit "senden"? per DLL Aufruf? - wusste nicht das es da ein Beschränkung auf 256 Bytes gibt. Quote Link to comment Share on other sites More sharing options...
mtbf40 Posted August 16, 2012 Report Share Posted August 16, 2012 Was meinst du mit "senden"? per DLL Aufruf? - wusste nicht das es da ein Beschränkung auf 256 Bytes gibt. strReceiveBuffer[0] = "1111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000 1111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000 1111111111222222222233333333334444444444555555555566666"; //255 Bytes ErrorMeldung:'111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444444555555555566666' - too long string (255 characters maximum allowed) das senden soll an eine DLL gehenich verwende jetzt <StringConcatenate> - der einzelne String ist zwar auf 255 Bytes beschränkt, aber beim "verbinden" geht mehr Wenn ich mir jetzt einen passenden String "bauen" will kann ich dies doch folgender Maßen machen: Bytes = LängeString/8?? string1 = '1'; string2 = '1'; for (i=0; i<Bytes; i++) { string = string+'1' if (i == 255) { string2 = string2+'1'; } } full = StringConcatenate(string1,string2); Quote Link to comment Share on other sites More sharing options...
Der Wolf Posted August 16, 2012 Report Share Posted August 16, 2012 Einer String-Variablen kann man mehr als 255 Bytes zuweisen: string strtest = ""; string str1 = "11111111112222222222333333333344444444445555555555"; //50 Bytesstring str2 = "11111111112222222222333333333344444444445555555555"; //50 Bytesstring str3 = "11111111112222222222333333333344444444445555555555"; //50 Bytesstring str4 = "11111111112222222222333333333344444444445555555555"; //50 Bytesstring str5 = "11111111112222222222333333333344444444445555555555"; //50 Bytesstring str6 = "1234567890"; //10 Bytesstrtest = str1 + str2 + str3 + str4 + str5 + str6; //260 Bytes Eine String-Konstante kann maximal 255 Bytes beinhalten.Das ist eine String-Konstante mit genau 255 Bytes:"111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444444555555555566666"; //255 Bytes Zur Unterscheidung String-Variable bzw. String-Konstante:Das ist die Zuweisung der Stringkonstanten "ABC" zur String-Variablen strABC:string strABC = "ABC"; Bei der Zuweisung einer "überlangen" String-Konstante an eine String-Variable werden die überzähligen Bytes abgeschnitten.string strtest = "11111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222223333333333444444444455555555556666612345"; //260 Bytes Hier würde das Stringende "12345" abgeschnitten werden. Eine Fehlermeldung (weder vom Compiler noch zur Laufzeit) erhalte ich dabei nicht. 2 Quote Link to comment Share on other sites More sharing options...
Mythos Posted August 16, 2012 Report Share Posted August 16, 2012 ah ok, interessant das String Konstanten auf 255 beschränkt sind, aber wieso willst du Stringkonstanten mit mehr als 255 Zeichen machen? Quote Link to comment Share on other sites More sharing options...
mtbf40 Posted August 16, 2012 Report Share Posted August 16, 2012 ah ok, interessant das String Konstanten auf 255 beschränkt sind, aber wieso willst du Stringkonstanten mit mehr als 255 Zeichen machen? ..weil ich 25 Werte ermittel die von mehreren Pairs kommen können - ich beschränke das aber auf 512 Bytes Quote Link to comment Share on other sites More sharing options...
Mythos Posted August 16, 2012 Report Share Posted August 16, 2012 ..weil ich 25 Werte ermittel die von mehreren Pairs kommen können - ich beschränke das aber auf 512 Bytesd.h. du schreibst die Werte in den Sourcecode als Konstanten?Frage 1: Wieso die Werte in eine Konstante?Frage 2: ggf. Wieso nicht so wie KB Wolf vorschlägt? Quote Link to comment Share on other sites More sharing options...
mtbf40 Posted August 16, 2012 Report Share Posted August 16, 2012 d.h. du schreibst die Werte in den Sourcecode als Konstanten?Frage 1: Wieso die Werte in eine Konstante?Frage 2: ggf. Wieso nicht so wie KB vorschlägt? Frage 1: ich schreibe die Werte in eine StringVariable - deren Anzahl an Zeichen ja auf 255 begrenzt istFrage 2: was schlöägt er denn vor ? Quote Link to comment Share on other sites More sharing options...
Mythos Posted August 16, 2012 Report Share Posted August 16, 2012 Frage 1: ich schreibe die Werte in eine StringVariable - deren Anzahl an Zeichen ja auf 255 begrenzt istNein, nur StringKonstanten sind auf 255 Zeichen begrenzt. Bsp: string strtest = "11111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222223333333333444444444455555555556666612345"; //260 Bytes string strtest2 = "ABCDE1111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222333333333344444444"; string strtest3= strtest + strtest2; hier wird strtest auf 255 abgeschnitten, aber strtest3 enthält die gesamte Länge. Ich bekomme übrigens schon ein Warning beim compilieren, is aber recht nichtssagend weil es nur den zu langen String enthält. Frage 2: was schlöägt er denn vor ?Mein Fehler, hab auf die Schnelle die User verwechselt, es war der Wolf: Einer String-Variablen kann man mehr als 255 Bytes zuweisen: string strtest = ""; string str1 = "11111111112222222222333333333344444444445555555555"; //50 Bytes string str2 = "11111111112222222222333333333344444444445555555555"; //50 Bytes string str3 = "11111111112222222222333333333344444444445555555555"; //50 Bytes string str4 = "11111111112222222222333333333344444444445555555555"; //50 Bytes string str5 = "11111111112222222222333333333344444444445555555555"; //50 Bytes string str6 = "1234567890"; //10 Bytes strtest = str1 + str2 + str3 + str4 + str5 + str6; //260 Bytesalso einfach den überlangen String (wenn er schon über eine Konstante geschrieben werden soll) in mehrere Zuweisungen aufteilen. Erhöht auch sicher die Lesbarkeit enorm. Quote Link to comment Share on other sites More sharing options...
Kleinerbroker Posted August 16, 2012 Report Share Posted August 16, 2012 Da is man EINMAL mal wech ...... aber ich hab Euch alle mal schnell durch-ge-thanks (die Seite davor auch, damit Ihr mich alle weiter doll gerne habt ) KB PS.: Bei mir zur Zeit "der Teufel los" , alles OK aber extrem lange Arbeitstage, sorry, dass so inaktiv Quote Link to comment Share on other sites More sharing options...
Krawummska Posted June 30, 2014 Report Share Posted June 30, 2014 hier mal zwei kostenlose Tutorial auf deutsch die sich mit dem Einstieg zu MQL beschäftigen. http://www.daxsignal.de/ea-tutorial-1/ea-tutorial-1.html" target="_blank">Tutorial 1 - Einführung Meta Editor, Aufbau/Struktur der MQL4-Datei, Variablen etc. http://www.daxsignal.de/ea-tutorial-2/ea-tutorial-2.html" target="_blank">Turorial 2 - Erstellen eines einfachen EA auf Basis eines SMA Viel Spaß! 2 Quote Link to comment Share on other sites More sharing options...
TR@FI Posted October 31, 2014 Report Share Posted October 31, 2014 Hi, wie man in vielen Foren, so auch in diesem sehen kann, ist die Nachfrage nach MQL Themen nach wie vor sehr hoch. Das Update von MetaTrader4 auf Build 6xx hat einiges dazu beigetragen, die Plattform wesentlich attraktiver zu machen, insbesondere aus Entwicklersicht. Nach wie vor ist MT4 für das eigentliche Trading eine der mit Abstand stabilsten Plattformen die es gibt. Wir von ForexInnovation haben uns deshalb vor einer Weile entschlossen, einen Blog zu starten, indem wir mal ein wenig genauer auf die Themen MQL / C++ / C# (für dlls nutzen wir hauptsächlich C#) eingehen.Visual-Basic für ein paar schnelle Auswertungen in Excel und auch R http://www.r-project.org/ wird ebenfalls mit dabei sein. Insbesondere R ist dabei ein sehr spannendes Thema, weil man damit sehr interessante Auswertungen aus dem Statistik-Bereich machen kann, die in MT4 einen gigantischen Aufwand verursachen würden. Aber dazu werden wir im Laufe der Zeit im Blog ein paar Beispiele und praktische Anwendungsfälle vorstellen (falls R noch nicht bekannt ist, dann gerne mal hier http://www.rstudio.com/ ein wenig nachlesen, eine wirklich unglaublich mächtige Programmiersprache, die bei der Entwicklung von Algos hervorragende Dinge tun kann ...) Wir werden versuchen eine breite Palette an Themen rund um MetaTrader und die Entwicklung von Handelssystemen abzudecken. Für Vorschläge sind wir offen, gerne melden wenn wir uns mal mit einem Thema etwas intensiver befassen sollen. Wer Lust hat kann ja mal vorbei schauen, diverse Tools und viel Quellcode zu verschiedensten Themen / Problemen ist schon vorhanden. http://www.code4trading.com/ Thomas @ ForexInnovation 2 Quote Link to comment Share on other sites More sharing options...
conglom-o Posted November 1, 2014 Report Share Posted November 1, 2014 Dank Dir Thomas, klingt spannend. Eventuell sieht man sich ja mal wieder auf einer der Messen oder ich besuche euch mal in Hamburg . Quote Link to comment Share on other sites More sharing options...
TR@FI Posted November 6, 2014 Report Share Posted November 6, 2014 Dank Dir Thomas, klingt spannend. Eventuell sieht man sich ja mal wieder auf einer der Messen oder ich besuche euch mal in Hamburg . klar gerne! auf der WOT sind wir dieses Jahr nicht, irgendwie hat uns das in den letzten Jahren nicht so "angetörnt". viele Gespräche mit dem Tiefgang eines Katamarans ... da ist uns die Zeit zu schade, da sind wir nicht so die Marketing-Freaks, das müssen wir uns nicht geben. aber ein Besuch in unseren schönen Büros in Hamburg ist immer möglich. einfach kurz Bescheid sagen, vorbei kommen, Kaffee trinken (oder natürlich Tee) und ein wenig plauschen. vielleicht sogar mit Tiefgang im Blog ist im übrigen ein neuer Beitrag zum Thema "geschlossene Trades im Chart darstellen" ... danach wurden wir schon oft gefragt ... hat MetaTrader irgendwie vergessen und bis heute auch keine vernünftige Lösung nachgereicht ... ich hab das mal übernommen, zumindest einen Anfang würde ich mal sagen. wen es interessiert: code4trading.com Tool zur Anzeige geschlossener Trades im Chart LGThomas 1 Quote Link to comment Share on other sites More sharing options...
conglom-o Posted November 6, 2014 Report Share Posted November 6, 2014 Geht klar. Lande Montag abend in Hamburg, da dürfte es aber zu spät sein für ein Treffen. Bzgl. der Trades im Chart. Man kann die aus der Historie einfach in den Chart ziehen, dann werden sie angezeigt. Aber weiter gehende Informationen fehlen da dann natürlich völlig. Quote Link to comment Share on other sites More sharing options...
chimbonda Posted May 29, 2015 Report Share Posted May 29, 2015 Einen Augenblick...... Quote Link to comment Share on other sites More sharing options...
chimbonda Posted February 26, 2016 Report Share Posted February 26, 2016 https://m.youtube.com/watch?v=H-4syVeuJOo# ich habe was für Programmierantis gefunden. Sogar ich komme damit zurecht 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.