Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Mehrere Magicnummern (http://www.expert-advisor.com/forum/showthread.php?t=6383)

Max2018 05.04.19 11:20

Mehrere Magicnummern
 
Hallo,
ich komme irgendwie nicht weiter.
Ich habe eine EA der mehrere Pending Orders anhand von eingezeichneten Rectangles einzeichnet. Die Magicnummern generiere ich mit

Code:

input int MagicNumberSTART=111;
for (int vv = 0; vv <= 300; vv++)
{
....
    MagicNumber=MagicNumberSTART+vv;
....
}

und unten habe ich noch eine Break Even Funktion

Code:

void breakeven()
{
int totalorders = OrdersTotal();
for(int i=totalorders-1;i>=0;i--)
{
if (!OrderSelect(i, SELECT_BY_POS)) continue;  //NEU
    if (OrderSymbol() != Symbol()) continue;//NEU
    if (OrderMagicNumber() != MagicNumber) continue;//NEU
bool result = false;
if ( OrderSymbol()==Symbol() )
{
if ( OrderType() == OP_BUY &&High[0]-OrderOpenPrice()>=((OrderOpenPrice()-OrderStopLoss())/2)*Point && OrderStopLoss()!=OrderOpenPrice()) result = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
if ( OrderType() == OP_SELL &&OrderOpenPrice()-Low[0]>=((OrderStopLoss()-OrderOpenPrice())/2)*Point && OrderStopLoss()!=OrderOpenPrice()) result = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
int error=GetLastError();
}
}
return;
}

Problem:

Die Break EvenFunktion erkennt die Magicnummern nicht und wendet die Funktion auf alle Positionen an.

AVT 06.04.19 10:38

Code:

input int MagicNumberSTART=111;
for (int vv = 0; vv <= 300; vv++)
{
....
    MagicNumber=MagicNumberSTART+vv;
....
}

Das ist wohl die jeweilige OrderMagicNumber().

Code:

void breakeven()
....
    if (OrderMagicNumber() != MagicNumber) continue;//NEU
....
}

Hier vergleichst Du die OrderMagicNumber() mit einer MagicNumber, aber wo kommt die her? Darin sehe ich das Problem.
Du könntest die OrderMagicNumber() in den Kommentar mit reinschreiben und sie dann mit Substring auslesen und vergleichen.
AVT


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:46 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum