Entwicklung einer Stufenstrategie. Wie erstelle ich eine Strategie? Vorbereitung auf die Arbeit

Hallo an alle! Jetzt erkläre ich Ihnen, wie Sie ein einfaches RTS (RTS - Real Time Strategy, also eine Echtzeitstrategie) erstellen, eine Hängematte 8.1 öffnen (die Funktionsfähigkeit ist bei 8.0 nicht garantiert) und ein objControl-Objekt erstellen, das heißt, dies wird sein Unser Hauptobjekt: Erstellen Sie ein Erstellungsereignis (Erstellen). Ereignis hinzufügen => Erstellung (Ereignis hinzufügen => Erstellen). Das Erstellungsereignis wird nur einmal ausgeführt. Klicken Sie beim Erstellen auf die Registerkarte „Steuerung“ im rechten vertikalen Menü und klicken Sie mit der rechten Maustaste auf „Ausführen“. Code ausführen (Code ausführen) und den Code schreiben (es ist am besten, den Code nicht zu kopieren, und ihn selbst zu schreiben macht es viel einfacher, ihn sich zu merken):

200?"200px=""+(this.scrollHeight+5)+"px");">startx=0; //Deklarieren Sie eine Variable für den Startpunkt von x
starty=0; //Deklariere eine Variable für den Anfang des Punktes bei y
draw_rect=false; //Kein Auswahlrechteck zeichnen


Variable: Ein Speicherbereich, der Informationen enthält. Sie haben einen eigenen Namen, unter dem Sie sie kontaktieren können. Variablen in GML können eine reelle Zahl oder eine Zeichenfolge enthalten. Beispielsweise ist ein Tisch eine Variable, Holz oder Glas ein Wert
Nun erstellen wir ein Schrittereignis (Schritt, Ereignis hinzufügen => Schritt) und führen die Operation erneut aus (Rechtsklick auf Code ausführen):

200?"200px="+(this.scrollHeight+5)+"px");">
if mouse_check_button_pressed(mb_left) //Wenn die linke Maustaste gedrückt wird
{
draw_rect=true; //Wir zeichnen ein Rechteck
startx=mouse_x; //Start-x-Position = Maus-x-Position
starty=mouse_y; //Startposition = Mausposition
with all selected=false; //Dies ist noch keine deklarierte Variable, wir werden später herausfinden, was sie tun wird
}

If mouse_check_button_released(mb_left) //Wenn LMB freigegeben ist
{
draw_rect=false; //Wir zeichnen kein Rechteck
for(i=0;i<=instance_number(par);i+=1) //Читайте про цикл for ниже
{
ii=instance_find(par,i); //Wir suchen ein Objekt, das noch nicht hergestellt wurde
if(collision_rectangle(startx,starty,mouse_x,mouse_y,ii,true,false)) //Hier ist unser Kollisionsrechteck (Kontakt)
{
ii.selected=true;
}
}
}

Der Code ist groß und komplex, während wir etwas über die if-Bedingungsanweisung lernen:
Der Code mit if wird folgendermaßen ausgeführt:

200?"200px="+(this.scrollHeight+5)+"px");">
if (Bedingung)
{
Aktion
}

Es kann auch eine else-Anweisung (sonst) enthalten, Beispiel:

200?"200px=""+(this.scrollHeight+5)+"px");">if (Bedingung)
{
Aktion
}
anders
{
Aktion 2
}

Und for ist ein Schleifenoperator, er wird wie folgt ausgeführt:

200?"200px="+(this.scrollHeight+5)+"px");">
für (<переменная> ; <выражение> ;<действие переменной>)
{
<действия>
}


Der for-Operator ist eine sehr mächtige Sache, er hilft in schwierigen Situationen sehr

Operator – in eine Sprache integrierte Aktionen, am häufigsten sind zum Beispiel int, if, else, string, switch, for, case, break, exit usw. usw.

Jetzt erstellen wir auch ein Zeichenereignis (draw) und schreiben auf die gleiche Weise:

200?"200px=""+(this.scrollHeight+5)+"px");">if draw_rect=true
{
Alpha=.8;
draw_rectangle_color(startx,starty,mouse_x,mouse_y,c_green,c_green,c_green,c_green,true);
}

Hier ist alles einfach, hier ist das Gleiche nur auf Russisch:
Wenn wir ein Rechteck zeichnen müssen, wählen wir Transparenz und zeichnen ein Rechteck
Hier sind die Argumente

200?"200px=""+(this.scrollHeight+5)+"px");">draw_rectangle_color(x1,y1,x2,y2,color 1, color 2, color 3, color 4, Outline)


Umriss – ob nur die Kante (true) oder das gefüllte Rechteck (false) gezeichnet wird
Wir haben ein neues Wort gefunden - eine Konstante. Dies ist ein numerischer Ausdruck oder Code, der durch ein Wort ersetzt wird. Die Hängematte verfügt über integrierte Konstanten:

200?"200px=""+(this.scrollHeight+5)+"px");">true - 1
falsch – 0
pi - 3,1415...


Nun, wir haben es herausgefunden, jetzt müssen wir ein neues Objekt erstellen – ein übergeordnetes Objekt, das eine Verbindung zu seinen untergeordneten Objekten herstellt. Nennen wir es par (um den Namen zu ändern, müssen Sie den Code im Schrittereignis des Steuerobjekts ändern), schreiben Sie in das Erstellungsereignis:

200?"200px=""+(this.scrollHeight+5)+"px");">selected=false; //Hier ist unsere Variable, ob das Objekt ausgewählt ist

Das ist alles. Jetzt brauchen wir natürlich ein Objekt, das sich bewegen kann, wir nennen es objTest und schreiben den Code in das Erstellungsereignis:

200?"200px=""+(this.scrollHeight+5)+"px");">gox=x; //Wohin gehen...
goy=y; //von y
ausgewählt=false; //Wir sind nicht ausgewählt =)
object_set_parent(self,par) //Hier ist die Auswahl des übergeordneten Elements

Neue Aktion:

200?"200px=""+(this.scrollHeight+5)+"px");">object_set_parent(ind,obj)

Setzt das übergeordnete Objekt auf das Objekt mit dem Namen ind.
Und ein neuer Operator: self bedeutet, dass die Aktion an sich selbst geht
Keine Angst, im Step-Event ist noch etwas übrig:

200?"200px=""+(this.scrollHeight+5)+"px");">if distance_to_point(gox,goy) > 20
{
mp_potential_step(gox,goy,6,solid);
}
if(selected=true) && mouse_check_button_pressed(mb_right)
{
gox=mouse_x;
goy=mouse_y;

Heutzutage kann man leicht viele Handelsstrategien finden, das einzige Problem ist, dass die meisten davon entweder nicht funktionieren oder nicht effektiv genug sind. In einer solchen Situation ist die Erstellung einer Strategie von Grund auf eine hervorragende Lösung des Problems.

Und obwohl die Erstellung eines Fahrzeugs in jeder spezifischen Situation unterschiedlich sein wird, bleiben die Hauptschritte dieselben. Das heißt, Sie können so etwas wie einen universellen Leitfaden erstellen, indem Sie nacheinander alle Phasen durchlaufen, und am Ende erhalten wir ein vollständig funktionsfähiges System.

Obwohl wir die Möglichkeit in Betracht ziehen, eine Strategie von Grund auf zu erstellen, beginnend mit einer Idee, endend mit der Einführung eines Filters und der endgültigen Entwicklung des Fahrzeugs, bedeutet dies nicht, dass alle vorgefertigten Systeme sofort als offensichtlich wirkungslos verworfen werden sollten . Als Basis kann man mehrere TS nutzen und einfach ein paar Filter hinzufügen, um Fehlsignale auszusortieren.

Hauptphasen bei der Erstellung einer Strategie

Wenn Sie zufällig 5-7 Indikatoren nehmen und versuchen, daraus ein funktionierendes Fahrzeug zu bauen, ist es unwahrscheinlich, dass etwas Nützliches dabei herauskommt. Zuerst müssen Sie die Grundidee der Strategie durchdenken und erst dann mit der Auswahl der Tools fortfahren. Folgende Handlungsabfolge kann vorgeschlagen werden:

  • Wenn das System von Grund auf neu erstellt wird, besteht der erste Schritt darin, an der Idee zu arbeiten. In dieser Phase müssen Sie nur noch entscheiden, wie Ihr Handelsstil aussehen soll, z. B. ob Transaktionen entlang oder gegen den Trend ausgeführt werden sollen, oder ob die Strategie ausschließlich auf den Ausbruch ausgerichtet ist. Wir denken noch nicht über Einzelheiten nach;
  • Nachdem Sie den geeigneten Handelsstil ausgewählt haben, können Sie mit der Ausarbeitung der Details beginnen. Bevor Sie Instrumente auswählen, müssen Sie die funktionierenden Währungspaare und Zeitrahmen, Handelszeiten usw. klar bestimmen;

Wichtig! Bei der Wahl eines Zeitrahmens ist es nicht ratsam, zu klein zu gehen, insbesondere wenn der Händler keine Erfahrung mit der Spekulation auf kleine Zeitintervalle hat. Für Anfänger ist es im Allgemeinen besser, H1-H4 nicht zu unterschreiten; Sie können mehr über die Wahl des optimalen Zeitintervalls lesen.

  • Der nächste Schritt ist die Auswahl geeigneter Instrumente, und hier kann die Fülle der Auswahl für den Händler ein grausamer Scherz sein, da ihm Dutzende von Indikatoren zur Verfügung stehen und er die Möglichkeit hat, Candlestick-, Wellen-, technische und fundamentale Analysen zu verwenden. Aus all dieser Vielfalt müssen Sie mehrere Instrumente auswählen, die am besten zu Ihrem beabsichtigten Handelsstil passen;
  • Eine der Hauptregeln jeder Strategie besteht darin, dass das empfangene Signal durch mehrere Filter bestätigt werden muss, es ist jedoch ratsam, deren Anzahl zu begrenzen. Bei Indikatorstrategien ist es beispielsweise unerwünscht, dass die Anzahl der Indikatoren 3-4 überschreitet, da es sonst zu Verwirrung in den Signalen kommt und wenn Sie planen, mit technischer Analyse zu arbeiten, spielen die Indikatoren eine unterstützende Rolle;
  • Regeln zur Positionsunterstützung werden entwickelt, das Ergebnis sollte ein Aktionsalgorithmus für jedes Szenario sein;
  • Der letzte Schritt besteht darin, das Fahrzeug zunächst auf einem historischen Konto und dann auf einem Demokonto oder noch besser auf einem Echtgeldkonto laufen zu lassen. Das Hauptziel besteht darin, die Durchführbarkeit der Strategie unter realen Bedingungen zu testen, und ein echtes Konto (sogar ein Cent) ermöglicht es Ihnen, die gesamte Bandbreite an Emotionen zu spüren, von Euphorie bis zur Bitterkeit von Verlusten.

Sie können auch dazu raten, sich nicht auf die Komplexität des Fahrzeugs einzulassen. Die Praxis zeigt, dass übermäßige Komplexität keineswegs ein Indikator für Wirksamkeit ist. Je einfacher das System, desto einfacher ist der Handel.

Was sollte im Fahrzeug enthalten sein?

Eine Strategie zu erstellen ist ein bisschen wie ein Baukasten; man muss nur die richtigen Teile auswählen. Beim Erstellen eines Fahrzeugs können und sollten Sie Folgendes verwenden:

  • Indikatoren. Darüber hinaus sollte man weder ihrer Anzahl noch übermäßiger Komplexität hinterherjagen; selbst bei vollmechanischen Fahrzeugen reichen 3-5 Stück;
  • grafische Muster – bekannte Flaggen, Wimpel, Dreiecke, Kopf und Schultern, doppelte Unter- und Oberteile funktionieren immer noch gut;
  • grafische Konstruktionen;
  • Fibo-Werte;
  • Elemente der Fundamentalanalyse – jetzt ist es schwierig, allein mit Nachrichten Geld zu verdienen, aber es ist notwendig, den Wirtschaftskalender beim Handel zu berücksichtigen. Bringen Sie die Transaktionen zumindest einfach in die Gewinnschwelle, bevor wichtige Statistiken für die USA oder Europa veröffentlicht werden, oder schließen Sie den Gewinn sogar vollständig ab.

Es gibt auch eine Reihe von Techniken, deren Nutzen fraglich ist:

  • Martingale ist zunächst eine unrentable Taktik. Die einzige Erfolgschance besteht darin, dass Sie vor dem Verlust den Einzahlungsbetrag zurückerhalten und etwas verdienen können.

  • Es ist auch unerwünscht, ein Schloss zu verwenden, es sei denn, es ist absolut notwendig; dann ist es ziemlich schwierig, das Schloss zu verlassen;
  • Es ist auch besser, keine Signale von außen zu nutzen. Signale von außen bedeuten beispielsweise einen Vergleich der Anzahl der Verkäufer/Käufer, verschiedene Stimmungsindizes der Mehrheit der Händler usw. Es gibt aber auch eine Reihe von Ressourcen, die Sie anhören können, beispielsweise Autochartist gibt gute Signale basierend auf grafischen Mustern;
  • Auch auf Elemente der Wellenanalyse sollte besser verzichtet werden (zumindest für Anfänger). Zwar gibt es hier Ausnahmen, zum Beispiel basiert der Handel auf Wolfe Waves genau auf der Wellenanalyse, ist aber nicht besonders komplex.

Entwicklung einer einfachen Indikatorstrategie

Nehmen wir an, dass die Grundidee der Strategie darin besteht, ausschließlich in Trendrichtung zu handeln. Darüber hinaus werden Sie nicht im Moment des Aufkommens eines Trends in den Markt einsteigen, was ziemlich riskant ist, sondern nach Abschluss einer kleinen Korrektur.

Die Strategie sollte bei fast jedem Währungspaar funktionieren; dies ist notwendig, da Signale aufgrund des großen Zeitrahmens nicht sehr oft auftreten. Daher wird die Situation anhand von 5-7 Währungspaaren gleichzeitig beurteilt. Was den Zeitrahmen betrifft, ist D1 geeignet; wir gehen davon aus, dass Forex in der Anfangsphase nur eine Ergänzung zur Hauptarbeit ist, deshalb werden wir mit täglichen Kerzen handeln.

Jetzt müssen Sie entscheiden, wie genau der Zeitpunkt des Eintritts bestimmt wird. Es gibt viele Möglichkeiten, einen Trend zu erkennen:

  • visuell – aber durch bloßes Hinsehen können Sie keine klaren Handelsregeln entwickeln;
  • Verwendung eines oder mehrerer gleitender Durchschnitte;
  • Je nach Wert des ADX-Indikators liegt bei mehr als 30 ein starker Trend vor, bei weniger als 20 ist der Markt ruhig;
  • Verwendung grafischer Konstruktionen;
  • Mit Bollinger-Bändern können Sie die Stärke eines Trends anhand des Abstands zwischen der oberen und unteren Grenze des Kanals beurteilen.

Im Allgemeinen gibt es viele Möglichkeiten, aber da die Strategie so einfach wie möglich sein muss, konzentrieren wir uns auf gleitende Durchschnitte. Oder besser gesagt, bei einem MA beurteilen wir die Richtung des Trends anhand der Position des Preises im Verhältnis dazu. Sie können mit Zeiträumen beginnen, die den Preis über einen gesamten Zeitraum (Woche, Monat, Quartal usw.) mitteln. Beispiel: 20 ergibt den Durchschnitt des Preises über den letzten Monat. Am schwierigsten ist es, den passenden MA-Zeitraum auszuwählen, aber hier müssen Sie durch Ausprobieren vorgehen.

Die Hauptidee des Handels wird folgende sein: Wir warten darauf, dass die Trendbewegung auftritt, dann folgt innerhalb eines Tages eine Korrektur, nach deren Ende ein Geschäft abgeschlossen wird. Stellt man das alles in Form klarer Regeln dar, dann sieht der Handlungsalgorithmus so aus (am Beispiel von Käufen):

  • Zuerst überprüfen wir die Preisposition relativ zum MA. Der Preis sollte über der Linie liegen.
  • Als nächstes müssen wir eine Trendbewegung finden, wir brauchen eine Kerze mit einem großen Körper und kleinen Schatten (es ist ratsam, dass der Wert des Schattens 10-15 % der Größe des Kerzenkörpers nicht überschreitet);
  • Darauf sollte eine Kerze mit einer kleinen Tagesspanne (Abstand vom Hoch zum Schluss) folgen. Der Schlusskurs sollte nicht das Niveau von 50 % des Vortages erreichen – an diesem Tag erfolgt die Preiskorrektur.

In diesem Fall kann die Korrektur nach zwei Szenarien erfolgen:

  • Wenn sich eine Kerze mit einem langen Schatten darunter bildet, können Sie am Ende des Tages sofort einen Handel eröffnen. Diese Form der Kerze zeigt an, dass die Korrektur bereits abgeschlossen ist;
  • Eine mögliche Option ist, wenn die Korrekturkerze bei einem Minimum schließt, d. h. der Rollback ist noch nicht abgeschlossen, in diesem Fall müssen Sie warten, bis die nächste Kerze schließt; wenn sie weiß ist, können Sie eine Long-Position eröffnen.

Um die Position aufrechtzuerhalten und Schutzaufträge zu erfüllen, sollte der Stop-Loss mit einem großen Körper mindestens über die Mitte der Kerze hinaus platziert werden. Um das Zielniveau zu erreichen, reicht es aus, den Wert derselben Kerze vom Kaufniveau beiseite zu legen; Sie können einen Trailing Stop verwenden.

Die Regeln der Strategie stehen fest, es bleibt nur noch, sie in der Praxis zu testen. Die Praxis zeigt, dass selbst ein so einfacher Algorithmus mehr als die Hälfte der profitablen Trades produziert (und wenn man den Trade frühzeitig auf Null setzt, sinkt die Wahrscheinlichkeit eines Verlusts).

Einstieg am Anfang des Trends

Der oben vorgeschlagene TS verfehlt einen Teil der Trendbewegung, benötigt aber nicht viel Zeit für die Marktanalyse. Wenn es möglich ist, das Verhalten des Tagespreises zu überwachen, können Sie versuchen, den Trend gleich zu Beginn seiner Entstehung zu nutzen. Die Hauptidee der Strategie besteht also darin, in den Markt einzusteigen, nachdem der Preis beginnt, den horizontalen Kanal zu verlassen.

Und hier ist es sehr wichtig, rechtzeitig, gleich zu Beginn des Trends, ein zuverlässiges Signal zu erhalten. Auch hier können gleitende Durchschnitte Abhilfe schaffen, allerdings werden sie etwas anders eingesetzt als in der vorherigen Strategie. Sie können mehrere MAs mit unterschiedlichen Perioden nehmen und die Entstehung eines Trends anhand ihrer relativen Lage zueinander beurteilen.

Dies ist kein revolutionärer Ansatz; Bill Williams hat in seinem berühmten Alligator etwas Ähnliches verwendet. Daher kann dieser Indikator sogar als Grundlage für den TS herangezogen werden.

Wenn wir Alligator mit Standardeinstellungen zu H1 hinzufügen, sehen wir, dass es viele falsche Signale gibt; unsere Aufgabe ist es, sie auszusortieren. Zu diesem Zweck betreten wir den Markt mit einer ausstehenden Order und bestimmen die Höhe der Platzierung mithilfe von Fraktalen.

Im Ergebnis sieht der Arbeitsablauf wie folgt aus (am Beispiel Einkäufe):

  • Wir suchen nach einem flachen Bereich auf der Karte (alle Alligatorlinien sind chaotisch miteinander verflochten);
  • Als nächstes benötigen Sie eine fraktale Kerze (und diese sollte sich über den Linien befinden, ohne sie auch nur mit dem unteren Schatten zu berühren);
  • eine Kauf-Stopp-Order wird knapp über ihrem Maximum platziert und eine Schutzorder wird hinter der unteren Grenze der Konsolidierungszone platziert;
  • TP ist entweder fest (50–70 Pence) oder es wird ein Trailing Stop verwendet. Im Allgemeinen ist es ziemlich schwierig, die Stärke einer Trendbewegung vorherzusagen, daher ist es besser, einen Trailing Stop als einen festen TP zu verwenden oder das Zielniveau mithilfe derselben technischen Analyse zu bestimmen.

In diesem Beispiel geht es nicht darum, eine Strategie von Grund auf zu entwickeln, sondern vielmehr um eine leichte Anpassung einer bereits bekannten Strategie an den modernen Markt.

Beispiel eines einfachen kombinierten Systems

Die Idee ist immer noch dieselbe – Eintrag am Ende der Korrektur, aber wir werden dieses Problem auf andere Weise lösen. Das Ziel bleibt dasselbe – den Zeitpunkt des Abschlusses der Korrektur zu bestimmen und in die Trendrichtung einzusteigen. Wenn wir jedoch früher den gleitenden Durchschnitt verwendet haben, werden wir jetzt die Fibo-Niveaus und den Oszillator verwenden, um den Abschluss des Rollbacks zu bestimmen.

Uns interessiert eine ausgeprägte Trendbewegung; diese lässt sich auch visuell feststellen. Danach müssen Sie nur noch die Fibo-Werte entsprechend strecken. Dies ist notwendig, um die potenziellen Werte für den Abschluss der Korrektur zu bestimmen. Das bedeutendste Korrekturniveau liegt bei 38,2 %; es ist erlaubt, bei Rebounds von 50 % und 61,8 % zu handeln.

Aber die Tatsache, dass der Preis das Fibo-Niveau erreicht, reicht nicht aus; es bedarf einer Bestätigung. Stochastic kann diese Aufgabe recht gut bewältigen (Sie können versuchen, RSI für denselben Zweck zu verwenden). Beispielsweise muss für eine Kauftransaktion der Preis nahe am Korrekturniveau liegen und die Stochastik muss sich zu diesem Zeitpunkt im überverkauften Bereich befinden.

Nachdem der Preis das Niveau erreicht hat, warten wir, bis der Stochastic die überverkaufte Zone verlässt und kauft. Der Stop kann jenseits des nächsten Korrekturniveaus platziert werden, und der TP kann mindestens auf dem aktuellen Hoch vor Beginn des Pullbacks platziert werden.

Fibo-Pegel und ein Oszillator sind lediglich das Minimum, das zum Empfang eines Signals erforderlich ist. Bei Bedarf können Sie das System durch die Einführung zusätzlicher Filter verkomplizieren.

Strategien basierend auf technischer Analyse

Wenn die technische Analyse in reiner Form verwendet wird, wird die Aufgabe etwas einfacher; es ist nicht mehr notwendig, ein Fahrzeug von Grund auf zu entwickeln. Es gibt eine Reihe von Techniken und Werkzeugen, deren Wirksamkeit im Laufe der Jahre getestet wurde, und der Händler kann nur die geeigneten auswählen und sie im Bauwesen einsetzen.
Grundsätzlich reicht es für einen erfolgreichen Handel:

  • Trendlinien – wir bauen sie auf unterschiedlichen Zeitrahmen auf, beginnend mit der höchsten Linie und allmählich absteigend zur Arbeitslinie;
  • Fibonacci-Niveaus sollten auf signifikante Preisbewegungen in der Geschichte ausgedehnt werden. Korrekturwerte von 38,2, 50 und 61,8 % werden von entscheidender Bedeutung sein; die Praxis zeigt, dass die Korrektur am häufigsten bei diesen Werten endet;
  • MT4 implementiert auch eine Reihe anderer technischer Analysetools, zum Beispiel Andrews Pitchforks, eine Reihe von Gann-Tools, verschiedene Arten von Kanälen usw.

Aber für eine ziemlich genaue Prognose reichen Fibo-Niveaus und Trendlinien aus; Bereiche mit Konzentrationen von Niveaus und Linien fungieren normalerweise als Unterstützung/Widerstand. Der Handel kann sowohl für einen Ausbruch als auch für eine Erholung von Niveaus und Linien durchgeführt werden.

Als zusätzliche Filter können Sie Candlestick-Muster und eine Art Indikator hinzufügen, um nach Divergenzen zu suchen (derselbe Stochastic oder MACD). Erfahren Sie mehr über den Einsatz technischer Analysen.

Filter für Handelssysteme

Jedes Handelsinstrument erzeugt viele Signale und einige davon sind unrentabel, selbst wenn die Idee funktioniert und der Handel im Allgemeinen profitabel ist. Nachdem die Systemregeln erstellt wurden, können Sie eine Reihe universeller Filter verwenden, die dazu beitragen, das Verhältnis von profitablen/unrentablen Transaktionen zu verbessern.

Es gibt eine Reihe von Filtern, die für fast jede Strategie geeignet sind:

  • Situation auf höheren Zeitrahmen. Wenn beispielsweise die Strategie auf H1 nach einer mechanischen Strategie ausgeführt wird, dann wäre es nicht verkehrt, zu betrachten, was auf H4 und D1 passiert;
  • Durchschnittliche Tagesspanne, d. h. die Entfernung, die der Preis durchschnittlich pro Tag zurücklegt; beim Intraday-Handel hilft dies dabei, eine Reihe von Signalen zu filtern. Stellen wir uns vor, dass sich der Preis tagsüber im Durchschnitt um 100-120 Pips bewegt, wenn der Preis an einem der Tage am Abend bereits 90-100 Pips in eine Richtung überschritten hat und der TS ein Signal zum Markteintritt gibt Wenn der Verkehr in die gleiche Richtung fährt, ist es sinnvoll, ihn zu ignorieren. Laut Statistiken ist es unwahrscheinlich, dass der Verkehr an diesem Tag anhält.

Wichtig! Die Einhaltung dieser Regel führt dazu, dass einige profitable Trades verpasst werden, aber das Verhältnis von profitablen/verlustbringenden Trades wird steigen.

  • Auch die Anzahl der Kerzen nach der Signalbildung ist wichtig; es gibt sogar einen Filter von 5 Kerzen, auf den wir näher eingehen werden.

Wenn der TS ein Signal gibt, sollte sich die Situation im Idealfall fast unmittelbar nach Abschluss der Transaktion (d. h. bei den nächsten 1-3 Kerzen) zu unseren Gunsten entwickeln. Geschieht dies nicht, werden die Faktoren, die zum Zeitpunkt des Markteintritts des Händlers von Bedeutung waren, umso weniger Einfluss auf den Markt haben, je mehr Zeit seit dem Abschluss der Transaktion vergangen ist. Ihr Einfluss schwindet mit der Zeit.

Als Kriterium können Sie 5 Kerzen nehmen; wenn sich der Preis nach Abschluss eines Geschäfts für 5 Kerzen nicht in eine profitable Richtung bewegt hat, ist es besser, das Geschäft manuell abzuschließen. Dies bedeutet ein Szenario, in dem das Diagramm an Ort und Stelle bleibt, der Preis jedoch auf die unrentable Seite tendiert, dann wird dieser Filter nicht angewendet.

Diese Bedingung gilt für fast alle Zeitrahmen (mit Ausnahme von m1-m5). Natürlich besteht immer noch die Möglichkeit, dass sich der Preis, nachdem er sich um eine Marke bewegt hat, in die richtige Richtung bewegt, aber unsere Wahl ist Stabilität. Es ist besser, ein paar profitable Trades zu opfern, aber 3-5 unrentable zu vermeiden.

Zusammenfassend

Ohne ein Handelssystem zu arbeiten ist wie der Tod, daran sollte sich jeder Händler erinnern. In diesem Fall ist der Verlust der Kaution nur eine Frage der Zeit.

Die Auswahl eines geeigneten Fahrzeugs ist nicht schwierig, außerdem finden Sie gut funktionierende Systeme im öffentlichen Bereich. Sie können sich auch um die Erstellung einer eigenen Strategie kümmern, zumal hierfür keine Kenntnisse in Programmiersprachen erforderlich sind. Sie müssen lediglich eine Vorstellung und zumindest Grundkenntnisse darüber haben, wie der Markt funktioniert und welche Indikatoren für welche Zwecke verwendet werden.

Der Prozess selbst ähnelt dem Zusammenbau eines Baukastens: Zuerst legen wir ein Problem fest und wählen dann einfach die notwendigen Werkzeuge aus, um es zu lösen. Nach Überprüfung des Verlaufs können Sie mit dem TS-Test auf einem Demo- oder Cent-Konto fortfahren.

In diesem Artikel werde ich wahrscheinlich nichts Unbekanntes ansprechen. Alle Berechnungen sind einfach und für jeden verständlich, der weiß, was Ajax ist. Ich habe bereits einen Artikel darüber geschrieben, wie man einen Client mit einem Server in Echtzeitspielen kombiniert (). In diesem Artikel gehe ich auf die gleichen Probleme ein, die auch für rundenbasierte Spiele gelten.

Also was ist rundenbasiertes Spiel? Die folgende Definition finden Sie auf Wikipedia rundenbasierte Strategie - ist ein Genre von Computerspielen, dessen Hauptmerkmal darin besteht, dass die Spieler abwechselnd Züge ausführen, im Gegensatz zur Echtzeitstrategie. Ich würde diese Definition etwas vereinfachen:

  • Schritt-für-Schritt-Strategie - ist ein rundenbasiertes Strategiespiel.
  • Strategiespiel - Hierbei handelt es sich um ein Spielgenre, bei dem Planung und strategisches Denken der Schlüssel zum Sieg sind..
  • Rundenbasiertes Spiel - ist ein Spielgenre, dessen Hauptmerkmal darin besteht, dass die Spieler abwechselnd Züge ausführen.
Zu den rundenbasierten Spielen gehören:
  • Rundenbasierte Strategien
  • Kartenspiele
  • Brettspiele (Schach, Go, Monopoly usw.)
Ich stelle fest, dass rundenbasierte Spiele im Vergleich zu Echtzeitspielen weniger Einschränkungen hinsichtlich der Komplexität des Interaktionsprotokolls mit sich bringen. Nämlich, Die Reaktionszeit auf ein bestimmtes Ereignis spielt keine entscheidende Rolle. Der Spieler hat normalerweise 10 Sekunden Zeit, um eine Entscheidung zu treffen. Selbst wenn der Ping gigantisch ist, sagen wir 3 Sekunden, hat der Spieler immer noch 7 Sekunden Zeit zum Nachdenken. Darüber hinaus kann der Ping immer weiter springen, aber das interessiert uns überhaupt nicht (in Echtzeitspielen tötet diese Situation praktisch jedes Protokoll).

Typischerweise (in 95 % der rundenbasierten Spiele) trifft zu jedem Zeitpunkt genau ein Spieler die Entscheidung. Dadurch verringert sich die Zahl der Anfragen, auf die wir angemessen reagieren müssen.

Daher konzentrieren wir uns bei der Erstellung eines Protokolls in erster Linie auf die einfache Implementierung und Unterstützung. Dadurch können wir in kürzerer Zeit mehr Gewinn erzielen.

Die obige Argumentation basiert auf der zweimonatigen Entwicklung eines bestimmten Kartenspiels.

Kluger oder dummer Kunde?

Lassen Sie uns zunächst entscheiden, wie „intelligent“ unser Kunde sein kann. Ich überlege, ob es sich lohnt, die Anwendungslogik (Spielregeln) auf dem Client zu duplizieren. Natürlich muss der Server intelligent sein, um potenzielle Hackerangriffe auf die Anwendung zu verhindern. Aber lohnt es sich, dem Kunden Geschäftslogik beizubringen?

Dies hängt direkt davon ab, wie viel die gesamte Datenmenge über den Status Ihres Spiels wiegt. Wenn diese Datenmenge groß ist, lange dauert, bis sie auf dem Server gesammelt und an den Client übertragen wird, dann ist es sinnvoll, einen Teil der Logik auf dem Client zu implementieren, um den Server zu entlasten. Beispielsweise liegt in Civilization die Speichernutzungsanzeige immer außerhalb der Charts. Können Sie etwas Ähnliches erstellen und nur die Benutzeroberfläche auf dem Client belassen?

Andererseits gilt: Je intelligenter der Client, desto teurer wird die Spieleentwicklung. Ich möchte darauf hinweisen, dass die Serverentwicklungszeit in keiner Weise von der Gelehrsamkeit des Kunden abhängt. Auch wenn der Client super-super-mega-intelligent ist: Wenn der Benutzer das Browserfenster neu laden möchte, muss der Server alle Daten über das Spiel sammeln und zusammenstellen, um sie an den Client zu übertragen. A la „Laden eines gespeicherten Spiels“. Fazit: Ein intelligenter Client kann eine Anwendung beschleunigen, erfordert jedoch immer zusätzliche Ressourcen für die Entwicklung der Anwendung.

Ich schlage Folgendes vor prüfen:

1. Erlaubt die Kanallautstärke?

Schätzen Sie das durchschnittliche Gewicht der gesamten Menge an Spielstatusdaten. Als nächstes multiplizieren Sie mit der durchschnittlichen Anzahl der Anfragen an den Server pro Sekunde. Wenn die resultierende Zahl die Kapazität des ausgehenden Datenkanals überschreitet, ist der dumme Client inakzeptabel. Wenn diese Zahl 20 % des ausgehenden Kanals überschreitet, sollten Sie darüber nachdenken, ob das funktioniert?

2. Ist es arbeitsintensiv?

Schätzen Sie die Komplexität des Spieldatenerfassungsalgorithmus (in Sekundenbruchteilen). Berücksichtigen Sie dabei alle Anfragen an die Datenbank. Als nächstes multiplizieren Sie mit der durchschnittlichen Anzahl der Anfragen an den Server pro Sekunde. Wenn die Zeit eine Sekunde überschreitet, ist ein dummer Client inakzeptabel. Wenn diese Zahl 200 ms übersteigt, sollten Sie darüber nachdenken, ob sie anhält?

Fortsetzung:

Freizeitpark:
Wir benötigen:
Gebäude-Sprite
Sprite-Menü
SPRITES VERSCHIEDENER TASTEN WIE:
Srite mit der Inschrift (Konstruktion, Konstruktion, bauen usw.)
ein Fenster, das erscheint
Bauzeichnung,
1) Den Rest fügen wir selbst hinzu
2) das Wort Fälschung – von mir selbst erstellt, weil wir müssen es fälschen, damit es mit unserer Quelle übereinstimmt)
Fangen wir an:
1) Erstellen Sie alles, was in Punkt I geschrieben steht, außer 1)
Lassen Sie uns eine globale Variable namens „Geld“ erstellen und einen beliebigen anfänglichen Geldbetrag festlegen
Wir werden auch ein Maus- und Tastaturobjekt erstellen
Lassen Sie uns einen Text erstellen, ihn Info nennen, ein Always-Ereignis erstellen und darin eine Aktion erstellen:
Wählen Sie Informationen in der Aktionsauswahl aus. Wählen Sie Text im Text festlegen aus. Schreiben Sie Folgendes:
"Geld: " &(global("Geld".
2) Fügen Sie ein Menü hinzu. Die Hauptaufgabe des Menüs besteht nicht darin, einzugreifen, sondern dem Spieler bei der Navigation zu helfen (wie kann es eingreifen? - es ist einfach, wenn Sie es mitten im Spiel platzieren); bevor wir das Menü erstellen, wir Wir erstellen eine neue Ebene, die wir Menü nennen, und schreiben in ihren Proportionen (Einstellungen, Optionen) in das Anzeigeelement:


Wir werden ein Sprite hinzufügen und das Bild des Menüs, das in den Vorproduktionsmaterialien enthalten war (Punkt I), aufnehmen und unser Menü an einem abgelegenen Ort platzieren, wo es nicht stört, aber auf dem Bildschirm sichtbar ist
Platzieren wir auch einen Knopf aus Vorveredelungsmaterialien (Punkt I) mit der Aufschrift BUILD (oder so ähnlich)
Lass es uns auf die Speisekarte setzen
Gehen Sie nun zum Ereignisblatt-Editor
Erstellen Sie ein Ereignis (#blah bla bla# - das ist meine Nachricht (Erklärung) nur an Sie, statt bla bla bla wird es meinen Kommentar für Sie geben; >> - Aktion; ll - Aufteilung der Fenster zum Beispiel:

Maus&Tastatur ll auf Objekt angeklickt ll linksgeklickt auf Objekt #Ihre Menüschaltfläche mit der Aufschrift BUILD (oder so ähnlich)##der Rest später (siehe Punkt 3)#
3)jetzt der schwierigste Teil(Ich habe dies in zwei Punkte unterteilt, damit es nicht so kompliziert wird.)
Erstellen Sie aus vorgefertigten Materialien ein Sprite „ein Fenster, das erscheint“
Dann erstellen wir ein leeres Sprite namens p1, verschieben das Fenster vom Bildschirm und platzieren p1 an der Stelle, an der Ihr Fenster erscheinen soll, wenn Sie auf die Schaltfläche „Erstellen“ klicken (oder so etwas wie CHVER).
Großartig! Gehen Sie jetzt zum Ereignisblatt-Editor
Schreiben wir das unvollendete Ereignis bis zum Ende auf:
Text werde Text setzen bla-bla-bla)
Maus&Tastatur ll auf Objekt angeklickt ll linksgeklickt auf Objekt #Ihre Menüschaltfläche mit der Bezeichnung BUILD (oder so ähnlich)#>>
4)Der zweite Teil des schwierigsten Teils:
Lassen Sie uns ein Sprite erstellen, in dem das Bild des Gebäudes (Vorbereitungsmaterialien) gezeichnet wird. Nennen wir es h1
Erstellen wir ein leeres Sprite, nennen es p2 und platzieren es nun an der Stelle, an der sich das Fenster öffnen soll.
Lassen Sie uns ein Sprite erstellen, auch ein Fenster (Vorbereitungsmaterialien). In das Fenster schreiben wir schön den Namen des Gebäudes, seine Kosten und eine Beschreibung (optional) und nennen es i1
Erstellen wir ein weiteres leeres Sprite namens p3 und platzieren es neben p2, nur so, dass es p2 nur mit der oberen linken Ecke berührt
Lassen Sie uns nun mehrere Ereignisse erstellen, aber zuerst machen wir das vorherige Ereignis zu einer neuen Aktion:
Maus&Tastatur ll auf Objekt angeklickt ll linksgeklickt auf Objekt #die Schaltfläche Ihres Menüs mit der Aufschrift BUILD (oder so ähnlich)#>> System erstellt Objekt relativ zu Objekt ll #Ihr Fenster# #Ebenennummer unter dem Namen Menü# # X ;Y-nicht ändern# in Objekt p1
>>System erstellt Objekt relativ zu Objekt II #Ihr zweites Fenster# #Ebenennummer unter dem Namensmenü# #X;Y-nicht ändern# in Objekt p2
Wir müssen ihm auch ein Ereignis zurückgeben:
Kopieren Sie das Ereignis und invertieren Sie es
neues Event
Maus&Tastatur ll ist über Objekt ll h1>>System ll erstellt Objekt relativ zu Objekt ll i1 #Ebenennummer unter dem Namen Menü# #X;Y-nicht ändern# in Objekt p3
Lassen Sie uns ein Sprite mit einem Gebäude erstellen (verwenden Sie Vorproduktionsmaterialien) und nennen Sie es Haus
Erstellen wir ein Fenster, in dem unsere Gebäude erscheinen, wenn sie im Menü ausgewählt werden. Nennen wir es rlo
Veranstaltungen:
Maus&Tastatur ll auf Objekt geklickt ll links geklickt, um h1>>System ll zum Objekt relativ zum Objekt ll erstellen #Ebenennummer unter dem Namen Menü# #X;Y-nicht ändern# in Objekt rlo
>> System wird vom Wert ll abgezogen #Geldbetrag, der beim Bau abgezogen werden sollte#
Jetzt war es unmöglich, eine Veranstaltung aufzubauen
Ich erzähle Ihnen meine frühere Methode des Verbots (wenn ich mit dem Schreiben fertig bin, werde ich eine andere Methode erkunden, die mich blau gemacht hat, als ich mich an die Welt des Spiele-Themenparks erinnerte)
Veranstaltungen:
Haus ll bei Kollision mit einem anderen Objekt ll zu Haus
>>Haus werde zerstören
>> System ll vom Wert ll abziehen – #doppelt den Geldbetrag, der während des Baus abgezogen wurde##Hinweis, den Sie eingeben müssen – Menge#
im Grunde alles.
III was ich sagen möchte:

Ich war sehr verärgert über den Zusammenbruch meines Spiels. Es war ein Strategiespiel, und dieser Artikel wurde nach seinem Schema zusammengestellt. Ich bitte Sie, nicht zu viel zu kritisieren, ich habe lange geschrieben, wenn Sie Sprachfehler finden, schreibe und ich werde sie korrigieren
Und hier ist auch der Quellcode für Ihr Sehvergnügen, schauen Sie, im Prinzip ist alles so, wie es hier geschrieben steht, nur dass dies eine Demoversion des Spiels war. Hauptsache, Sie ändern nichts, sonst wird es fehlerhaft !
Nutze es, experimentiere, prüfe es, mache, was du willst, für mich ist alles in Ordnung

KaMiKaZa:
Alle „System“-Ausdrücke müssen im „Code“-Tag enthalten sein.
Dann denke ich, dass es besser sein wird.
Außerdem scheint es mir, dass Screenshots hier nicht schaden würden. Und auch der Quellcode, für Anfänger.

Freizeitpark:
Ich weiß nicht, wie man Screenshots von Ereignissen macht.

Nun, das ist nicht nötig.

iamnp:
theme_park gibt es eine spezielle Schaltfläche auf der Tastatur – PrintScreen

Freizeitpark:
Ich weiß, dass manche Leute es einfach anders machen. Außerdem hat jeder sein eigenes Sprite
Und wenn ich all diese Sprites aufstelle, werden es nur wenige Leute verstehen.
Nun, vielleicht gibt jemand ein Plus? Kein Wunder, dass ich Probleme hatte?

Burlachenko:
Damit eine solche Lektion für jeden interessant ist, muss sie entsprechend formatiert werden, aber hier „so war es jedenfalls.“
Und doch, wenn Sie möchten, „verschönern“ Sie es bitte nach und nach, wenn Sie Zeit haben.

Freizeitpark:
Ok, ich komme von der Schule nach Hause und mache mich fertig.
PS. hinzugefügte Quelle

Serega Lebedew:

iamnp, wohin gehen diese Screenshots später?

KaMiKaZa:

Zur Zwischenablage.
Gehen Sie zu einem beliebigen Texteditor und führen Sie den Vorgang „Einfügen“ aus oder drücken Sie Strg+V.

Ich halte Ihr Unternehmen für eines der stärksten auf dem Beratungsdienstleistungsmarkt in unserem Land. Mir gefällt, dass Sie ein breites Spektrum an Managementproblemen ansprechen und diese mit ausreichender Qualität und Tiefe abdecken. Ich finde in den Veröffentlichungen Ihres Unternehmens viele nützliche Informationen, da es immer interessant ist, die Erfahrungen von Fachleuten kennenzulernen und von ihnen zu lernen.

Borisyuk Yuri Aleksandrovich, Unternehmensberater, Doktor der technischen Wissenschaften

Mir gefällt die Reihe der Meisterkurse, die Sie unterrichten, sehr gut. Persönlich, da ich zuvor Leiter einer Fabrik war, begann ich, meine Managementansätze zu ändern, u. a. Dank der von Ihnen erhaltenen Informationen. Sie reagierte irgendwie auf das, was ich in der Fabrik tat und beobachtete. Seitdem begann ich darüber nachzudenken, wie ineffektiv die industriellen Fähigkeiten Russlands sind, wie enorm das Potenzial ist und wie dieses ausgeschöpft werden kann. Nachdem ich mich persönlich mit den Problemen verschiedener Unternehmen vertraut gemacht habe (manchmal werde ich von Freunden als Experte eingeladen), sehe ich, wie viel getan werden kann und wie sich sowohl die Effektivität als auch die Effizienz steigern lassen.

Dryagin Oleg Borisovich

Ja, ich mag deine Meisterkurse, eine sehr systematische Vorgehensweise, Sachkenntnis auf hohem Niveau und natürlich viel Praxiserfahrung in den behandelten Fragestellungen. Was mich anzieht, ist das Alexanders Professionalität und sein hohes Fachwissen in der Thematik ermöglichen es mir, bereits Bekanntes anders zu betrachten. Aus meiner Sicht ist das so Es ist sehr wichtig und notwendig, Dinge, die man kennt, aus einer neuen Perspektive zu betrachten, denn... Bei chirurgischen Eingriffen kommt es häufig vor, dass das Auge „verschwommen“ wird und man das Offensichtliche nicht mehr sieht.

Elena Fedash, Personalleiterin, ATB Corporation, Dnepropetrowsk.

Fortsetzung des Themas:
Smart-TV

Heute gibt es einen Testbericht zum schnellen Einrichten eines Tp-Link-Routers. Ich werde das Modell TL-WR841 als Beispiel verwenden, möchte aber sagen, dass andere auf die gleiche Weise konfiguriert werden ...