Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 663
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
5 Pfund für eine Antwort?
)
Ich warte...
Nachmittags. Der Indikator muss Daten von einem anderen Indikator erhalten, beim Laden des Indikators wird die Geschichte angezeigt, neue Werte werden nicht aktualisiert, bitte beraten, was ist der Fehler in der Schleife oder irgendwo anders:
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated, // Количество просчитанных баров
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int limit;
int counted_bars = IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = Bars - counted_bars - 500;
for (int i=limit; i>=0; i--)
{
Buf_1[i]=iCustom(Symbol(), 0,"ATR", 0, i);//При подстановке любого индикатора нет обновления!!!
}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
Eine solche Situation, ich bekomme einen Fehler - können Sie mir helfen, zu verstehen, warum ein Fehler auftritt - in MQL5 können Sie nicht den Wert der Benutzereingabe-Variable ändern?
Schlupf" - Konstante kann nicht geändert werden Kamikadze_MA-may.mq5 67 7
extern int Slippage = 10; // Проскальзывание
int init()
{
//3,5 знаков
if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
{
Slippage*=10;
}
return(INIT_SUCCEEDED);
}
}
Eine solche Situation, bekomme ich einen Fehler - können Sie mir helfen, zu verstehen, warum der Fehler auftritt - in MQL5 können Sie nicht den Wert einer Variablen durch den Benutzer eingegeben ändern?
Schlupf" - Konstante kann nicht geändert werden Kamikadze_MA-may.mq5 67 7
extern int Slippage = 10; // Проскальзывание
int init()
{
//3,5 знаков
if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
{
Slippage*=10;
}
return(INIT_SUCCEEDED);
}
}
So etwas gibt es nicht in 5
MarktInfo
Ich weiß nichts über Slippage)
Dieser ist nicht in der 5pc.
MarktInfo
Was soll's - warum schreibt er es nicht in die Fehlerliste...
Welche Art von Analogie sollte ich verwenden?
Oh, Mist - warum schreibt er es nicht als Fehler...
Welche Art von Analogie sollte ich verwenden?
In demselben Thread ging es letztes Wochenende um den Wechsel zu 5-circa.
Von meinem Beitrag und zurück lesen Sie alle Beiträge auf 2-3 Seiten
https://www.mql5.com/ru/forum/6343/page662#comment_2930149
Im gleichen Thread ging es am vergangenen Wochenende um die Umstellung auf 5k.
Von meinem Beitrag und zurück lesen Sie alle Beiträge auf 2-3 Seiten
https://www.mql5.com/ru/forum/6343/page662#comment_2930149
Ja, ich habe diesen Artikel bereits geöffnet - vielen Dank. Ich habe MarketInfoMQL4 Funktion eingefügt, aber das Ergebnis ist negativ.... Ich habe es vielleicht an die falsche Stelle gesetzt...
MarketInfo(Symbol(),MODE_DIGITS) ist (int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)
Sie sollten sich besser mit den Tiefen der Substitution in Funktionen befassen
Sie wird eleganter und näher an MQL5 sein.
Nehmen Sie sich also Zeit.
Sie benötigen keine Bibliotheken und fremden Funktionen. Sie sollten lernen, in reinem MQL5 zu schreiben.
Eine solche Situation, ich bekomme einen Fehler - können Sie mir helfen, zu verstehen, warum ein Fehler auftritt - in MQL5 können Sie den Wert der Benutzereingabe-Variable nicht ändern?
Schlupf" - Konstante kann nicht geändert werden Kamikadze_MA-may.mq5 67 7
extern int Slippage = 10; // Проскальзывание
int init()
{
//3,5 знаков
if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
{
Slippage*=10;
}
return(INIT_SUCCEEDED);
}
}
MarketInfo(Symbol(),MODE_DIGITS) ist (int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)
Sie sollten sich besser mit den Tiefen der Substitution in Funktionen befassen
Sie wird eleganter und näher an MQL5 sein.
Nehmen Sie sich also Zeit.
Sie benötigen keine Bibliotheken und fremden Funktionen. Sie sollten lernen, in reinem MQL5 zu schreiben.
Übrigens, die Funktion von MarketInfoMQL4() führt zu einem Fehler - wie kann man ihn beheben? (das Erlernen von zwei Sprachen wird mein Gehirn zum Kochen bringen - ich muss in der Lage sein, zu überprüfen, wie die Ideen auf dem Aktienmarkt funktionieren, ohne tiefes Coding)
'(' - Name erwartet Kamikadze_MA-may.mq5 332 17
'::' - Name erwartet Kamikadze_MA-may.mq5 332 17
double MarketInfoMQL4(string symbol,
int type)
{
switch(type)
{
case MODE_LOW:
return(SymbolInfoDouble(symbol,SYMBOL_LASTLOW));
case MODE_HIGH:
return(SymbolInfoDouble(symbol,SYMBOL_LASTHIGH));
case MODE_TIME:
return(SymbolInfoInteger(symbol,SYMBOL_TIME));
case MODE_BID:
{
MqlTick last_tick;
SymbolInfoTick(symbol,last_tick);
double Bid=last_tick.bid;
return(Bid);
}
case MODE_ASK:
{
MqlTick last_tick;
SymbolInfoTick(symbol,last_tick);
double Ask=last_tick.ask;
return(Ask);
}
case MODE_POINT:
return(SymbolInfoDouble(symbol,SYMBOL_POINT));
case MODE_DIGITS:
return(SymbolInfoInteger(symbol,SYMBOL_DIGITS));
case MODE_SPREAD:
return(SymbolInfoInteger(symbol,SYMBOL_SPREAD));
case MODE_STOPLEVEL:
return(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
case MODE_LOTSIZE:
return(SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE));
case MODE_TICKVALUE:
return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE));
case MODE_TICKSIZE:
return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_SIZE));
case MODE_SWAPLONG:
return(SymbolInfoDouble(symbol,SYMBOL_SWAP_LONG));
case MODE_SWAPSHORT:
return(SymbolInfoDouble(symbol,SYMBOL_SWAP_SHORT));
case MODE_STARTING:
return(0);
case MODE_EXPIRATION:
return(0);
case MODE_TRADEALLOWED:
return(0);
case MODE_MINLOT:
return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN));
case MODE_LOTSTEP:
return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
case MODE_MAXLOT:
return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX));
case MODE_SWAPTYPE:
return(SymbolInfoInteger(symbol,SYMBOL_SWAP_MODE));
case MODE_PROFITCALCMODE:
return(SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE));
case MODE_MARGINCALCMODE:
return(0);
case MODE_MARGININIT:
return(0);
case MODE_MARGINMAINTENANCE:
return(0);
case MODE_MARGINHEDGED:
return(0);
case MODE_MARGINREQUIRED:
return(0);
case MODE_FREEZELEVEL:
return(SymbolInfoInteger(symbol,SYMBOL_TRADE_FREEZE_LEVEL));
default: return(0);
}
return(0);
}