Henrik Posted May 7, 2010 Report Posted May 7, 2010 So, ich starte hier mal einen Thread wo alle interessanten Codeschnipsel etc. reinkönnen. Ich fange mal an mit der Balanceabfrage des Accounts (Danke an den MC-Support):initialcapital Und hier die Equity: var: _equity(0); _equity = initialcapital + openpositionprofit + netprofit; if (_equity < 100000) then buy next bar market; edit (14.05.2010 von mir):Wollte gerade mit dem Code spielen und habe dabei festgestellt, das mit diesen Codewörtern NICHT die echte Balance auf dem Account gemeint ist, sondern die Balance die man in den Eigenschaften zur Strategie einstellen kann.Der Abruf der echten Balance ist noch nicht möglich, erst in MC 7, laut TS-Team.
goso Posted May 7, 2010 Report Posted May 7, 2010 Wie ist eigentlich der Code für den Big Point Value in MC?
Henrik Posted May 7, 2010 Author Report Posted May 7, 2010 Wie ist eigentlich der Code für den Big Point Value in MC? BigPointValue Ne im ernst - das ist der Befehl der den Big Point zurückgibt. ExampleBigPointValue will return 1 for GoogleBigPointValue will return 50 for E-mini S&P 500 Voraussetzung ist natürlich, dass es im Quote Manager vorher richtig angegeben worden ist.
goso Posted May 7, 2010 Report Posted May 7, 2010 Alles klar, langsam tauchen die ziemlich in Vergessenheit geratenen Easy Language Kenntnisse wieder auf, vielleicht versuche ich mich ja irgendwann wieder als Systementwickler, zur Diversifikation wäre das vermutlich gar nicht so schlecht.
whipsaw Posted May 8, 2010 Report Posted May 8, 2010 So, ich starte hier mal einen Thread wo alle interessanten Codeschnipsel etc. reinkönnen. Gute Idee Würde mich freuen, wenn sich in der Zukunft noch mehr Multicharts Enthusiasten finden, die den Bereich durch aktive Mitarbeit supporten.
Henrik Posted May 8, 2010 Author Report Posted May 8, 2010 Kurs nach Pips errechnen (für TP oder SL zB) unabhängig vom Instrument (TS support): Pips * bigpointvalue*minmove/pricescale Wobei Pips die Pipzahl ist und die anderen 3 Werte im Quotemanager zu dem jeweiligen Instrument hinterlegt sind. Achtung: hat bei 5stelligen FX-Fairs den Nachteil, dass 1 Pip auf die 5. Stelle gerechnet wird. Bei FX also das Ganz nochmal *10 rechnen. Bsp: Quotemanager EUR/USD bei MBT:bigpoinvalue = 1minmove = 1pricescale = 1/100000 Inputs:Pips(30); Im Code soll Close + TP gerechnet werden: TPkurs = Pips * bigpointvalue * minmove / pricescale {ggf. noch *10 um echte Pips herauszubekommen}TPkurs = 30 * 1 * 1 / (1/100000)TPkurs = 0.00003 {oder 0.0003} Man könnte natürlich im Quotemanager den pricescale einfach auf 1/10000 stellen um sich das *10 zu sparen. Dann sieht man aber im Chart rechts leider den Kurs nur noch 4stellig statt 5stellig.Also evtl. vorher das Instrument checken lassen durch GetSymbolName falls man eine Strategie auf zB FDAX und FXSpot laufen lassen will. Oder Variante B (BigMike on TSsupportforum:inputs: target1 (20); stoploss (20); vars: TickSize (MinMove/PriceScale); SetStopContract; SetStopLoss((stoploss * TickSize) * BigPointValue); SetProfitTarget((target1 * TickSize) * BigPointValue);
Henrik Posted May 14, 2010 Author Report Posted May 14, 2010 In auf Chart geprinteten Text eine Variable mit einbauen: If BarNumber = 1 Then Value1 = Text_New(Date, Time, High *1.01, "variable1"+text(var1)); Value2 = Text_SetLocation(Value1, Date, Time, High * 1.01); => setzt immer einen festen + variablen Text auf den ersten Bar. Also:"variable1"+text(var1))variable1 ist der feste Text, var1 ist die Variable
goso Posted June 30, 2010 Report Posted June 30, 2010 Diverse Indikatoren und Studien für Tradestation, sollte auch in MC funktionieren Forums - EasyLanguage Treasure Chest Und noch eine Fundgrube (zwar mehr für Metastock, aber auch jede Menge EL Geschichten) http://trader.online.pl Auf Easy Langugage Zone klicken, die neue Boardsoftware mag manche Links nicht, ausserdem werden beim Editieren von Beiträgen Umlaute in Fragezeichenicons umgewandelt, der Teufel steckt anscheinend im Detail.
Kleinerbroker Posted January 28, 2012 Report Posted January 28, 2012 John F. Ehlers 2004 // Cybernetic Analysis For Stocks & Futures bzw sein Buch vorher aus 2001 : Rocket Science For Traders Es finden sich EL-Code u.a. für den CoG und eine Reihe von Fisher - Indi´s Ehlers & Fisher setzen auf den mathematischen Methoden der Elektrotechnik auf und verarbeiten Kurse wie die E-Technik entsprechende Signale . Von diesem Ansatz halte ich gerade im FX-Markt eine ganze Menge . KB
zentrader Posted January 29, 2012 Report Posted January 29, 2012 John F. Ehlers 2004 // Cybernetic Analysis For Stocks & Futures bzw sein Buch vorher aus 2001 : Rocket Science For Traders Es finden sich EL-Code u.a. für den CoG und eine Reihe von Fisher - Indi´s Ehlers & Fisher setzen auf den mathematischen Methoden der Elektrotechnik auf und verarbeiten Kurse wie die E-Technik entsprechende Signale . Von diesem Ansatz halte ich gerade im FX-Markt eine ganze Menge . KB @KB, danke fuer den Hinweis. Habe mich bislang nur rudimentaer mit Ehlers beschaeftigt und wollte dies schon lange mal vertiefen. In der Amazon-Kritik kam ein wenig der Eindruck auf, dass das neuere Buch "Cybernetic..." inhaltlich ein wenig duenn sei, da der Code fuer die Beispiele gleich fuer zwei Programmierumgebungen (EasyLanguage und eSignal) abgedruckt sei. Ich tendiere deshalb eher zum Altwerk "Rocket Science...", zumal die Inhalte der beiden Werke so unterschiedlich ja nicht zu sein scheinen... Kennst Du (oder jemand anderes) beide Buecher und wie ist die Meinung dazu? ciao,zentrader
Kleinerbroker Posted January 29, 2012 Report Posted January 29, 2012 Hallo , @zentrade : beide Bücher liegen jetzt gerade neben mir . Persönlicher Eindruck und ich habe keines der beiden Bücher wirklich durchgearbeitet : Cybernetic (256 S) baut auf Rocket (250 S) auf, Teile der Codes sind beiden gemeinsam , beide Bücher bearbeiten gemeinsame Themen . Der CoG ist zum Beispiel erst im Cybernetic beschrieben . Schwierig zu sagen , Rocket baut wohl mehr aus der Theorie der digitalen Signalverarbeitung heraus kommend auf , ist also etwas grundsätzlicher . Cybernetic dann etwas mehr Anwenderorientiert . Hoffe hilft . Andere Frage @all : Suche Code oder Links zum Kontomanagment/Autotrade (GetAccount, GetAccountID , siehe dort dann Post #2 ) KB
zentrader Posted January 29, 2012 Report Posted January 29, 2012 Hallo , @zentrade : beide Bücher liegen jetzt gerade neben mir . Persönlicher Eindruck und ich habe keines der beiden Bücher wirklich durchgearbeitet : Cybernetic (256 S) baut auf Rocket (250 S) auf, Teile der Codes sind beiden gemeinsam , beide Bücher bearbeiten gemeinsame Themen . Der CoG ist zum Beispiel erst im Cybernetic beschrieben . Schwierig zu sagen , Rocket baut wohl mehr aus der Theorie der digitalen Signalverarbeitung heraus kommend auf , ist also etwas grundsätzlicher . Cybernetic dann etwas mehr Anwenderorientiert . Hoffe hilft ... @KB, danke - ich glaube dann treffe ich die Entscheidung mal so: zuerst das aeltere Grundlagenwerk. Und wenn ich was verstanden habe, kann ich ja noch das zweite nachziehen... :-) ciao,zentrader
Kleinerbroker Posted February 11, 2012 Report Posted February 11, 2012 Sehr sehr zufrieden mit MC Programmierhandbuch Es gibt wenig zu Array´s aber hier Freeware Tutorials für EL KB 3
Kleinerbroker Posted February 13, 2012 Report Posted February 13, 2012 Weiss jemand, wie ich eine Pending Order auf dem Server meines Brokers (IB und MBT in meinem Fall) durch mein HS erkennen kann ? Ich suche einen Befehl wie "Order_ID = GetPositionPendingOrders(Symb,KnNr,lfd Nummer)" ? Es geht mir darum zu erkennen, welchen Orderstatus ich habe, wenn ich mein HS neu starte . Irgenwie muss ich mein Orderbuch einlesen können . Dank KB EDIT 2 Stunden später um 16:25 : Ich habe das jetzt eben mit dem MC support chat geklärt ==>> es gibt keine Möglichkeit , aktive Order abzufragen . KB
Henrik Posted March 3, 2012 Author Report Posted March 3, 2012 Durch einen Hinweis von siscop, Danke siscop! - möchte ich hier mal einen Code festhalten der im MC-Forum gepostet worden ist, damit kann man Text in Strategien darstellen: Quelle: MC Forum - arnie if currentbar = 1 then begin value3 = Text_new_s(JulianToDate(aiLeftDispDateTime), GetAppInfo(aiLeftDispDateTime), GetAppInfo(aiHighestDispValue),""); text_setfontname(value3 , "Lucida Sans Typewriter"); text_setcolor(value3 , white); text_setsize(value3 , 9); Text_SetStyle(value3 , 0, 0); text_setborder(value3 , true); text_setbgcolor(value3 , black); end; value1 = HighD(0); value2 = LowD(0); text_setstring(value3, " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " " + newline + " DayHigh " + spaces(1) + " - " + NumToStr(value1, 2) + " " + newline + " DayLow " + spaces(1) + " - " + NumToStr(value2,2) + " "); Text_SetLocation_s(value3, JulianToDate(GetAppInfo(aileftDispDateTime)),DateTime2ELTime_s(GetAppInfo(aileftDispDateTime)), GetAppInfo(aiHighestDispValue)); 3
Kleinerbroker Posted March 11, 2012 Report Posted March 11, 2012 damit kann man Text in Strategien darstellen Wie geht Ihr eigentlich vor, um den Überblick im Editor zu behalten ? Beim Coden mit Metatrader habe ich den Code in #Include ´s unterteilt die jeweils ein Modul abgearbeitet haben . So konnte ich dann jedes Modul für sich individuell Coden und dann an das Hauptprogramm anflanschen .Aber ich hatte dann jeweils nur 2...3 Bildschirmseiten mit Code . Übersichtlicher eben , so finde ich (mag Geschmackssache sein) . KB
Kleinerbroker Posted March 18, 2012 Report Posted March 18, 2012 Wie geht Ihr eigentlich vor, um den Überblick im Editor zu behalten ? In der Zwischenzeit habe ich einen Beispielcode eines recht ausgewachsenen HS erhalten . Auch einschlägiger Literaturempfehlung folgend ist dort alles modularisiert .Eine Funktion markiert Trades im Chart , alles andere hat der Kollege in einem einzigen Programm aneinandergereiht . Mehrfach, dem Programmfluss folgend, hat ersowohl "Variables: ..." als auch "Input:..."-Blöcke den jeweiligen Programmmodulen zugeordnet . Ich dachte, dass wäre - wie bei MT4 - nur am Anfang des Codes möglich . Offensichtlich falsch gedacht . Man kann noch Wert darauf legen, dass das Format "Druckerfreundlich" ist ... also Zeilenlänge so anpassen, dass keine unfreiwilligen Zeilenumbrüche entstehen .Ausdrucke sind für mich nun wichtiger/hilfreicher als beim MT4 ,da der Code doch ziemlich lang werden wird . KB
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now