Fehler, Irrtümer, Fragen - Seite 1803
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
Oder, wie hier schon gesagt, fragen Sie nach der Anzahl der Balken, auch einige Zyklen.
Dies gilt auch für Indikatoren. Erstellen Sie einen 1-Minuten-Timer und fragen Sie nach der Anzahl der Balken aller interessierenden Zeitreihen.
Die Überprüfung der Zeitmessung hält die Zeit nicht ein.
Liebe Entwickler! Ich bitte noch einmal darum, die Zeit in ms für die Sentiment-Werte(SYMBOL_SESSION_...) und tumbler( OnBookEvent()) so schnell wie möglich hinzuzufügen. Geben Sie die Möglichkeit, alle verfügbaren Daten zu synchronisieren!
Metaquotes-Demo, Symbol DIG-20170330
SymbolInfoDouble(Symb,SYMBOL_SESSION_PRICE_LIMIT_MIN) = 29528.0
(ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(Symb,SYMBOL_TRADE_MODE) = SYMBOL_TRADE_MODE_FULL (4)
Fehler in SYMBOL_SESSION_PRICE_LIMIT_MIN: über Asc - kein BuyLimit kann gesetzt werden.
Bitte teilen Sie Ihr Fahrrad: eine bool-Funktion, die Ihnen mitteilt, ob ein Symbol zum Handel bereit ist oder nicht.
{
MqlDateTime sTime = {0};
TimeToStruct(time, sTime);
return((ENUM_DAY_OF_WEEK)sTime.day_of_week);
}
// true - находимся в торговой сессии
bool SessionTrade( string Symb = NULL )
{
datetime TimeNow = TimeTradeServer();
const ENUM_DAY_OF_WEEK DayOfWeek = GetDayOfWeek(TimeNow);
TimeNow %= 24 * 60 * 60;
if ((Symb == NULL) || (Symb == ""))
Symb = Symbol();
bool Res = false;
datetime From, To;
for (int i = 0; SymbolInfoSessionTrade(Symb, DayOfWeek, i, From, To) && (!Res); i++)
Res = ((From <= TimeNow) && (TimeNow < To));
return(Res);
}
// Возвращает true, если символ торгуемый. Иначе - false.
bool SymbolTrade( string Symb = NULL, const int Pause = -1 )
{
MqlTick Tick;
if ((Symb == NULL) || (Symb == ""))
Symb = Symbol();
if (Pause >= 0)
Sleep(Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch.
return(SymbolInfoTick(Symb, Tick) ? ((Tick.bid != 0) && (Tick.ask != 0) && SessionTrade(Symb) &&
((ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(Symb, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL)) : false);
}
if (Pause >= 0)
Sleep(Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch.
Und wenn es in einem Indikator steht?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
fxsaber, 2017.02.14 12:31
Unmittelbar nach SymbolSelect(true) frage ich die Preise ab, und sie sind null. Bei _LastError == 0, SymbolInfoTick == true.
Woher weiß ich, dass die Preise für neue Symbole für Marketwatch an Marketwatch geliefert wurden?
Daher die Beine.
Wenn der Indikator einige statistische Daten zu Symbolen aufzeichnet, die vorher nicht bekannt sind, können Sie bei der Auswahl des nächsten Symbols aus dem Panel die Daten für dieses Symbol oft nicht sofort erhalten, und die Tabelle enthält dann falsche Informationen... Wie kann ich sicher sein, dass die vom Symbol empfangenen Daten korrekt sind und in ausreichender Menge vorliegen, um weitere korrekte Berechnungen zu erhalten?
Ehrlich gesagt, verstehe ich das nicht. Ich habe mich gefragt: Woher wissen Sie, ob ein Symbol in einem Indikator bereit ist? Sleep() funktioniert nicht in Indikatoren.
Wenn der Indikator in der Tabelle einige statistische Daten zu Symbolen anzeigt, die nicht im Voraus bekannt sind, dann können Sie bei der Auswahl des nächsten Symbols aus dem Panel oft nicht sofort die Daten dafür abrufen, und die Tabelle zeigt falsche Informationen an... Wie kann ich für weitere Berechnungen sicher sein, dass die aus dem Symbol gewonnenen Daten korrekt sind und in ausreichender Menge vorliegen, um weitere korrekte Berechnungen zu erhalten?