[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 292
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo.
Bitte helfen Sie mir, herauszufinden, was ich falsch mache.
Bedingt: Ask = 1,3000
PriceAsk = 1,3055 (inkl. bei Step=50 und Srpead=3)
bool BuyOrder=1 ,
if (Ask-PriceAsk+Step-Spread<=0 && BuyOrder==0) warum ist diese Bedingung erfüllt?Unmittelbar vor der if-Anweisung drucken Sie die Werte aller Variablen in der Bedingung aus
Unmittelbar vor der if-Anweisung protokollieren Sie die Werte aller Variablen in der Bedingung
Probieren Sie es aus, danke)
Und nun die Schlussfolgerung
Ich möchte verstehen, wie es funktioniert. Deshalb habe ich gefragt.
GaryKa:
Unmittelbar vor der if-Anweisung protokollieren Sie die Werte aller Variablen in der Bedingung
ed3sss:
Probieren Sie es aus, danke)
Danke, ich habe einen logischen Fehler im Programm gefunden, jetzt funktioniert alles.
Hallo.
Wie kann ich auf dem Chart die Inschrift auf dem aktuellen Instrument Gewinn/Verlust der offenen Aufträge anzeigen.
Es ist schwierig, im Expert Advisor zu überprüfen, ob er Positionen eröffnet hat oder nicht (Terminal an/aus) und das letzte Lotvolumen vor dem Schließen des Terminals zu erfassen.
Ich danke Ihnen.
Ich bin hier gerade auf eine Funktion gestoßen:
Ich möchte verstehen, wie es funktioniert. Deshalb habe ich gefragt.Wenn ich falsch liege, entschuldige ich mich. MathLog(x) ist ln(x) (natürlicher Logarithmus). Die Umrechnungsformel lautet log_a(b)=ln(b)/ln(a), in diesem Fall erhalten wir ln(x)/ln(10)=lg(x)(dezimaler Logarithmus). Der ganzzahlige Teil des dezimalen Logarithmus lg(1...9) ist 0, lg(10...99) ist 1, lg(100...999) ist 2, lg(1000...9999) ist 3 usw., d.h. der Logarithmus einer Zahl größer als 1 ist gleich der Anzahl der Ziffern dieser Zahl(vor dem Komma, nicht nach dem Komma zählen) minus 1. Wenn x 0 bis 1 ist, dann ist der ganzzahlige Teil von lg(0,1...0,9) gleich -1, lg(0,01...0,09) gleich -2, lg(0,001...0,009) gleich -3 und so weiter, das heißt, wenn man nicht auf das Minus achtet, ist der dezimale Logarithmus der Zahl von 0 bis 1 gleich der Gesamtzahl der Nullen vor der ersten signifikanten Ziffer. Ich weiß nicht, wie MathCeil funktioniert, aber wenn es den ganzzahligen Teil einer Zahl zurückgibt, sollte diese Funktion die Anzahl der Ziffern in der Zahl vor dem Dezimalpunkt minus eins zurückgeben, wenn die Zahl größer als 1 ist, und die Anzahl der Nullen in der Zahl vor der ersten signifikanten Ziffer, wenn die Zahl 0 bis 1 ist. Das Minimum dieser Funktion liegt im Bereich x gleich 1...9. Bei 10...99 und 0,1...0,9 liefert die Funktion 1, bei 100...999 und 0,01...0,09 liefert sie 2, und so weiter. Die Idee ist...
Guten Tag, es gibt einen Fehler im Programm, ich habe mir schon den Kopf zerbrochen, bitte zeigen Sie mit dem Finger darauf, was falsch ist. Ich möchte nur wissen, warum die Bedingung für modifi nicht funktioniert. Auch wenn die Bedingung nicht wahr ist, ist sie dennoch erfüllt, und daher wird bei der Änderung von Fehlern oder 1 oder 130. Ich danke Ihnen allen.
//--------------- ändern Aufträge unter TP-------------------
for (i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
if (Auftragsart() == OP_BUY) {
wenn (OrderTakeProfit() == 0 || OrderTakeProfit() > OprTPB(TP)){
RefreshRates();
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPB(TP),0,CLR_NONE);
}
}
wenn ((OrderType() == OP_SELL)) {
if(OrderTakeProfit() == 0 || OrderTakeProfit() < OprTPS(TP)){
RefreshRates();
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPS(TP),0,CLR_NONE);
}
}
}
}
zurück(0);
}
double LastOpPrBuy(double va=0)
{
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (va == 0) va = OrderOpenPrice();
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_BUY && OrderOpenPrice()<va) va = OrderOpenPrice()
}
zurück (va);
}
//----------------------------------------------------------------------------------
double LastOpPrSell(double va=0)
{
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (va == 0) va = OrderOpenPrice();
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL && OrderOpenPrice()>va) va = OrderOpenPrice()
}
zurück (va);
}
//----------------------------------------------------------------------------------
double OprTPB(int TP)
{
int j=0;
double TPB=0;
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (Auftragsart() == OP_BUY)
{
TPB+=OrderOpenPrice();
j++;
}
}
wenn (j==0) {
j++;
TPB = Fragen;
}
TPB=(TPB/j)+TP*Punkt;
Rückkehr (TPB);
}
//----------------------------------------------------------------------------------
double OprTPS(int TP)
{
int j=0;
double TPS=0;
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL)
{
TPS+=OrderOpenPrice();
j++;
}
}
wenn (j==0) {
j++;
TPS = Gebot;
}
TPS=(TPS/j)-TP*Punkt;
Rückkehr (TPS);
}
//----------------------------
Wir sind alle Neulinge hier! Siehst du nicht, dass wir einfache Dinge nicht wissen! Woher sollen wir das sonst wissen! Zumindest wollen wir das wissen, nicht so wie manche Leute denken, die einfach nur den Code eingeben und sofort das Geld pumpen wollen!
))) Vom Humor eines Händlers:
- Wo kann ich einen profitablen Expert Advisor bekommen?
- Schauen Sie irgendwo oben im Thread nach, dort wurde ein Roboter namens @MOZG@v4.12 gepostet.