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
DistMarketAndPos() Funktion.
Los geht's! Hier kommen weitere interessante Funktionen! Sie gibt zum Beispiel den Abstand in Pips zwischen dem Markt und der nächstgelegenen Position an. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter festgelegt:
Die Funktion DistMarketAndPos().
Los geht's! Gehen wir zu interessanteren Funktionen über! Sie gibt zum Beispiel die Entfernung zwischen dem Markt und der nächstgelegenen Position in Punkten an. Die genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter festgelegt:
Ichversuche, es hin und her zu schaffen und Aufträge hin und her zu öffnen. Ich habe einen Fehler, helfen Sie mir, ihn zu beheben.
extern int TakeProfit = 150;
extern double Lot = 0,01;
extern inttern MAGIC = 1234;
int start()
{
wenn (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,Ask+TakeProfit*Point)
}
zurück(0);
}
int DistMarketAndPos(string sy="", int op=OP_BUY, int mn=-1)
{
Doppel-D, P;
int i, k=OrdersTotal(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0,00001; sonst p=0,01;
for (i=0; i<k; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
wenn ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
if (mn<0 || OrderMagicNumber()==mn)
{
if (Auftragsart()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeDouble(d, 0);
}
wenn (Auftragsart()==OP_SELL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
//----------------------------------------------------------------------------------------------------------------------------------------------
wenn (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_SELL,Lot,Ask,3,0,Ask-TakeProfit*Point);
}
zurück(0);
{
int DistMarketAndPos(string sy="", int op=OP_SELL, int mn=-1) //diese Zeile ergibt 1 Fehler,
//wenn diese Zeile entfernt wird,
//er kompiliert, aber dann
//Ich setze nicht op=OP_SELL,
//und ohne sie wird der Expert Advisor denken,
//dass der Auftrag, aus dem Sie berechnen wollen
//Entfernung ist OP_BUY
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0,00001; sonst p=0,01;
for (i=0; i<k; i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
wenn ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
if (mn<0 || OrderMagicNumber()==mn)
{
if (Auftragsart()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeDouble(d, 0);
}
wenn (Auftragsart()==OP_SELL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
zurück(r);
zurück(r);
}
}
//-------------------------------------------------------------------------------------------
DANKESCHÖN
Ichversuche, das Programm zum Laufen zu bringen und Bestellungen zu öffnen. Ich habe einen Fehler, den ich nicht loswerde, bitte helfen Sie mir, ihn zu beheben.
DANKESCHÖN
Sie sollten es versuchen:
Und bei Fragen hier...
Funktion MovingInWL().
Kann mir jemand erklären, warum man Funktionen, die nicht funktionieren, veröffentlichen sollte?
'LevelWLoss' - nicht angegebener Bezeichner
'LevelProfit' - nicht angegebener Bezeichner
'ModifyOrder' - Funktion nicht definiert
'LevelWLoss' - nicht angegebener Bezeichner
'LevelProfit' - nicht angegebener Bezeichner
'ModifyOrder' - Funktion nicht definiert
6 Fehler, 0 Warnung(en)
und dies innerhalb der Funktion selbst
Kann mir jemand erklären, warum man Funktionen, die nicht funktionieren, veröffentlichen sollte?
'LevelWLoss' - nicht angegebener Bezeichner
'LevelProfit' - nicht angegebener Bezeichner
'ModifyOrder' - Funktion nicht definiert
'LevelWLoss' - nicht angegebener Bezeichner
'LevelProfit' - nicht angegebener Bezeichner
'ModifyOrder' - Funktion nicht definiert
6 Fehler, 0 Warnung(en)
und dies ist innerhalb der Funktion selbst
Die Funktion funktioniert, aber sie ruft die Funktion ModifyOrder auf, die zum EA-Code hinzugefügt werden sollte, und fügt dem EA auch die Variablen LevelWLoss und LevelProfit hinzu, etwa wie folgt
extern int LevelProfit = 1000;
extern int LevelWLoss = 50;
Vielen Dank für diesen Forumsbeitrag. Ein großes Dankeschön an lurii Tokman für die Beiträge. Ich persönlich bin fast so weit, ihn mit Stroustrup gleichzusetzen.
Ich danke Ihnen!
Die Funktion GetAmountLotFromOpenPos().
Diese Funktion gibt die Summe der Lose der offenen Positionen zurück. Eine genauere Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
Kommt nicht zurück!!!
egal wie ich es mache, entweder Nullen oder " Ereignisbehandlungsfunktion nicht gefunden 4.mq4 1 1
"
Vielen Dank für diesen Forumsbeitrag. Ein großes Dankeschön an lurii Tokman für die Beiträge. Ich persönlich bin fast so weit, ihn mit Stroustrup gleichzusetzen.
Ich danke Ihnen!