Weniger Code, mehr Action... einen EA schreiben - Seite 7

 
Maxim Kuznetsov:

Für welche Ishimock-Komponente möchten Sie eine Hülle haben? und vor allem, warum und welche Art von...
einfach nur plaudern? Sie können, warum nicht...

PS/ Haben Sie den Exxel gesehen? In der DataFrame-Ansicht werden die Ishimocks gleich aussehen... Genau wie alle anderen... Händler arbeiten eigentlich mit Tabellen. Ein Diagramm ist nur eine Teildarstellung (Ansicht) einer Übersichtstabelle. Daher sollten diese Daten wie Tabellen behandelt werden.
Was ist ein Programmobjekt aus der Sicht des Händlers? Es ist nichts. In seinem praktischen Leben gibt es so etwas nicht.

Richten Sie sich damit an Programmierer, auch an Anfänger, oder an jedermann?

 
Vladimir Simakov:

Ich habe das mit der Kontrolle der Öffnung dieser Aufträge geschrieben.

Das verstehe ich nicht. Haben Sie eine unvollständige Version veröffentlicht?

 
Vladimir Simakov:

Für allgemeine Denken, Beispiel für eine Wrapper-Klasse für Ichimoku, aber in mql4.

warum einfache Dinge so kompliziert machen? mt4 macht es einfach, Indikatoren zu verwenden, indem es eine einzige Zeile schreibt

Ich habe es immer so geschrieben:

#define  ind1(int bar_) ind1(inp_param1, int... , int bar_) 
double ind1(int param1, int... , int bar)

{
тут можно предобработку описать, если необходимо
return(iCustom(,,,,,, bar))
}

OnTick()
{
 if(ind1(1) > ind1(2)) BUY();
}

Bei diesem Ansatz benötigt OnTick() 15-20 Codezeilen, in denen Sie die gesamte Logik sehen und bei Änderungen schnell anpassen können - Bedingungen werden umgeschrieben oder Indikatoren werden hinzugefügt

imho, OOP haben Sie eine komplizierte Aufgabe von einem einfachen gemacht, müssen Sie TF-Umschaltung zu steuern, wenn die Objekte über Zeiger erstellt werden, unnötige Manipulation bei jedem Aufruf, erhöht Speicherverbrauch.... Warum?

 
Vladimir Simakov:

Richten Sie sich also an Programmierer, sogar an Anfänger, oder einfach an alle?

Ich mache das speziell für Anfänger.

Und für wen haben Sie den Kodex zitiert? Er wiederholt den Standardindikator vollständig und lässt nichts Neues zu; es ist wie ein altes Lied mit einer neuen Wendung. Mit neuen Entitäten, einer weiteren Klasse und einem weiteren Include.

Warum wurde der COD gemacht? Es kann zum Beispiel nicht auf S20 angewendet werden... physikalisch gesehen kann es nicht auf beliebige Ohlc angewendet werden. Und welche Klasse kann davon abgeleitet werden, wo kann man von dort aus wachsen?

 
fxsaber:

Das verstehe ich nicht. Haben Sie eine unvollständige Version veröffentlicht?

Sie haben also keine Kontrolle über das Öffnen/Schließen einer Bestellung, bei mir ist alles in Ordnung. Zumindest funktioniert es im Forex Club. Ich schrieb, dass ich heute CloseBy an die Bibliothek angeschlossen habe, es gibt noch ein Feedback zu verbessern. Ändert sich zum Beispiel das gleiche Ticket oder nicht? Der Forex Club nicht, aber andere? Das heißt, wir müssen die Kontrolle darüber implementieren, um die erforderlichen Klassenfelder zu ändern usw. Aber wenn das alles fertig ist und die Fehlerbehebung abgeschlossen ist, macht es richtig Spaß, zu schreiben.

 
Vladimir Simakov:

Sie haben also keine Kontrolle über das Öffnen/Schließen einer Bestellung, bei mir ist das völlig in Ordnung. Zumindest im Forex Club funktioniert es. Ich habe geschrieben, dass CloseBy heute auf einen Kratzer an der Bibliothek angebracht wurde, es gibt noch eine Rückmeldung zu erledigen und fertig zu werden. Ändert sich zum Beispiel das gleiche Ticket oder nicht? Der Forex Club nicht, aber andere? Das heißt, wir müssen die Kontrolle darüber implementieren, um die erforderlichen Klassenfelder zu ändern usw. Aber wenn das alles fertiggestellt und getestet ist, macht es richtig Spaß, es zu schreiben.

Ich wiederhole noch einmal, Ihr Code funktioniert nicht, der zweite Code funktioniert.

 
Maxim Kuznetsov:

Ich mache das speziell für Anfänger.

Aber für wen haben Sie den Code zitiert? Er wiederholt den Standardindikator vollständig und lässt nichts Neues zu; es ist ein altes Lied mit einer neuen Wendung. Mit neuen Entitäten, einer weiteren Klasse und einer weiteren Einlage.

Warum wurde der COD gemacht? Es kann zum Beispiel nicht auf S20 angewendet werden... physikalisch gesehen kann es nicht auf beliebige Ohlc angewendet werden. Und welche Klasse kann davon abgeleitet werden, wo kann man von dort aus wachsen?

Das ist nur der Bequemlichkeit halber.

Im Datensegment:

CIchimoku ind1(EURUSD,PERIOD_M5,5,10,15);

CIchimoku ind1(GBPUSD,0,10,25,30,2);

Als Ergebnis haben wir zwei Indikatoren, den ersten auf dem m5-Zeitrahmen, aber der zweite wird immer um +2 Zeitrahmen vom aktuellen Chart-Zeitrahmen verschoben.

 
fxsaber:

Noch einmal, Ihr Code funktioniert nicht, der zweite Code funktioniert.

 
Vladimir Simakov:
expert Test (EURUSD,M1) loaded successfully
'35286172': market buy 0.20 EURUSD
'35286172': accepted market buy 0.20 EURUSD
'35286172': market buy 0.20 EURUSD placed for execution
'35286172': order #2214667209 buy 0.20 / 0.20 EURUSD at market done in 172.415 ms
'35286172': market sell 0.10 EURUSD
'35286172': deal #2211904952 buy 0.20 EURUSD at 1.12941 done (based on order #2214667209)
'35286172': accepted market sell 0.10 EURUSD
'35286172': market sell 0.10 EURUSD placed for execution
'35286172': order #2214667210 sell 0.10 / 0.10 EURUSD at market done in 171.843 ms
'35286172': deal #2211904953 sell 0.10 EURUSD at 1.12936 done (based on order #2214667210)
expert Test (EURUSD,M1) removed

Es funktioniert nicht.


Und dies ist der zweite Code

script Test4 (EURUSD,M1) loaded successfully
'35286172': market sell 1.00 EURUSD
'35286172': accepted market sell 1.00 EURUSD
'35286172': market sell 1.00 EURUSD placed for execution
'35286172': order #2214667234 sell 1.00 / 1.00 EURUSD at market done in 174.294 ms
'35286172': deal #2211904975 sell 1.00 EURUSD at 1.12936 done (based on order #2214667234)
'35286172': market buy 1.00 EURUSD
'35286172': accepted market buy 1.00 EURUSD
'35286172': market buy 1.00 EURUSD placed for execution
'35286172': order #2214667235 buy 1.00 / 1.00 EURUSD at market done in 175.016 ms
'35286172': deal #2211904976 buy 1.00 EURUSD at 1.12941 done (based on order #2214667235)
'35286172': close position #2214667235 buy 1.00 EURUSD by position #2214667234 sell 1.00 EURUSD
'35286172': accepted close position #2214667235 buy 1.00 EURUSD by position #2214667234
'35286172': deal #2211904977 sell 1.00 EURUSD at 1.12936 done (based on order #2214667236)
'35286172': close position #2214667235 buy 1.00 EURUSD by position #2214667234 done in 67.893 ms
script Test4 (EURUSD,M1) removed
Es klappt.
 
Vladimir Simakov:

Dies ist nur der Einfachheit halber.

Im Datensegment:

CIchimoku ind1(EURUSD,PERIOD_M5,5,10,15);

CIchimoku ind1(GBPUSD,0,10,25,30,2);

Als Ergebnis haben wir zwei Indikatoren, den ersten auf dem m5-Zeitrahmen, während der zweite immer um +2 Zeitrahmen gegenüber dem aktuellen Chart-Zeitrahmen verschoben wird.

Aber ist es in Ordnung, dass man, bevor man sich auf Indikatoren verschiedener Zeitrahmen bezieht, ein Tamburin schlagen und einen Tanz aufführen muss?

Wer wird es tun ... nun, offenbar der Benutzer - lassen Sie ihn zen und die Macht der nicht-chinesischen gleichzeitig lernen :-)

Die Plattform stellt komfortable Schnittstellen von Indikatoren und deren Zerlegung in Puffer dar. Warum also etwas wiederholen, was bereits getan wurde und was gut gemacht ist? Um zu zeigen, dass Sie mit dem Wort "Klasse" tatsächlich etwas anfangen können...