können Sie, aber es wird nicht gerade eine Zeitschaltuhr sein.
Ich danke Ihnen.
Wie berechne ich das Losvolumen in Inkrementen? Wenn Einlage =1000, Lot = 0,1, Einlage wurde 2000, Lot = 0,2. Das heißt, wenn die Kaution 1500 oder 1700 beträgt, wird die Menge nicht erhöht.
Wie berechne ich das Losvolumen in Inkrementen? Wenn Einzahlung =1000, Lot = 0.1, Einzahlung wurde 2000, Lot = 0.2. Das heißt, wenn die Kaution 1500 oder 1700 beträgt, erhöht sich die Menge nicht.
double percentLot = 0.01,
lot = NormalizeDouble(MathFloor(AccountInfoDouble(ACCOUNT_BALANCE)*percentLot/10)/10, 1);
Nein, nein, bei einer Einzahlung von 1100 beträgt das Los 0,11, und ich muss das Los nicht auf 2000 erhöhen. Wie kann ich in den Einstellungen den Schritt =1000 einstellen?
Guten Tag, könnten Sie mir bitte sagen, ob es möglich ist, Koordinaten an den Indexer, um die Maus hinzuzufügen, wenn Sie können, bitte mailen Sie mir an ereminmikola@yandex.ru
Hallo Programmierer. Könnten Sie mir einen Tipp geben, wie ich die folgende Bedingung richtig angehen kann?
1. Der Expert Advisor eröffnet 2 Market Orders (Kauf und Verkauf) mit demselben in den Einstellungen angegebenen Lot. - Der Auftrag wird ohne Probleme ausgeführt
Der nächste stellt ein Problem dar, denn der Preis kann sich sowohl in Richtung VERKAUF als auch in Richtung KAUF bewegen. Wie können wir den Code so einrichten, dass der Expert Advisor, wenn n Punkte überschritten wurden, die Rentabilität dieser beiden Geschäfte in LIVE überprüft und die Order schließt, die nach n Punkten einen negativen Saldo aufweist? Wenn Sie andere Ideen haben, wie man das machen kann, teilen Sie uns diese bitte mit.
Ich gebe Ihnen den Code - Entwurf, nur der erste Punkt wird ausgeführt, und 2 Trades werden mit TP und SL geöffnet
2. Wenn der Preis die angegebene Anzahl von Punkten erreicht, schließe ich den Auftrag mit einem Minussaldo und eröffne 2 weitere Aufträge (Kauf und Verkauf) mit demselben Lot,
Die Stopps werden zum Eröffnungskurs der ersten Order gesetzt, d.h. bei einer Trendumkehr sollten alle 3 Orders gleichzeitig geschlossen werden.
externint _ms = 1000;
externdouble _lots = 0.01;
externdouble _TP = 80;
externdouble _SL = 35;
int _mn;
double pt;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
pt = Point;
if (Digits==3||Digits==5) {pt*=10;} else pt = Point;
_mn = MagicNumberGenerator(_ms);
Print("The magic number is ",_mn);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
if (IsNewCandle())
{
if (TotalOpenOrders(_mn)==0)
{
EnterTrade(OP_BUY);
EnterTrade(OP_SELL);
}
}
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Открытие первых позиций |//+------------------------------------------------------------------+void EnterTrade(int type)
{
double price = 0; double sl = 0; double tp = 0; double lot = _lots;
if (type == OP_BUY) price = Ask;
elseif (type == OP_SELL) price = Bid;
int err = 0;
int ticket = OrderSend(_Symbol, type, lot, price, 30, 0, 0, NULL, _mn, 0, clrGreen);
if (ticket == -1)
{
err = GetLastError();
Print("Could not place the order due to error ",err," ",ErrorDescription(err));
if (err == ERR_TRADE_NOT_ALLOWED) Alert("You need to enable you autotrade button");
}
else
{
if(!OrderSelect(ticket,SELECT_BY_TICKET))
{
err = GetLastError();
Print("Could not select the order due to error ",err," ",ErrorDescription(err));
}
else
{
if (OrderType()==OP_SELL)
{
sl = OrderOpenPrice()+(_SL*pt);
if (_SL==0) sl = 0;
tp = OrderOpenPrice()-(_TP*pt);
}
elseif (OrderType()==OP_BUY)
{
sl = OrderOpenPrice()-(_SL*pt);
if (_SL==0) sl = 0;
tp = OrderOpenPrice()+(_TP*pt);
}
if(!OrderModify(ticket, OrderOpenPrice(), sl, tp, 0, clrNONE))
err = GetLastError();
Print("Could not modify the order due to error ",err," ",ErrorDescription(err));
}
}
}
Die Aufgabe besteht darin, den Balken mit der geringsten Schließung zu finden
for(int x=0; x<=xBars -1; x++)
{
Gegen++;
// Print(Close[x],",",counter);
int h = ArrayMinimum(Close[x]);
if(Zähler > 20) break;
}
Compiler schwört auf Close
Schreiben Sie die Schlusskurse in ein separates Array und dann außerhalb des ArrauMinimum-Kükens
Die Aufgabe besteht darin, den Balken mit dem geringsten Abstand zu finden
es gibt die Funktionen iHighest und iLowest (jetzt auch im MT5)
es gibt die Funktionen iHighest und iLowest (jetzt auch im MT5)
Die Aufgabe besteht darin, den Balken mit der geringsten Schließung zu finden
for(int x=0; x<=xBars -1; x++)
{
Gegen++;
// Print(Close[x],",",counter);
int h = ArrayMinimum(Close[x]);
if(Zähler > 20) break;
}
Der Compiler schwört auf Close
Die Aufgabe der Suche nach dem minimalen/maximalen Preis in MQL4 wird durch eine Zeile gelöst:
können Sie, aber es wird nicht gerade eine Zeitschaltuhr sein.
Ich danke Ihnen.
Wie berechne ich das Losvolumen in Inkrementen? Wenn Einlage =1000, Lot = 0,1, Einlage wurde 2000, Lot = 0,2. Das heißt, wenn die Kaution 1500 oder 1700 beträgt, wird die Menge nicht erhöht.
Ich danke Ihnen.
Wie berechne ich das Losvolumen in Inkrementen? Wenn Einzahlung =1000, Lot = 0.1, Einzahlung wurde 2000, Lot = 0.2. Das heißt, wenn die Kaution 1500 oder 1700 beträgt, erhöht sich die Menge nicht.
Irgendwie...
Etwa so...
Nein, nein, bei einer Einzahlung von 1100 beträgt das Los 0,11, und ich muss das Los nicht auf 2000 erhöhen. Wie kann ich in den Einstellungen den Schritt =1000 einstellen?
Hallo Programmierer. Könnten Sie mir einen Tipp geben, wie ich die folgende Bedingung richtig angehen kann?
1. Der Expert Advisor eröffnet 2 Market Orders (Kauf und Verkauf) mit demselben in den Einstellungen angegebenen Lot. - Der Auftrag wird ohne Probleme ausgeführt
Der nächste stellt ein Problem dar, denn der Preis kann sich sowohl in Richtung VERKAUF als auch in Richtung KAUF bewegen. Wie können wir den Code so einrichten, dass der Expert Advisor, wenn n Punkte überschritten wurden, die Rentabilität dieser beiden Geschäfte in LIVE überprüft und die Order schließt, die nach n Punkten einen negativen Saldo aufweist? Wenn Sie andere Ideen haben, wie man das machen kann, teilen Sie uns diese bitte mit.
Ich gebe Ihnen den Code - Entwurf, nur der erste Punkt wird ausgeführt, und 2 Trades werden mit TP und SL geöffnet
2. Wenn der Preis die angegebene Anzahl von Punkten erreicht, schließe ich den Auftrag mit einem Minussaldo und eröffne 2 weitere Aufträge (Kauf und Verkauf) mit demselben Lot,
Die Stopps werden zum Eröffnungskurs der ersten Order gesetzt, d.h. bei einer Trendumkehr sollten alle 3 Orders gleichzeitig geschlossen werden.