Wie programmiert man? - Seite 71

 

Kodierung "Trendbedingung" mit StepMA

vergessen: für mein vorheriges Posting den Indikator und einen Screenshot

Dateien:
example.jpg  55 kb
 

Vielen Dank, Devil2000!

Devil2000:
Aus dem Metaeditor:
bool IsDemo()
Gibt TRUE zurück, wenn der Experte auf einem Demokonto läuft, ansonsten FALSE.

Kannst du mir jetzt sagen, wo ich diesen Code einfügen soll?

Ich bin ein echter Rookie in diesem Bereich.

Dies ist, was im Meta-Editor angezeigt wird:

extern double lot=0.01;

extern int MinGS=10;

extern double TP=10;

extern double MarginLevelAlert=1000;

extern double RepeatMinutes=60;

double MaxDrawDown = 0.0;

int magic;

int Konto = 1857842;

double lot2;

double MarginPer;

datetime tob,tos,toe; //Time Out Buy, Sell, Expire

Vielen Dank für die Hilfe.

Vielen Dank

 

MaOnArray

Hallo,

ich würde gerne long gehen, wenn der CCI über sein 14er-Sma steigt, und short gehen, wenn er unter sein 14er-Sma fällt. Das sma des CCI wird natürlich durch das MaOnArray des CCI generiert.

Dies ist mein Code:

double a,b;

bla, bla, bla...

int start()

{

a= iCCI(NULL, 0, 14,PRICE_WEIGHTED,0);

b=iMAOnArray(a,0,14,0,MODE_SMA,0);

// Prüfung, ob eine Long-Position (BUY) möglich ist

if(NewBar1()==true && a>b)

{

bla, bla, bla...

// prüfen, ob eine Short-Position (SELL) möglich ist

if(NewBar2()==true && a<b)

{

bla, bla, bla...

Es gibt jedoch ein Problem (es ist unten abgebildet) - gibt es also etwas, das im Code fehlt? und wie kann dieses Problem gelöst werden?

Das Problem ist unten:

Dateien:
1.jpg  129 kb
 

MaOnArray

Jane,

Zunächst müssen Sie kontrollieren, wie viele Trades geöffnet werden.

Ich schlage vor, Folgendes hinzuzufügen

if (OrdersTotal()==0) {

vor den Eingabefiltern einzufügen, oder vielleicht <= 1, wenn 2 Aufträge erlaubt sind.

Oder wenn Sie mehr als zwei Trades auf einmal wollen:

for (int i = OrdersTotal() - 1; i >= 0;i--)

(Studieren Sie die meisten EAs für diesen Fall.)

Ich glaube nicht, dass Sie genug Daten angegeben haben, um das Problem zu lösen, aber ich habe noch ein paar Vorschläge.

Es ist nicht klar, was NewBar1() macht und wie.

Stellen Sie sicher, dass Ihre globalen Variablen bei Bedarf neu gesetzt werden, nachdem eine Order geöffnet (oder geschlossen, falls zutreffend) wurde.

Ich schreibe eine Zeile für jede benötigte Variable nach der Zeile für die offene Order.

Viel Spaß bei der Suche!

Großer Be

 

Zwei Haltestellen Frage

Siehe späteren Beitrag.

 

Zwei Stops Frage

Ich möchte wissen, wie ich den Stop für die HÄLFTE meiner offenen Order ändern kann. Nach meinem Verständnis bedeutet dies, dass ich zwei Aufträge eröffne, zum Beispiel .2 Lots und .2 Lots.

Mein EA basiert die Anzahl der Lots auf einer Money Management Berechnung.

Nachdem der Stop für eine Order geändert wurde (basierend auf dem Erreichen eines Preisniveaus), würde ich meinen Exit-Code beide Orders schließen lassen, es sei denn, ihre (nun unterschiedlichen) Stops werden erreicht.

Die andere Order behält ihren ursprünglichen Stop bei oder verschiebt ihn möglicherweise auf Break Even.

Wenn die anfängliche Anzahl der Lots (aus der MM-Funktion) ungerade ist, möchte ich sie ungleichmäßig auf die beiden Aufträge aufteilen, anstatt auf eine ungerade Anzahl von Lots oder Zehntel-Lots abzurunden.

Ich glaube, dies beinhaltet Magic Numbers und ein paar Zeilen Code hier und da. Vielleicht gibt es einen EA mit all dem, den ich kopieren könnte.

Danke für jede Hilfe.

Großer Be

 

OK, danke Big Me,

Ich werde morgen den ganzen EA posten. So können Sie einen Blick auf ihn werfen.

Grüße,

J

 
Big Be:
Ich muss wissen, wie ich den Stop für die HÄLFTE meines offenen Auftrags ändern kann. Nach meinem Verständnis bedeutet dies, dass ich zwei Aufträge eröffne, z. B. .2 Lots und .2 Lots.

Mein EA basiert die Anzahl der Lots auf einer Money-Management-Berechnung.

Nachdem der Stopp für einen Auftrag geändert wurde (basierend auf dem Erreichen eines Preisniveaus), würde ich meinen Exit-Code beide Aufträge schließen lassen, es sei denn, ihre (jetzt unterschiedlichen) Stopps werden erreicht.

Die andere Order behält ihren ursprünglichen Stop bei oder verschiebt ihn möglicherweise auf Break Even.

Wenn die anfängliche Anzahl der Lots (aus der MM-Funktion) ungerade ist, möchte ich sie ungleichmäßig auf die beiden Aufträge aufteilen, anstatt auf eine ungerade Anzahl von Lots oder Zehntel-Lots abzurunden.

Ich glaube, dies beinhaltet Magic Numbers und ein paar Zeilen Code hier und da. Vielleicht gibt es einen EA mit all dem, den ich kopieren könnte.

Danke für jede Hilfe.

Großes Be

Wäre es nicht viel einfacher, nur einen Auftrag zu eröffnen und diesen zu skalieren, indem man einen "weichen" SL für den Rest einstellt. Für den Fall der Fälle könnten Sie einen Doomsday-Hardstopp setzen. Das ist nicht nur viel einfacher, sondern Sie geben den Bucketshops auch kein Ziel vor.

 

Symbol im Broker

Hallo zusammen

ich muss alle Symbole in MetaTrade erhalten... Wie kodiere ich?

Grüße

charles

 
omelette:
Wäre es nicht viel einfacher, nur einen Auftrag zu eröffnen und aus diesem zu skalieren, indem man einen "weichen" SL für den Rest einstellt. Für den Fall der Fälle könnten Sie einen "Doomsday"-Hard-Stop setzen. Das ist nicht nur viel einfacher, sondern Sie geben den Bucketshops auch kein Ziel vor.

Einfacher, aber weniger profitabel für mich. Mein EA reitet auf einem Trend und ich möchte, dass beide Hälften die Chance haben, den ganzen Weg zu gehen. Wissen Sie, wie das geht?

Big Be

Grund der Beschwerde: