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
Es ist ein hartnäckiger Wunsch, sich selbst zu täuschen und zu betrügen :) .
Hinzugefügt: Haben Sie versucht, alle Symbole anzuzeigen und die Spalte "Zeit" im Fenster "Marktübersicht" einzublenden und das Bitcoin-Symbol zu entdecken, das ununterbrochen gehandelt wird? Auch ein solcher Basis-Check ist hilfreich:
Keine Einheitslösung, aber für mich funktioniert sie
bool CanTrade()
{
bool res1=IsTradeAllowed(Symbol(), TimeCurrent());
bool res2=IsTradeAllowed(Symbol(), TimeCurrent()+4000); //с запасом,
if (!res1) return false; //сейчас торговать запрещено
if (res1 && res2) return true; //и сейчас и через час торговать можно
return false; //если зависло разрешение от TimeCurrent, то через час (или с запасом в несколько минут) покажет фалсе.
// Но наверняка есть ситуации когда реально сейчас можно торговать а через час нельзя - тогда неправильный ответ :(
}
Aber es gibt sicherlich Situationen, in denen man wirklich jetzt handeln kann und nicht in einer Stunde
Natürlich tut sie das - jedes Mal eine Stunde vor Börsenschluss ))))
Da bin ich anderer Meinung. Das letzte auf dem Bildschirm eingefrorene Datum ist Freitag 21:59 Uhr. Wenn ich Shift auf 3600 Sekunden setze, gibt der zweite Parameter IsTradeAllowed(Symbol(), TimeCurrent()+3600 trude zurück. Ich habe einige zusätzliche Sekunden hinzugefügt, damit es funktioniert. Nun, wenn es Freitag um 21:50 Uhr ist, sollte alles funktionieren.
Um ehrlich zu sein, habe ich das nicht überprüft, sondern nur die Verbindung zum Broker Reconnector (den ich irgendwo im Forum gefunden habe), der an den Wochenenden immer die Verbindung wiederherstellt. Für mich ist es also nicht von Bedeutung.
bool MarketOpen(string Symbl)
{
if(IsTradeAllowed(Symbl,TimeCurrent()+1)==false)return(false); //рынок закрыт
return(true);
}
bool MarketOpen(string Symbl)
{
if(IsTradeAllowed(Symbl,TimeCurrent()+1)==false)return(false); //рынок закрыт
return(true);
}
Das ist unterschiedlich, so dass diese Prüfung keine Garantie darstellt.
Der Handel durch Experten ist also verboten, aber der Markt ist offen.
Jetzt, am Montag, ist der Markt geöffnet, und die Sachverständigen werden vom Büro verbannt:
Im Gegenteil, es kommt vor, dass in einigen anderen Büros an Wochenenden, wenn der Markt geschlossen ist, diese Kontrollen anzeigen, dass der Markt geöffnet ist und die Experten die Erlaubnis zum Handel erhalten haben.
gestern.
Bis jetzt funktioniert es,
Dieser hier nicht:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Woher weiß ich, dass an den Wochenenden kein Handel stattfindet?
Renat Akhtyamov, 2018.02.11 05:27
DANKESCHÖN!
Für MT4.
bool IsSessionOpen(string smb)
{
//MqlDateTime dt; datetime tc=TimeTradeServer(dt);
datetime tc= TimeCurrent();
// проверяем время торгов по инструменту
datetime t=(datetime)SymbolInfoInteger(smb, SYMBOL_EXPIRATION_TIME);
if (tc>t && t>0) return(false);
t=(datetime)SymbolInfoInteger(smb, SYMBOL_START_TIME);
if (tc<t && t>0) return(false);
// проверяем сессии инструмента
datetime ds=tc/(60*60*24); ds*=(60*60*24); // начало сегодня
datetime sec=tc-ds; // число секунд от начала дня
bool b=false;
for (int l=0; l<10; l++) // подразумеваем, что админ сделал не более 10 сессий в сутки
{
datetime fs, ts;
if (!SymbolInfoSessionTrade(smb, TimeDayOfWeek(TimeCurrent()), l, fs, ts)) break; // данные сессии
if (sec>=fs && sec<=ts) return(true);
}
return(false);
}
Die Funktion 5p funktioniert irgendwie nicht:
(Ich frage mich warum???)
https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/cterminalinfo/cterminalinfoistradeallowed