5-Stellen-Erkennung - Seite 5

 
jjc:
...Wenn Sie ein System bauen, das andere Leute benutzen können, nicht nur Sie selbst, dann ist die Möglichkeit, Werte in Pips einzugeben, ein wichtiger Faktor für die Benutzerfreundlichkeit. Der durchschnittliche Zocker weiß, was er mit 50 Pips meint, aber er muss ziemlich viel nachdenken und doppelt nachprüfen, ob er einen Wert von 0,005 und nicht 0,0005 oder 0,05 oder was auch immer meint....

Ja, das habe ich auch gesagt: "Die Definition scheint für einen Entwickler wichtig zu sein, der ein kommerzielles Standardprogramm programmieren will und möchte, dass der Benutzer die Flexibilität hat, genau zu bestimmen, wie viel Dollar er riskieren möchte". Ich glaube nicht, dass der durchschnittliche Zocker weiß, was er mit 50 Pips meint. IMO denken die Leute gerne in Dollars oder Standardeinheiten ihrer Basiswährung. Ich würde meine persönlichen Erfahrungen mit der Definition eines Pips/Punktes auflisten, aber das könnte zu lang werden.

Wenn Sie kein SUPER-Programmierer mit JAHRESlanger Forex-Erfahrung sind, macht es keinen Sinn zu versuchen, ein universell einsetzbares kommerzielles Programm für Endbenutzer zu programmieren. Wenn jemand einen EA kauft, erwartet er vor allem, dass er profitabel ist. Und zweitens erwarten sie, dass das Programm unfassbar flexibel ist. Zum Beispiel den Befehl, alle Aufträge vor dem Wochenende zu schließen, und dass ich angeben kann, wie viel Geld ich riskieren möchte usw. Wie wir alle wissen, ist es schwer genug, einen profitablen EA zu programmieren, ohne ihn statisch auf einen bestimmten Zeitrahmen oder eine bestimmte Währung zu beschränken.

Aber hier versuchen Sie, einen kommerziellen EA für Otto Normalverbraucher zu programmieren, der von 2% Risiko und "nicht am Wochenende handeln" gehört hat. Und wollen genau 20$ Verlust auf GBP/JPY angeben, während ihre Basiswährung in USD ist. Das System wurde entwickelt, um einen Prozentsatz der ATR, was auch immer pip / Punkte oder Dollar, die sein kann, verwendet. Jetzt ist das gesamte System kaputt, da es die Erwartungen des Endbenutzers nicht erfüllen wird #1 profitabel. Wenn jemand jedoch ein Werkzeug für Endbenutzer zu spielen mit, das ist eine andere Geschichte.

IMO, wenn ich/ich/persönlich ein System machen würde, mit dem ich meine Tante oder meinen kleinen Bruder handeln lassen wollte. Ich würde es so unflexibel wie möglich gestalten, da das einzige, was sie angeben können, der Risikoprozentsatz wäre, und jeder andere Umfang, für den das Programm nicht ausgelegt ist, würde abgelehnt werden, z. B. wenn Sie den falschen Zeitrahmen oder die falsche Währung angeben. So wahr es auch sein mag, die meisten kommerziellen Systeme lassen die Benutzer in Pips angeben. Der Programmierer kann nicht dafür verantwortlich gemacht werden, wenn der Endbenutzer Fehler macht, wie z.B. "Oh, ich wollte nur 100 $ Risiko, aber am Ende hatte ich 1000 $". Er hat 100 Pip-Stopps eingegeben, aber bei 1000:1 gehebelt. Wenn Sie nicht jede Wendung und Warnung in Ihrer Programmierung berücksichtigen, ist es hoffnungslos.

 
andydcoles:

Das Einzige, wofür MQL4 Pips verwendet, ist die Kodierung von Spread-Werten in Order-Anfragen. Alles andere wird in Form von Kursen angegeben. Eine Alternative wäre die Verwendung von Wechselkursdifferenzen als Eingabeparameter für T/P, S/L usw. Geben Sie z. B. 0,0050 für einen S/L von 50 Pip an. Dies funktioniert unabhängig von den Ziffern und muss nur durch 100 skaliert werden, wenn "JPY" in Symbol() als Kurswährung erkannt wird. Dies ist für alle 21 Hauptpaare (alle Kombinationen von USD, EUR, GBP, JPY, CHF, CAD, AUD) und wahrscheinlich auch für die kleineren Paare (die aufgrund der höheren Spreads nur von wenigen gehandelt werden) möglich. Wenn Sie sich wirklich Sorgen um die "Kugelsicherheit" machen, können Sie eine Währungskette und einen Multiplikator als Eingabeparameter angeben (z. B. JPY und 100). Dies kann auch für exotische Währungen mit verschiedenen Brokern erweitert werden.

Ich glaube wirklich, dass dies bei den meisten MQL4-Programmierern kaum eine Rolle spielt; wenn sie einen profitablen Handelsalgorithmus erfolgreich implementieren und debuggen, werden sie ihn auf ihrem eigenen Live-Konto verwenden. Nur wenige werden ihn verkaufen oder weitergeben wollen, weil der Markt sich wahrscheinlich anpassen wird, um dem Algorithmus entgegenzuwirken.

Danke für Ihre Antwort, Andy. Aber ich habe die Funktionen jetzt gelöst. Wenn ich auf meine letzten Beiträge zurückblicke, weiß ich, dass ich damals ziemlich besessen von dieser Sache war :). Ich schätze, ich war eher auf der Suche nach der zugrundeliegenden Berechnung von Point, TickSize, etc. als nach einer "kugelsicheren" Lösung für meinen Code. 7bit begann den Thread auf der Suche nach einer Möglichkeit, einen 5-stelligen Preis programmatisch zu ermitteln. Und folglich wuchs er, um die Definitionen der vordefinierten Variablen von MarketInfo-s zu finden/erforschen. Nochmals vielen Dank für deinen Beitrag.
~cameo

 

If you are building a system for other people to use, not just for yourself, then the ability to enter values in pips is a major ease-of-use consideration. The average punter knows what they mean by 50 pips, but has to think quite a lot, and double-check, whether they mean a value of 0.005 rather than 0.0005 or 0.05 or whatever. The ability to enter parameters in pips matches how most end-users think in the forex world, and reduces errors. It also offers the prospect of being able to use the same parameter values on 2/3 and 4/5 digit symbols. I don't have much exposure to the mass-market commercial EAs, but I've never seen one where such parameters were entered as a price differential rather than a pip value.

@Jjc : Ich bin froh, dass hier jemand mit mir einer Meinung ist :). Ich würde jederzeit die Benutzerfreundlichkeit und die Fehlerreduzierung vorziehen :)

Dies. Ich persönlich arbeite nicht in Pips, ich arbeite in Punkten. Alle Kursdaten werden in Punkten angegeben. Die Differenz zwischen zwei Kurswerten wird in Punkten angegeben. Mein Stoploss und mein Ausstiegspunkt sind alle in Punkten angegeben... sie sind ein bestimmter Marktpreis. Das Konzept der Pips ist interessant, aber wie die meisten hier bestätigen können, verliert man an Strenge und Robustheit, sobald man versucht, das Konzept der Pips mit dem der Punkte zu verbinden, und wozu? [...]

@Phil : Ich kann Ihre und andere unterschiedliche Methoden zur Berechnung von Preisparametern nachvollziehen. Wir haben unsere eigenen Vorlieben, warum sollten wir sie ändern, wenn wir es nicht für nötig halten... Wie Sie vielleicht wissen, ist es mein Ziel, die MarketInfo zugrunde liegenden Berechnungen zu erforschen, die in verschiedenen Instrumenten und Brokern verwendet werden können. Ihre Methode, den Preis zu verwenden, ist sicherlich ein praktikabler und robuster Weg.

Wenn Sie kein SUPER-Programmierer mit JAHRESlanger Forex-Erfahrung sind, macht es keinen Sinn zu versuchen, ein universell einsetzbares kommerzielles Programm für Endbenutzer zu programmieren. Wenn jemand einen EA kauft, erwartet er vor allem, dass er profitabel sein wird. Und zweitens erwarten sie, dass das Programm unfassbar flexibel ist. Zum Beispiel den Befehl, alle Aufträge vor dem Wochenende zu schließen, und dass ich angeben kann, wie viel Geld ich riskieren möchte usw. Wie wir alle wissen, ist es schwer genug, einen profitablen EA zu programmieren, ohne ihn auf einen bestimmten Zeitrahmen oder eine bestimmte Währung zu beschränken.

