Alle Inhalte von Gunner_Duck
-
Brokerhebel vs. MT4-Hebel
Hallo Zusammen, nach der aktuellen Marginänderung bei etlichen Brokern, musste ich erst jetzt auch nach einem Chat mit meinem Broker feststellen, dass die Variable "AccountLeverage" ja eigentlich nur irgendeinen festeingestellten MT4-Hebel ausliest und so gar nichts mit dem eigentlich Broker-Hebel zu tun hat! Kann mir bitte vielleicht jemand mal die Variable nennen, die ich brauche, um den eigentlich wichtigeren Hebel auslesen zu können. Der MT4-Hebel ist doch dann totaler bullshit. Warum macht man solche unterschiedlichen Variablen rein? Naja egal, ich muss nicht immer alles verstehen. Brauche jetzt nur die richtige Variable für meine MM-Formel. Kennt vielleicht jemand die korrekte Variable dafür?
-
EA im VPS laufen lassen
Also alles falsche Fährte! Das Problem war, dass mein MM eine zu lange Lotzahl ausgerechnet hat, welche dem Server wohl nicht bekommen ist. Lokal war es aber komischwerweise kein Problem. Wenn ich das MM deaktiviert hab und eine feste Lotzahl vorgegeben hab, war ich bei einem entsprechendem Signal im Markt. Musste also mein MM leicht modifizieren. Trotzdem danke euch für eure Zeit
-
EA im VPS laufen lassen
hier mal ein Screenshot vom Journals. Vielleicht könnt Ihr damit was anfangen? Da steht "Signal disabled"! Brauche ich das?
-
EA im VPS laufen lassen
Also ich kann schon mal sicher sagen, dass das nichts mit dem "eingefrorenem" Guthaben zu tun hat! Der Betrag wird nach Ablauf der gebuchten Zeit abgebucht. Ist ganz normal, dass es eingefroren wird.
-
EA im VPS laufen lassen
Ne, ich habe nur ein Konto dort. Deswegen verstehe ich ja nicht, eben weil der EA eigentlich so funktioniert. In dem MQL-Konto habe ich auch nirgends etwas verdächtiges gesehn, wo man irgendwo etwas freigeben kann. Ich habe mich vor ein paar Tagen auch im MQL-Forum gemeldet. Aber da dauert es ja auch immer Tage, bis man da eine Antwort bekommt.
-
EA im VPS laufen lassen
ja das hab ich auch gesehen, dass es da "eingefroren" ist. Hab aber angenommen, dass es dann nach dem gebuchten Monat auf 0$ gesetzt wird. Und der eingentliche Handel geht doch von dem GkFx-Account und da ist mehr als genug auf dem Konto! Das hat doch damit nix zu tun.
-
EA im VPS laufen lassen
Du meinst die MT4-App? Nein, ich hab schon einen bezahlbaren VPS bei Metaquotes gebucht. Erstmal für einen Monat zum Testen. Und in dem Log ist nichts auffälliges drin. Die Indikatoren und der EA ist "laoded succesfully". Ich weiß nicht, ob das Normal ist, aber dieser Status hier --> Virtual Hosting: 7569896 status is 'started' wird erst in dem Log gesetzt, wenn ich dieses Fenster geöffnet habe ...
-
EA im VPS laufen lassen
Nein, hab noch keinen anderen probiert. Hab auch eigentlich keinen anderen mit dem ich es im Real Konto versuchen möchte. Ich stehe grad auf dem Schlauch - was meint Ihr mit Logfiles, wo finde ich die? Ich dachte, der Sinn des VPS ist, dass man seinen MT4 da drauf spiegelt, um nicht den PC die ganzen Zeit laufen lassen zu müssen? Hab ich das etwa komplett falsch verstanden oder muss ich den PC noch zusätzlich dafür laufen lassen? Das wäre doch quatsch.
-
EA im VPS laufen lassen
-
EA im VPS laufen lassen
Hallo Zusammen, also ich hab ich einen EA zusammen gebastelt. Der auch funktioniert, wenn ich ihn im MT4 laufen lasse Jetzt wollte ich es mal mit VPS versuchen. Hab mir schon probeweise erstmal einen Account für einen Monat gebucht. Das Ganze hab ich dann im MT4 soweit synchronisiert und es hat auch den Status "gestartet". Heute wäre eigentlich ein schöner Long-Einstieg gewesen, aber Pustekuchen. Nix ist passiert. Hab ich da noch etwas ausgelassen oder warum arbeitet der EA nicht im VPS? sorry, wenn das Thema nicht wirklich hier rein passt. Bitte an den Admin an der Stelle, falls nötig, in die richtige Kategorie verschieben.
-
Hilfe bei OrderCloseBy
nein, nein, alles gut, so hab ich das auch gar nicht aufgenommen ;-) Bin so oder so für jeden Tipp dankbar. Könntest du mir bitte ein Beispielcode geben.
-
Hilfe bei OrderCloseBy
also, dass man mit orderdelete pendings löscht und mit orderclose positionen schließt, die aktuell im markt sind, weiß ich ja. Deswegen hab ich ja die OrderCloseBy-Funktion gewählt. Die Ticketnummer hab ich mir schon ausgeben lassen. Die Long-Position bekommt in dem Fall die #1 und der Sell-Stop bekommt die #2. Was mich aber grade etwas stutzig macht ist die Fehlermeldung, dass "order 2 for OrderCloseBy function is not a market order". Würde ja bedeuten, dass er die Order schon zu schließen versucht, wo sie noch nicht als Markt Order aktiviert ist.
-
Hilfe bei OrderCloseBy
Also ich hab die Ticketnummer jetzt in die Schleife integriert - hab da ja was falsches abgefragt :-/ int OppositeClose() { int g,h; for (g=Total-1; g>=0; g--) { if (OrderSelect(g,SELECT_BY_POS,MODE_TRADES) == true) if (OrderType()==OP_BUY || OrderType()==OP_SELL) { for (h=Total-1; h>=0; h--) { if(OrderSelect(h,SELECT_BY_POS,MODE_TRADES) == true) if(OrderType()==OP_SELL) { Oppoclose = OrderCloseBy(Ticket-1,Ticket,DarkOrange); Print("Close SELL by Opposite"," Ordertype:",OrderType()); return(1); } if(OrderType()==OP_BUY) { Oppoclose = OrderCloseBy(Ticket-1,Ticket,DarkOrange); Print("Close BUY by Opposite"," Ordertype:",OrderType()); return(1); } } } } return(0); } Nun funktioniert es so wie ich will. EDIT: Ach ne, klappt doch nicht. Also beim Short-Eintritt werden nun beide Orders geschlossen :-/ Trotzdem frage ich mich grade, ob OrderCloseBy die richtige Funktion ist für mein Anliegen!? Weil ich jetzt trotzdem, dass es funktioniert, lauter solcher Fehler hier...
-
Hilfe bei OrderCloseBy
achso, ja hab ich vergessen anzugeben. Ja Total = OrdersTotal(); Und hier rufe ich die Subroutine auf: //+------------------------------------------------------------------+ //|=======================Check position=============================| //+------------------------------------------------------------------+ for (int i=0; i<Total; i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true) { if((OrderType() <= OP_SELLSTOP) && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { //+------------------------Exit Buy-----------------------------+ if(OrderType() == OP_BUY) { if(CloseOnOppositeSignal) OppositeClose(); } //+------------------------Exit Sell----------------------------+ if(OrderType() == OP_SELL) { if(CloseOnOppositeSignal) OppositeClose (); } } } } Dieser Fehler wird ausgeben, sobald ich Long gehe und geht auch über die Short-Position hinaus. Also sprich, gehe Long, kommt dieser Fehler, simuliere ich weiter und setzte einen Sell-Stop, woraus dann eine Short-Position wird, wird dieser Fehler weiterhin ausgelöst. Am Ende laufe ich mit beiden Positionen im Markt und im Looping wird andauernd dieser Fehler immer weiter ausgegeben. und hier ist der fehler...
-
Hilfe bei OrderCloseBy
Hallo alle Zusammen, ich bastle mir grade ein Unterprogramm für das sofortige Schließen einer Order bei Gegensignal. Sprich, wenn ich grade Long im Markt bin und etwas später einen Sell-Stop setze, der auch geschortet wird - soll die Long-Position sofort gelöscht werden. Aber mit Schleifen hab ich so meine Probleme, daher brauche ich bitte eure Hilfe, da ich hier etwas zusammen gebastelt hab, was so gar nicht funktioniert. //+------------------------------------------------------------------+ //|========================OPPOSITE CLOSE============================| //+------------------------------------------------------------------+ int OppositeClose() { int g,h; for (g=Total-1; g>=0; g--) { if (OrderSelect(g,SELECT_BY_POS,MODE_TRADES) == true) if (OrderType()==OP_BUY || OrderType()==OP_SELL) { for (h=Total-1; h>=0; h--) { if(OrderSelect(h,SELECT_BY_POS,MODE_TRADES) == true) if(OrderType()==OP_SELL) { Oppoclose = OrderCloseBy(h+1,h,DarkOrange); Print("Close SELL by Opposite"," Ordertype:",OrderType()); return(1); } if(OrderType()==OP_BUY) { Oppoclose = OrderCloseBy(h+1,h,DarkOrange); Print("Close BUY by Opposite"," Ordertype:",OrderType()); return(1); } } } } return(0); }
-
Hilfe bei Trade Counter
super, vielen dank. Das wars ;-)
-
Hilfe bei Trade Counter
Hallo Freunde, ich versuche mir grade einen Trade-Counter in meinen EA zu integrieren mit folgendem Code hier: //+------------------------------------------------------------------+ //|==========================TRADE-COUNTER===========================| //+------------------------------------------------------------------+ int TradeCounter() { for(int OT = OrdersTotal(); OT >= 0; OT--) { if(OrderSelect(OT, SELECT_BY_POS, MODE_TRADES) == true) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL)) { TotalTrades++; } } } for(int OHT = OrdersHistoryTotal(); OHT >= 0; OHT--) { if(OrderSelect(OHT, SELECT_BY_POS, MODE_HISTORY) == true) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL)) { TotalTrades++; } } } return(TotalTrades); } Alles soweit relativ einfach. Aber sobald ich im Markt bin, wird gefühlt jeder Tick als Trade gezählt, obwohl ich nur einen Trade ausgeführt hab. Die Variable "TradeCounter()" rufe ich als Comment() im int start() auf. Irgendwie stehe ich grad auf dem Schlauch und weiß nicht warum das nicht geht. Könntet Ihr mir bitte mal auf die Sprünge helfen.
-
EA Variablenbezeichnung als Kommentar ausgeben
Sry. Die Zeilennummer wäre jetzt in dem Code einfach nur die Zeile, wo die letzte geschwungene Klammer ist. Und den Fehler sieht man in dem Screenshot. Edit: Und der Code funktioniert auch, wenn "strict" ausschalte. Daher verstehe ich nicht was ihn daran stört. Hier nochmal der Screenshot:
-
EA Variablenbezeichnung als Kommentar ausgeben
Ich stehe grade irgendwie voll auf dem Schlauch... Könntet Ihr bitte vielleicht mal in einen Code-Abschnitt reinschauen. double TrailingStopValue (bool Decision, int OrderTicketNum, int FTrailingStop) { //Select the appropriate order ticket OrderSelect(OrderTicketNum, SELECT_BY_TICKET, MODE_TRADES); //If the Order is a BUY order... if(OrderType() == OP_BUY) { //Check if the user wants to use teh Trailingstop function and did it correctly if(Decision && FTrailingStop > 0) { //Check to see that the profit threshold is met if(Bid - OrderOpenPrice() > Point * FTrailingStop) { //Return the value of the potential stoploss return(Bid - Point * FTrailingStop); } } } //If the Order is a SELL order... if(OrderType() == OP_SELL) { //Check if the user wants to use teh Trailingstop function and did it correctly if(Decision && FTrailingStop > 0) { //Check to see that the profit threshold is met if((OrderOpenPrice() - Ask) > (Point * FTrailingStop)) { //Return the value of the potential stoploss return(Ask + Point * FTrailingStop); } } } //If the trade is not the right order type, give a stoploss of 0 if(OrderType() != OP_BUY || OrderType() != OP_SELL) return(0); } Er gibt mir nämlich ständig einen Fehler in diesem Abschnitt raus, wenn ich im Strict-Modus bin.
-
EA Variablenbezeichnung als Kommentar ausgeben
Ich habe befürchtet, dass es daran liegt. Nein das hab ich ausgeschaltet, weil ich damit ein paar Fehler im Code bekomme :-/ Muss die Fehler erstmal beseitigen. Aber vielen dank, für den Tipp. Werde ihn ausprobieren, sobald ich soweit bin
-
EA Variablenbezeichnung als Kommentar ausgeben
ja, hast recht, so ist es zumindest auch in einem Beispielcode, den ich meine. Also hab ich das jetzt bei mir auch so gemacht. input int MainTimeFrame = 0; // Time Frame in min(0-current,-1-each tick mode) Und trotzdem sieht es aktuell immer noch so aus, wie im Screenshot. Was aber auch auffällig ist, dass die Variable im Code ohne Leerzeilen ist. Aber in der Eingabemaske ist zw. "Main" und "TimeFrame" eine Leerzeile. Keine Ahnung woher das kommt. Gibt es vielleicht noch etwas anderes, worauf man dafür achten sollte?
-
EA Variablenbezeichnung als Kommentar ausgeben
Hallo Zs, ich hab bei einigen EA's gesehen, dass es möglich ist in den EA-Eigenschaften in dem Reiter "Eingaben" die Variablenbezeichnungen als Kommentar angezeigt werden und nicht als Variablenname. Hoffe, ihr versteht was ich meine. Schaut mal dazu in den Screenshot. Z.b. die zweite Variable dort hat eigentlich den Namen "Timeframe", wird aber hier in der Eingabemaske als Kommentar "Time Frame in min(0-current..." angezeigt. Kennt sich damit einer aus?
-
Kerzenzeitpunkt ermitteln
Hallo conglom, versuche dich grade über skype zu kontaktieren. Antwortest du nicht, oder bin an den falschen geraten?
-
Kerzenzeitpunkt ermitteln
Ja mit gehüpft wie gesprungen meinte ich, dass ich immer den Zeitpunkt einer Kerze haben muss Also zu dem Indikator: Er hat zwei Buffer, die zur jeweiligen Bedingung, die ich eingestellt habe, den jeweiligen Long oder Short-Pfeil in den Chart einzeichnet. Zusätzlich lese ich den Zeitpunkt dieses Pfeiles in dem Indikator hiermit aus. Range_Start_Hour = TimeHour(iTime(NULL,60,i));Gleichzeitig lasse ich diesen Zeitpunkt hiermit anzeigen: Comment("Cross_hour: ",Range_Start_Hour,"\n"); Das funktioniert in dem Indi soweit sehr gut. Aber wie kann ich diesen Wert jetzt in meinen EA einpflegen / einlesen? Das geht ja, glaube ich, nur mit dem iCustom?! Aber, das ist wieder mal einfacher gesagt, als getan Wäre jetzt natürlich geil, wenn ich den Wert einfach aus der Indikator-Comment-Funktion irgendwie übernehmen könnte (Wunschdenken). Mein iCustom sieht soweit so hier aus: int=1; double Cross_1_now = iCustom(NULL,Zeiteinheit,iCross,0,1,70,0,a); Aber wenn ich mir diesen double-Wert jetzt einfach mal als Comment anzeigen lasse, bekomme ich eine sehr große Zahl raus. Sowas wie 2171384850 oder so. Soweit ich weiß, muss dieser Wert jetzt noch in TimeHour gewandelt werden, oder? Wie würdest du hier bei diesem Puzzle weiter vorgehen?
-
Kerzenzeitpunkt ermitteln
Also... ich habe jetzt einen MA-Crossover-Indikator gefunden und konnte ihn auch soweit einstellen, dass meine Bedingung mit einem Pfeil in die entsprechende Richtung angezeigt wird. Ist es möglich jetzt über die iCustom-Funktion den Zeitpunkt des jeweiligen Pfeils auszulesen oder halt den Zeitpunkt auszulesen, indem ein Pfeil gezeichnet wurde? Oder das grade gehüpft wie gesprungen?