Hilfe bei der Codierung - Seite 109

 

Änderung vonschwebenden Aufträgen

Hallo zusammen, ich habe versucht, eine Preisänderung für Pending Orders zu programmieren. Es ist einer meiner ersten EAs. Ich möchte so viele EAs wie möglich schreiben, damit ich später komplexe EAs schreiben kann. Bei meinem Order Modifier habe ich das Problem, dass er nicht funktioniert, wenn ich ihn in einen Chart auf meinem Demo-Account einfüge. Kann jemand den Fehler finden und mir helfen, indem er ihn korrigiert? Danke! Ich habe wirklich keine Anhaltspunkte mehr. Vielen Dank

{ RefreshRates(); double ppoint=MarketInfo(OrderSymbol(), MODE_POINT); int total=OrdersTotal(); double pBid=MarketInfo(OrderSymbol(), MODE_BID); double pAsk=MarketInfo(OrderSymbol(), MODE_ASK); double priceNew; //---- for(int i=0; i50*ppoint) { priceNew=(pBid-50*ppoint); OrderModify(OrderTicket(),priceNew,0,OrderStopLoss(),OrderTakeProfit()); Print("Modified Order"); } } } if (OrderType()==OP_SELLSTOP) { if (OrderOpenPrice()-pAsk>50*ppoint) { priceNew=(pAsk+50*ppoint); OrderModify(OrderTicket(),priceNew,0,OrderStopLoss(),OrderTakeProfit()); Print("Modified Order"); } } } } }
 

Hallo Robert, vielen Dank für deine bisherige Hilfe. Wie stelle ich den Code hier richtig ein? Danke und Prost.

 
fabian103:
Hallo Robert, vielen Dank für deine bisherige Hilfe. Wie stelle ich den Code hier richtig ein? Danke und Prost.

fabian103

Sie sollten den php-Code einfach kopieren und in das Feld einfügen.

Aus irgendeinem Grund ist Ihr Code "durcheinander". Versuchen Sie es. Wenn es nicht funktioniert, versuchen Sie, den Teil des Codes, den Sie überarbeiten möchten, als separate Datei anzuhängen (mit dem Tool zum Anhängen - das, auf das im Bild hingewiesen wird)

Dateien:
attach.gif  36 kb
 

Hallo!

Ich habe versucht, den Wert der Bollinger-Bänder innerhalb des Stochastik-Indikators zu berechnen, aber ich habe es nicht geschafft.

Ich bekomme den Wert bezogen auf das Paar, aber ich brauche den Wert, der zwischen 0 und 100 liegen sollte.

Hat jemand einen Tipp?

Danke

 
metcalfe:
Hallo,

Ich habe versucht, den Wert der Bollinger-Bänder innerhalb des Stochastik-Indikators zu berechnen, aber ich habe es nicht geschafft, das zu tun.

Ich erhalte den Wert, der sich auf das Paar bezieht, aber ich brauche den Wert, der zwischen 0 und 100 liegen sollte.

Hat jemand einen Tipp?

danke

Ich nehme an, dass Sie die Berechnung der Bollinger-Bänder einer Stochastik meinen (unter Verwendung von Stochastik-Werten anstelle von Symbolpreisen). Sie können das nicht mit dem eingebauten iBands() machen, weil es immer die Preise des Hauptcharts verwendet.

Sie könnten iBandsOnArray() verwenden, aber damit haben Sie ein ewiges Metatrader-Problem: Abweichungen können nur ganzzahlige Multiplikatoren sein. Sie können die Abweichungen nicht auf gebrochene Werte setzen. Daher ist es am besten, die Funktionen iStdDevOnArray() und iMaOnArry() zu verwenden, um Ihre eigenen Bollinger-Bänder mit einem beliebigen Wert und einer beliebigen Breite der Bänder zu berechnen. Im Falle der Stochastik würde der Code, der das tut, so aussehen:

for(int i=limit; i>=0; i--) stoch = iStochastic(NULL,0,StochPeriod,1,StochSlowing,MODE_SMA,StochPrice,MODE_MAIN,i);

for( i=limit; i>=0; i--)

{

double dev = iStdDevOnArray(stoch,0,BollingerPeriod,0,MODE_SMA,i);

bollmi = iMAOnArray(stoch,0,BollingerPeriod,0,MODE_SMA,i);

bollup = bollmi+BollingerDeviations*dev;

bolldn = bollmi-BollingerDeviations*dev;

}

Ich füge auch den Indikator selbst bei, damit Sie weiter mit ihm experimentieren können. Auf dem Chart sieht er so aus:

____________________

PS: Die Werte der Bänder können die Grenzen von 0 und 100 überschreiten (wenn die Stochastik um 0 oder 100 pendelt), je nachdem, welchen Bandmultiplikator Sie für die Abweichungen verwenden und wie lang die Berechnung der Bollinger-Bänder selbst ist.

 
mladen:
Ich nehme an, Sie meinen die Berechnung der Bollinger-Bänder einer Stochastik (unter Verwendung der Stochastik-Werte anstelle der Symbolpreise). Sie können das nicht mit einem eingebauten iBands() tun, weil es immer die Preise des Hauptcharts verwendet.

Sie könnten iBandsOnArray() verwenden, aber damit haben Sie ein ewiges Metatrader-Problem: Abweichungen können nur ganzzahlige Multiplikatoren sein. Sie können Abweichungen nicht auf gebrochene Werte setzen. Daher ist es am besten, die Funktionen iStdDevOnArray() und iMaOnArry() zu verwenden, um Ihre eigenen Bollinger-Bänder mit einem beliebigen Wert und einer beliebigen Breite der Bänder zu berechnen. Im Falle von Stochastic würde der Code, der das tut, wie folgt aussehen:

Das ist SUPER AWESOME!!!!!

Vielen Dank, ich habe es schon so lange versucht.

Und danke für die superschnelle Antwort.

Eine weitere dumme Frage.

Die indi funktioniert sehr gut, aber ich kann nicht die richtige Zahl auf die ea über die Bands Wert.

Zum Beispiel wie in dem Bild, das Sie angehängt haben die Zahlen 81...67..54....

 
metcalfe:
Das ist SUPER AWESOME!!!!!

Vielen Dank, ich habe es schon so lange versucht.

Und danke für die super schnelle Antwort.

Eine weitere stupi Frage.

Die indi funktioniert sehr gut, aber ich kann nicht die richtige Zahl auf die ea über die Bands Wert.

Zum Beispiel wie auf dem Bild, das Sie beigefügt haben, die Zahlen 81...67..54....

:):)

