
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
È un desiderio persistente di ingannare e ingannarsi :) .
Aggiunto: Hai provato a visualizzare tutti i simboli e a mostrare la colonna "Tempo" nella finestra "Panoramica del mercato" e a scoprire il simbolo bitcoin che viene scambiato senza sosta? Inoltre, un tale controllo di base aiuta anche:
Non è una soluzione unica, ma funziona per me
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, то через час (или с запасом в несколько минут) покажет фалсе.
// Но наверняка есть ситуации когда реально сейчас можно торговать а через час нельзя - тогда неправильный ответ :(
}
Ma sicuramente ci sono situazioni in cui si può davvero fare trading ora e non tra un'ora
Certo che lo fa - ogni volta un'ora prima della chiusura del mercato ))))
Non sono d'accordo. L'ultima data congelata sullo schermo è venerdì 21:59. Se imposto lo spostamento a 3600 sec - il secondo parametro IsTradeAllowed(Symbol(), TimeCurrent()+3600 ritorna trude. Ho aggiunto alcuni secondi supplementari per farlo funzionare. Beh, se è venerdì alle 21:50, tutto dovrebbe funzionare.
Per essere onesto, non l'ho controllato, ho solo controllato la connessione al broker Reconnector (l'ho trovato da qualche parte sul forum) che si è sempre ricollegato nel fine settimana. Quindi non è significativo per me.
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);
}
Varia, quindi questo controllo non garantisce nulla.
Quindi il trading da parte degli esperti è vietato, ma il mercato è aperto.
Ora, lunedì, il mercato è aperto e gli esperti sono banditi dall'ufficio:
Al contrario, succede che in alcuni altri uffici nei fine settimana, quando il mercato è chiuso, questi controlli indicano che il mercato è aperto e gli esperti hanno avuto il permesso di commerciare.
ieri.
Finora funziona,
Questo non lo fa:
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Come faccio a sapere che non ci sono scambi nei fine settimana?
Renat Akhtyamov, 2018.02.11 05:27
GRAZIE!
Per 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);
}
c'è qualcosa nella funzione 5p che non funziona:
(Mi chiedo perché???)
https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/cterminalinfo/cterminalinfoistradeallowed