@Ubzen : Lols! Sie müssen kein 'SUPER-Programmierer' sein. Glauben Sie mir. Und obwohl es eine Möglichkeit ist, wollte ich die Lösung nicht für ein kommerzielles Programm verwenden oder "unglaublich flexibel" sein. Ich möchte einfach nur meine Strategien auf verschiedenen Plattformen und Instrumenten testen, ohne dass ich die Parameter anpassen und doppelt überprüfen muss.

Zum Thema Pips versus Dollar kann ich Ihnen eine Analogie anbieten, mit der Sie wahrscheinlich vertraut sind:

Sagen wir, ich möchte in einem neuen Casino spielen. Ich habe $5000 Kapital mitgebracht und bin bereit, 2 Prozent meines Kapitals zu riskieren. Aber das Haus bietet Chips in Points an! Die eingesetzten Dollar werden in Points-Chips umgewandelt, die in 0,0001, 0,0005, 0,001 usw. angegeben sind. Nicht nur das, der nächste Tisch erfordert die 10-fache Menge an Chips, die auf ein Zehntel des vorherigen Tisches lauten, und außerdem ist die Farbe der Chips nicht so leicht zu erkennen! Ok... ich übertreibe ein wenig :)) aber Sie verstehen, worauf ich hinaus will (Wortspiel nicht beabsichtigt). Dollars oder die Basiswährung sind IMO nicht universell, Pips hingegen schon. Pips sind einfacher coz es ist nicht ein Bruchteil & Blick auf jede Art von Charts und Instrumente, wenn wir sehen, x Pips von Gewinn / Verlust können wir schnell IMHO bewerten & vergleichen sie.

PS: Ich bearbeitete & fügte diesen Beitrag eine Menge.... warum wieder lesen einige meiner Post manchmal beschissen gefühlt?

 

Ich verwende jetzt die folgenden Funktionen, und sie sind für verschiedene Broker und Instrumente verwendbar.

double vPoint; 
if(Digits == 2 || Digits == 4) vPoint = Point; else
if(Digits == 3 || Digits == 5) vPoint = Point*10; // I use this for my indies; call once on init() & use where Point supposed to be used in start() 

double Poin() 
{ 
   int d = Digits;
   switch(d){
   case 2 : {return(Point); break;}
   case 4 : {return(Point); break; }
   case 3 : {return(Point*10); break;}
   case 5 : {return(Point*10); break:}
   default : return;
} // I just come up with this. Untested but should be ok/robust. To be used to replace Point for trade parameters calculations. 

Prost, ~ Cameo

 

Vor kurzem brauchte ich dies, so dass ich es codiert. hier ist meine Lösung:

//meine Beobachtung ist, dass 1% des Basiswerts etwa 100 Pips entspricht.

//ein 'Punkt' ist die kleinste inkrementelle Einheit.

//so, ich berechne einfach die Anzahl der Punkte, die eine Potenz von 10 für 1% des Basiswertes ist.

//diese Menge an Punkten ist 100 Pips.

double AmountPer100Pips()

{

int k=3;

while (MathRound((Bid*0.01)/(Point*MathPow(10, k)))==0)

{

k--;

}

//Kommentar("1%=", DoubleToStr(Bid*0.01, 5), "-", DoubleToStr(Punkt*MathPow(10, k), 5), " pro 100 Pips");

return(Punkt*MathPow(10, k));

}

 
ubzen:

...Average Joe's, die von "2% Risiko" und "nicht am Wochenende handeln" gehört haben...


Sie haben vergessen, dass "der Trend dein Freund ist" - versuchen Sie mal, das in eine Range-Strategie einzubauen...!

Sie haben Recht, Add-ons oder (vermeintliche) "nice to have" -Funktionen sind nicht hilfreich und schaden oft der Strategie, die der EA verfolgen muss, um Geld zu verdienen

-BB-

 
jesuscheung:

vor kurzem brauchte ich das, also habe ich es codiert...


Dieser Code funktioniert tatsächlich nur für Währungen, die kleiner als 0,01 Ticks notiert sind. Putting in Dow (TickSize 1) oder Ger30 (TickSize 0,5) funktioniert nicht.
 

cameofx: Angenommen, ich möchte in einem neuen Kasino spielen. Ich habe ein Kapital von 5000 Dollar dabei und bin bereit, 2 Prozent meines Kapitals zu riskieren. Aber das Haus bietet Chips in Points an! Die eingesetzten Dollar werden in Points-Chips umgewandelt, die in 0,0001, 0,0005, 0,001 usw. angegeben sind. Nicht nur das, der nächste Tisch erfordert die 10-fache Menge an Chips, die auf ein Zehntel des vorherigen Tisches lauten, und außerdem ist die Farbe der Chips nicht so leicht zu erkennen! Ok... ich übertreibe ein wenig :)) aber Sie verstehen, worauf ich hinaus will (Wortspiel nicht beabsichtigt). Dollars oder die Basiswährung sind IMO nicht universell, Pips hingegen schon. Pips sind einfacher, weil es sich nicht um einen Bruchteil handelt, und wenn wir uns jede Art von Charts und Instrumenten ansehen und x Pips Gewinn/Verlust sehen, können wir sie IMHO schnell bewerten und vergleichen.

Woah, eine Casino-Analogie. Das hatte ich völlig übersehen, lol. Ok, ich kann es verstehen. Sagen wir, Average Joe geht in ein neues Casino, statt $5000 machen wir die Mathematik einfach und sagen $100. Er gibt der hübschen Dealerin $100 Benjamin Franklin und die nette Dealerin fragt ihn höflich: "Sir, wie möchten Sie das zurückbekommen, in Rot, Grün oder Halb-n-Halb? Average Joe ist völlig verwirrt. Seine nächste Frage an sie lautet: "Wie viel kostet Red's, Greens und was meinen Sie mit Half-n-Half. An dieser Stelle lächelt sie, wirft ihr Haar zur Seite und lässt seufzend die Schultern hängen, weil sie weiß, dass sie es mit einem Anfänger zu tun hat. Wenn ich neben Average Joe sitze, schaue ich mich nach den schwanzgesteuerten Kellnerinnen um. Sie fängt an, in das Tablett zu greifen, hebt einen Chip hoch und verkündet: "Dies ist ein roter Chip, er ist 0,0001 Punkte wert." .....(was! Überfall, das ist ein echtes Casino, aber machen wir mit).... Average Joe ist immer noch verwirrt, und ich wäre es auch. Er ruft aus: "Ja, aber wie viel ist das in Dollar". Und sie antwortet: "Es sind 5 Dollar, Sir", "und die Grünen kosten 25 Dollar" und "Halbe-halbe bedeutet 2 Grüne und 10 Rote".

Jetzt ist es mit den Punkten vorbei, der Durchschnittsbürger ist auf die Farben fixiert. So kriegt dich das Haus, selbst ein Affe kann Farben unterscheiden. Average Joe will cool klingen und sagt: "Na ja... dann gib mir die Hälfte... hübsche Mamma". Neben diesem Kerl habe ich das strahlendste Lächeln, um nicht in Gelächter auszubrechen. Wie auch immer, es ist Zeit zu wetten und Average Joe überlegt, ob er mit 2% so lange wie möglich an diesem Tisch bleiben will. O_o, er braucht 2$, also fragt er die Dealerin "gibt es irgendwelche 2$ Chips" und sie sagt "ja, die Weißen sind 1$ und die Rosafarbenen sind 2.50$, möchten Sie welche". Er sagt "Ja". Sie sagt: "Geben Sie mir 2 Rote und ich gebe Ihnen 10 Weiße" (sie wird Ihnen nicht alle Weißen in ihrem Tablett geben... die braucht sie zum Umtauschen... aber sie hofft, dass Sie anfangen, Trinkgeld zu geben).

Ok!!, wir sind wieder beim Wetten. In diesem Moment legt Average Joe 2 weiße Chips auf den Tisch. Dies lässt die Dealerin erstarren. Sie schaut ihn an, dreht das Schild in einen sichtbaren Winkel und sagt: "Das ist ein 5-Dollar-Minimum-Tisch, Sir". "Der Minimum-Tisch, den wir in diesem Casino anbieten, ist der 3-Dollar-Tisch", fährt sie fort, "der ist gleich da drüben, wo der Buff-Typ austeilt". Average Joe denkt kurz darüber nach (2$ vs. 3$....Gorgeous vs. Fabillio dort drüben), "nee, lass uns ein paar Karten spielen", ruft er aus, zieht seine 2-Whites zurück und wirft 2-Reds hinein.

Wäre dies ein japanisches Casino gewesen, wäre das Format immer noch dasselbe, nur hätte es länger gedauert, zu erklären, wie viel ein Punkt wert ist.

 
1005phillip:

Dies. Ich persönlich arbeite nicht in Pips, ich arbeite in Punkten. Alle Kursdaten werden in Punkten angegeben.

Das bedeutet, dass Sie jedes Mal, wenn Sie den Broker wechseln (oder wenn der Broker plötzlich wechselt, wie es IBFX vor einigen Monaten tat) , daran denken müssen, alle Parameter Ihres EAs entsprechend zu ändern. Wie Slippage, 3 oder 30 Punkte.

Und wie viel werden Sie verlieren, wenn Sie einen vergessen oder noch schlimmer, ihn falsch ändern.

Es ist viel einfacher, nicht prozentuale Parameter in Pips zu definieren und bei Bedarf in Punkte oder Doubles umzuwandeln.

 
WHRoeder:

Das bedeutet, dass Sie jedes Mal, wenn Sie den Broker wechseln (oder wenn der Broker plötzlich wechselt, wie es IBFX vor einigen Monaten getan hat), daran denken müssen, alle Parameter Ihres EAs entsprechend zu ändern. Wie Slippage, 3 oder 30 Punkte.

Und wie viel werden Sie verlieren, wenn Sie einen vergessen oder noch schlimmer, ihn falsch ändern.

Es ist viel einfacher, nicht prozentuale Parameter in Pips zu definieren und bei Bedarf in Punkte oder Doubles umzuwandeln.


Eigentlich ist es das genaue Gegenteil. Meine EA's sind so codiert, dass sie allgemein genug sind, dass ich sie im Grunde auf jeden MT4-Broker mit jeder Kombination von Ziffern usw. fallen lassen kann, und die Mechanik des Handels und der Strategie sind unabhängig von den zugrunde liegenden broker-spezifischen Parametern. Seine, wenn Sie beginnen die Programmierung mit schlecht definierten Parametern wie "Pips", dass Sie die Tür für Probleme zu öffnen.

Was ich interessant finde, ist, dass, wenn Sie bereits eine Strategie haben, die sich auf Indikatoren oder eine mathematische Berechnung stützt, die Marktpreise für die Bestimmung von Stoploss und Take Profit einbezieht - sei es ATR oder RSI oder Widerstandsniveaus usw. - im Grunde alles, was über das triviale "Ich will einen festen Trailing-Stop von 30 Pips" hinausgeht, dann haben Sie absolut keine Notwendigkeit, überhaupt mit Pips zu arbeiten.

Dinge mit festen Pips zu tun - z.B. 25 Pip Take-Profit oder 50 Pip Stop-Loss - ist für mich einfach nur dumm, weil der Markt einfach nicht so funktioniert, so dass man nicht wirklich erwarten kann, profitabel zu sein, wenn man versucht, Geld aus dem Markt zu nehmen, indem man eine Handelsstrategie auf diese Weise betreibt. Es dreht sich alles um prozentuale Bewegungen, Widerstandsniveaus usw. Dinge, die durch den Preis, nicht Pips definiert sind.

Das ist nur meine Meinung, die völlig fehlerhaft sein kann.

(PS - Ihr Beispiel der IBFX-Änderungen ist ein perfektes Beispiel dafür, dass es meinen EAs egal war, dass IBFX ihre Änderungen vorgenommen hat. Ein anderes Beispiel ist FXDD, die vor kurzem in diesem Sommer auf einem ihrer Demoserver auf 5-stellig umgestellt haben. Ich habe das nicht einmal bemerkt oder gewusst, dass es passiert ist, bis ich die Quartalszahlen überprüfte und bemerkte, dass sich die Preisfeeds geändert hatten)