Hallo zusammen, ich habe einen eigenen EA und versuche beim Schliessen der Positionen Kommission und Swap zu berücksichigen.
Nun habe ich 2 verschiedene Möglichkeiten mit ebenso verschiedenen Resultaten. Die Ergebnisse unterscheiden sich interessanterweise nicht gross im Endresultat, jedoch habe ich bei der Anzahl gewonnener Positionen (Sell&Buy) einmal ~83% und mit der anderen "Version" ~93%... Vllt. kann mir jemand dabei helfen zu bestimmen welche der 2 Möglichkeiten denn nun die Richtige ist, bzw. ob es da sonst noch Fehler drin hat:
Code:
for (pos = OrdersTotal()-1; pos >= 0; pos--) {
if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) {
cOrderProfit=OrderProfit()+OrderSwap()+OrderCommission();
//----
if (UseCloseIndicator == 1) {
if(OrderType()==OP_BUY) {
if(cOrderProfit > 0 && PriceBid >= channel_main) {
RefreshRates();
if(OrderClose(OrderTicket(), OrderLots(), PriceBid, 3, Blue)==true)
pos--;
}
}
und:
Code:
for (pos = OrdersTotal()-1; pos >= 0; pos--) {
if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) {
//----
if (UseCloseIndicator == 1) {
if(OrderType()==OP_BUY) {
if(Profit() > 0 && PriceBid >= channel_main) {
RefreshRates();
if(OrderClose(OrderTicket(), OrderLots(), PriceBid, 3, Blue)==true)
pos--;
}
}
//----
bool Profit()
{
double TotalProfit = 0;
for(int iPos = OrdersTotal()-1; iPos >= 0; iPos--)
if(OrderSelect(iPos, SELECT_BY_POS)
&& OrderMagicNumber() == Magic
&& OrderSymbol() == Symbol())
TotalProfit += OrderProfit()+OrderSwap()+OrderCommission();
return (TotalProfit);
}