Diestochastische Länge in diesem Beispiel ist auf 32 eingestellt. Das ist der einzige Unterschied im Vergleich zu den Standardparametern.

 
mladen:
:):):) Die stochastische Länge ist in diesem Beispiel auf 32 eingestellt. Das ist der einzige Unterschied zu den Standardparametern

Sorry..ich habe nicht sehr gut erklären, was ich fragen wollte.

In meinem ea ich versuche, die Zahl zum Beispiel der oberen oder unteren Band in der stoch-Fenster wie im Bild zu erhalten. Zum Beispiel möchte ich in der ea abrufen das obere Band, das 81.8116 ist und ich codiert als

Comment(iCustom(NULL,0, "name",24,0,MODE_UPPER,0)); \\renamed the indi

aber ich habe nicht die richtige Nummer.

Wo liege ich falsch?

Danke

 
metcalfe:
Sorry..ich habe nicht sehr gut erklärt, was ich fragen wollte.

In meinem ea ich versuche, die Zahl zum Beispiel der oberen oder unteren Band in der stoch Fenster wie im Bild zu erhalten. Zum Beispiel möchte ich in der Ea das obere Band abrufen, das 81.8116 ist, und ich kodiert als

Comment(iCustom(NULL,0, "name",24,0,MODE_UPPER,0)); \\renamed the indi

aber ich habe nicht die richtige Nummer.

Wo liege ich falsch?

Danke

Mach es so:

double upperBand = iCustom(NULL,0,"name",24,1,0,0);[/PHP]

The problem was that you can not put 0 in place of the slowing parameter since in that case metatrader will cause an error when calculating stochastic, and you will always get 0 as a return value, so use 1 instead (it is equivalent to no smoothing of the stochastic value). Also, better to use buffer numbers (MODE_MAIN is a reserved word in MQL - it 0 but in some cases they are not what you expect them to be). To get the rest of the values you would then have to write something similar to this :

[PHP]double middleBand = iCustom(NULL,0,"name",24,1,1,0);

double lowerBand = iCustom(NULL,0,"name",24,1,2,0);
 

Ok...

Super danke.

Du hast mich gerettet....

Grund der Beschwerde: