Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXIV): Handelsklassen - automatische Korrektur ungültiger Parametern" - Seite 2

 

Hallo, diese beiden Unterprogramme laufen unterschiedlich, wo "Statistical Time Period Buy Loss" kann das gewünschte Ergebnis zu erhalten, während "Statistical Time Period Sell Loss" Ergebnisse in 0, warum ist das?

//Statistischer Zeitraum Geschichte des Verlustes von einzelnen (wurde geschlossen, einzelne) Zahl, lasttime für den Beginn der Zeit

double Statistik Zeitraum Kaufverlust(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// zähle nur die aktuellen entsprechenden Währungspaare

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime)

{

wenn (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Verlust=Verlust+OrderProfit();

Volumen=Volumen+OrderLots();

}

}

}

}


}

}}

if (as_8 == "Gesamtanzahl der Aufträge") return (Gesamtanzahl der Aufträge);

if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust)

wenn (as_8 == "Volumen") return (Volumen); return (0.0); wenn (as_8 == "Verlust") return (Verlust); wenn (as_8 == "Volumen") return (Volumen)


return (0.0);

}

double Statistik Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volumen=0;

double Sell Loss = 0; int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// zähle nur die aktuellen entsprechenden Währungspaare

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime)

{

wenn (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Verlust=Verlust+OrderProfit();

Volumen=Volumen+OrderLots();

}

}

}

}

}

}}

if (as_8 == "Gesamtanzahl der Aufträge") return (Gesamtanzahl der Aufträge);

if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust)

if (as_8 == "Volumen") return (Volumen); return (0.0); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Volumen") return (Volumen)


return (0.0);

}

 

Hallo, diese beiden Unterprogramme laufen unterschiedlich, wo "Statistical Time Period Buy Loss" kann das gewünschte Ergebnis zu erhalten, während "Statistical Time Period Sell Loss" Ergebnisse in 0, warum ist das?

//Statistischer Zeitraum Geschichte des Verlustes von einzelnen (wurde geschlossen, einzelne) Zahl, lasttime für den Beginn der Zeit

double Statistik Zeitraum Kaufverlust(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// zähle nur die aktuellen entsprechenden Währungspaare

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime)

{

wenn (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Verlust=Verlust+OrderProfit();

Volumen=Volumen+OrderLots();

}

}

}

}


}

}}

if (as_8 == "Gesamtanzahl der Aufträge") return (Gesamtanzahl der Aufträge);

if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust)

wenn (as_8 == "Volumen") return (Volumen); return (0.0); wenn (as_8 == "Verlust") return (Verlust); wenn (as_8 == "Volumen") return (Volumen)


return (0.0);

}

double Statistik Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volumen=0;

double Sell Loss = 0; int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// zähle nur die aktuellen entsprechenden Währungspaare

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime)

{

wenn (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Verlust=Verlust+OrderProfit();

Volumen=Volumen+OrderLots();

}

}

}

}

}

}}

if (as_8 == "Gesamtanzahl der Aufträge") return (Gesamtanzahl der Aufträge);

if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust)

if (as_8 == "Volumen") return (Volumen); return (0.0); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Volumen") return (Volumen)


return (0.0);

}

 
Artyom Trishkin:
OK

Hallo, diese beiden Unterprogramme laufen unterschiedlich, wobei "Statistical Time Period Buy Loss" das gewünschte Ergebnis erhalten kann, während "Statistical Time Period Sell Loss" 0 ergibt, warum ist das so?

//Statistischer Zeitraum Geschichte des Verlustes von einzelnen (wurde geschlossen einzelnen) Zahl, lasttime für den Beginn der Zeit

double Statistik Zeitraum Kaufverlust(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// zähle nur die aktuellen entsprechenden Währungspaare

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime)

{

wenn (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Verlust=Verlust+OrderProfit();

Volumen=Volumen+OrderLots();

}

}

}

}


}

}}

if (as_8 == "Gesamtanzahl der Aufträge") return (Gesamtanzahl der Aufträge);

if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust)

wenn (as_8 == "Volumen") return (Volumen); return (0.0); wenn (as_8 == "Verlust") return (Verlust); wenn (as_8 == "Volumen") return (Volumen)


return (0.0);

}

double Statistik Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volumen=0;

double Sell Loss = 0; int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// zähle nur die aktuellen entsprechenden Währungspaare

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime)

{

wenn (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Verlust=Verlust+OrderProfit();

Volumen=Volumen+OrderLots();

}

}

}

}

}

}}

if (as_8 == "Gesamtanzahl der Aufträge") return (Gesamtanzahl der Aufträge);

if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust); if (as_8 == "Verlust") return (Verlust)

wenn (as_8 == "Volumen") return (Volumen); return (0.0); wenn (as_8 == "Verlust") return (Verlust); wenn (as_8 == "Volumen") return (Volumen)


return (0.0);

}

 

Dies ist ein Diskussionsthread für den Artikel und nicht für die Lösung von Problemen, die nicht mit der im Artikel beschriebenen Bibliothek zusammenhängen.

Um den Code in die Nachricht einzufügen, müssen Sie die Kombination Alt + S oder diese Schaltfläche verwenden.


 
Hallo, ist es möglich, dass dieses Programm die Suche nach historischen gehandelten Verkaufsaufträgen nicht unterstützt?
 
hsyhsy863 :
Hallo, unterstützt das Programm nicht die Suche nach historischen Verkaufsaufträgen?

Und noch viel mehr.

 
Hallo, mir ist aufgefallen, dass beim Laden eines benutzerdefinierten Indikators und anschließendem Löschen des benutzerdefinierten Indikators die Schaltflächen nicht funktionieren und ich es nicht hinbekomme. Woran liegt das? Wie kann ich es beheben?
 
hsyhsy863 :
Hallo, mir ist aufgefallen, dass beim Laden eines benutzerdefinierten Indikators und anschließendem Löschen des benutzerdefinierten Indikators die Schaltflächen nicht funktionieren und ich ihn nicht zum Laufen bringen kann. Woran liegt das? Wie kann ich es beheben?

Während der Verwendung - was?

Welche Tasten funktionieren nicht?
 
Ich möchte Ihnen einen benutzerdefinierten Indikator schicken, laden Sie ihn und löschen Sie ihn, probieren Sie ihn aus und Sie werden sehen.
Dateien:
jh720-03-3.ex4  214 kb
 
hsyhsy863:
Ich würde Ihnen gerne einen benutzerdefinierten Indikator schicken, laden Sie ihn und löschen Sie ihn, versuchen Sie es und Sie werden es verstehen.
Hallo, haben Sie das Problem gefunden, das ich erwähnt habe?