Hilfe bei der Codierung - Seite 159

 
mladen:
Ändern Sie diesen Teil des Codes nicht. Dieser Teil des Codes prüft, ob Ihr Broker 4- oder 5-stellig ist. Auch, hier ist ein Test mit einem $ 500 für die erste Einzahlung (Risiko 5% Stop Loss 20 Pips, EURUSD für den Test verwendet) und es funktioniert auch mit, dass die erste Einzahlung zu

Hallo Mladen.

Ich habe dich gestern nach der Auftragscodierung gefragt.

Aber es ist zu kompliziert.

Es tut mir leid, denn ich möchte eine einfache Kodierung.

Einfach so:

Kontostand $500

mit einem Risiko von 5%, offene Lots= $0.25

Lots=$500*(Risiko/100)

Lots=$500*(0.05/100)

Lots=$500(0,0005)

Lots=$0.25

Gerade mochte diese EA automatisch eine $0.25 Lose zu öffnen.

Und die Lose zählen nicht Mixing mit Stoploss oder TProfit.

Ich hoffe, Sie können mir helfen, dieses Problem zu lösen.

Ich danke Ihnen sehr.

extern double lots = 0.1;extern double stopsize = 20;

extern double profsize = 10;

extern double Risk =5;

int err;

int ticket;

double stop;

double prof;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

double sl = stopsize*Point*MathPow(10,Digits%2);

double tp = profsize*Point*MathPow(10,Digits%2);

stop = (Ask-sl);

prof = (Ask+tp);

ticket = OrderSend(Symbol(), OP_BUY, getLots(sl,Risk), Ask, 3, 0, 0, NULL,LimeGreen);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

Comment(" ");

}

//

//

//

//

//

double getLots(double stopLoss, double risk)

{

RefreshRates();

double pPoint = MarketInfo(Symbol(),MODE_POINT);

double step = MarketInfo(Symbol(),MODE_LOTSTEP);

double minLot = MarketInfo(Symbol(),MODE_MINLOT);

double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);

double lots = minLot;

if (risk>0 && stopLoss>0)

{

lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(Symbol(),MODE_TICKVALUE)/pPoint);

}

return(MathMax(MathMin(lots,maxLot),minLot));

}
 
hock87:
Hallo, Mladen.

Gestern habe ich Sie nach der Auftragscodierung gefragt.

Aber es ist zu kompliziert.

Es tut mir leid, denn ich möchte eine einfache Kodierung.

Einfach so:

Kontostand $500

mit einem Risiko von 5%, offene Lots= $0.25

Lots=$500*(Risiko/100)

Lots=$500*(0.05/100)

Lots=$500(0,0005)

Lots=$0.25

Gerade mochte diese EA automatisch eine $0.25 Lose zu öffnen.

Und die Lose zählen nicht Mixing mit Stoploss oder TProfit.

Ich hoffe, Sie können mir helfen, dieses Problem zu lösen.

Ich danke Ihnen vielmals.

extern double lots = 0.1;extern double stopsize = 20;

extern double profsize = 10;

extern double Risk =5;

int err;

int ticket;

double stop;

double prof;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

double sl = stopsize*Point*MathPow(10,Digits%2);

double tp = profsize*Point*MathPow(10,Digits%2);

stop = (Ask-sl);

prof = (Ask+tp);

ticket = OrderSend(Symbol(), OP_BUY, getLots(sl,Risk), Ask, 3, 0, 0, NULL,LimeGreen);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

Comment(" ");

}

//

//

//

//

//

double getLots(double stopLoss, double risk)

{

RefreshRates();

double pPoint = MarketInfo(Symbol(),MODE_POINT);

double step = MarketInfo(Symbol(),MODE_LOTSTEP);

double minLot = MarketInfo(Symbol(),MODE_MINLOT);

double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);

double lots = minLot;

if (risk>0 && stopLoss>0)

{

lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(Symbol(),MODE_TICKVALUE)/pPoint);

}

return(MathMax(MathMin(lots,maxLot),minLot));

}

hock87

Es gibt keine einfache(re) Methode zur Berechnung der Losgröße, wenn Eigenkapital, Stoploss und das erforderliche Risiko berücksichtigt werden. Außerdem kann man das Risiko nicht berechnen, ohne den Stop-Loss zu kennen (denken Sie darüber nach: wenn Sie eine Order in der Größe von, sagen wir, 1 Lot eröffnen und diese nach 1 Pip oder nach 100 Pips schließen, werden die Verluste (und damit das eingegangene Risiko) nicht gleich sein und können auch nicht gleich sein).

Wenn Sie es so berechnen (ohne bekannten Stop-Loss), dann ist es keine Risikoberechnung, sondern eine einfache Losgrößenberechnung (die keine Risikoberechnung impliziert).

 
mladen:
hock87

Es gibt keine einfache(re) Methode zur Berechnung der Losgröße, wenn Eigenkapital, Stop-Loss und das erforderliche Risiko berücksichtigt werden. Außerdem kann man das Risiko nicht berechnen, ohne den Stop-Loss zu kennen (denken Sie darüber nach: wenn Sie eine Order in der Größe von, sagen wir, 1 Lot eröffnen und diese nach 1 Pip oder nach 100 Pips schließen, werden die Verluste (und damit das eingegangene Risiko) nicht gleich sein und können auch nicht gleich sein).

Wenn Sie es so berechnen (ohne bekannten Stoploss), dann ist es keine Risikoberechnung, sondern eine einfache Losgrößenberechnung (die keine Art von Risikoberechnung impliziert)

Mladen, Sie haben Recht.

Ich weiß, dass es keine Art von Risikoberechnung impliziert.

und möchte nur eine einfache Berechnung der Losgröße,

Lassen Sie es automatisch die Losgröße mit dem Kontostand in % berechnen.

lots=$500*(risk%/100)

Lots=$500*(0.05/100)

Lots=$500(0,0005)

Lots=$0.25

Gerade mochte diese EA automatisch eine $0.25 Lose zu öffnen.

Und die Lose zählen nicht Mixing mit Stoploss oder TProfit.

Wie kodiert man das?

Danke!

 
hock87:
Mladen, Sie haben Recht.

Ich weiß, dass dies keine Art von Risikoberechnung impliziert.

und möchte nur eine einfache Losgrößenberechnung,

Lassen Sie es automatisch die Losgröße mit dem Kontostand in % berechnen.

lots=$500*(risk%/100)

Lots=$500*(0.05/100)

Lots=$500(0,0005)

Lots=$0.25

Gerade mochte diese EA automatisch eine $0.25 Lose zu öffnen.

Und die Lose zählen nicht Mixing mit Stoploss oder TProfit.

Wie kodiert man es?

Danke.

Versuchen Sie, wie es von KimIV hier beschrieben ist: b-Lots

 

Vielen Dank an mladen, ich denke, ist ähnlich, was in meinem Kopf # 1579, übrigens, ist es möglich, DPO in der ähnlichen Weise wie RSI oder MFI Gleichungen normalisieren die vertikale Skala zu konvertieren?Detrended Price Oscillator - MQL4 Code Base, nochmals vielen Dank.

 
kenwa:
Vielen Dank an mladen, ich denke, ist ähnlich, was in meinem Kopf # 1579, durch die Art und Weise, ist es möglich, DPO in der ähnlichen Weise wie RSI oder MFI Gleichungen normalisieren die vertikale Skala konvertieren?Detrended Price Oscillator - MQL4 Code Base, nochmals vielen Dank.

kenwa

Einmal wenn man eine Vorlage hat nicht schwer

Hier ist ein rsi eines dpo. Obere ist DPO und untere ist der RSI von einem DPO

Dateien:
 

Hallo mladen, ich habe Ihre rsi von macd vor, ist es mit ähnlichen Methoden / Logik als diese jüngsten Kraft-Index FI und DPO diejenigen gemacht?

Ich habe Ihre neuen rsi-Versionen gemacht recenlty (FI und DPO) auf meinem Computer, ich stoße auf ein Problem, wenn ich icustom Funktion verwenden, um ihre Ausgangswerte abzurufen, es ist nicht von 0 bis 100 wie auf dem Diagramm zeigen, aber von -100 bis 0 bis 100, irgendwelche Kommentare, warum, ist es ich beziehen sich falsch den inneren Pufferwert abrufen? danke für Beratung.

Dateien:
 

Hallo, Mladen.

Ich habe ein Problem,

Wenn sich der Preis der offenen Kauforder in die umgekehrte Richtung bewegt und der Kurs des Fernmarktes über 25 Punkte steigt,

wird automatisch wieder eine Kauforder eröffnet.

Wie kann ich diese Strategie kodieren?

Danke!

extern double lots = 0.1;

extern double stopsize = 50;

extern double profsize = 20;

int err;

int ticket;

double stop;

double prof;

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

ticket=OrderSend(Symbol(), OP_Buy, 0.1, Ask, 3, 0, 0, NULL,LimeGreen);

stop=(Ask+stopsize*Point);

prof=(Ask-profsize*Point);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

// Comment("This is a test ", err, " ", stop, " ", prof);

Comment(" ");

return(0);

}
 
hock87:
Hallo, Mladen.

Ich habe ein Problem,

Wenn sich der Preis der offenen Kauforder in die umgekehrte Richtung bewegt und der Kurs des Fernmarktes über 25 Punkte steigt,

wird automatisch wieder ein Kaufauftrag eröffnet.

Wie kann ich diese Strategie kodieren?

Danke!

extern double lots = 0.1;

extern double stopsize = 50;

extern double profsize = 20;

int err;

int ticket;

double stop;

double prof;

int start()

{

int TotalOrders = 0;

for (int i=0; i <= OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

TotalOrders++;

}

if (TotalOrders<1)

{

ticket=OrderSend(Symbol(), OP_Buy, 0.1, Ask, 3, 0, 0, NULL,LimeGreen);

stop=(Ask+stopsize*Point);

prof=(Ask-profsize*Point);

OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

// Comment("This is a test ", err, " ", stop, " ", prof);

Comment(" ");

return(0);

}

hock87

Dieser Code lässt sich nicht kompilieren (ersetzen Sie OP_Buy durch OP_BUY) und ich sehe auch keine Bedingungen für die Eröffnung einer weiteren Order. Im Moment lassen Sie nur eine Order zu (die Zeile "if (TotalOrders<1)") Das sollte Ihr Ausgangspunkt sein

 

CCI fdoe hpp

Ich habe diesen Indikator aus einem der Threads heruntergeladen und er ist viel besser als die CCI-Zonen oder Ma-Zonen Indikatoren.

Kann es angepasst werden, um auf dem Bildschirm wie in einer Zone Indikator zeigen?

Er ist auf die CCI-Einstellung 13 eingestellt, aber wenn er leicht in einen Indikator mit variabler Einstellung umgewandelt werden kann, dann wäre das ein Bonus - aber eher eine sekundäre Anfrage.

Es ist ein Forex-TSD-Indikator, aber kein mq4-Ordner war mit ihm.

Danke

TEAMTRADER

Dateien:
cci_fdoehpp.ex4  19 kb