Errori, bug, domande - pagina 1803
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
Oppure, come appena detto qui, chiedere il numero di barre, anche alcuni cicli.
Questo vale anche per gli indicatori. Creare un timer di 1 minuto e chiedere il numero di barre di tutte le serie temporali di interesse.
Controllando il fatto che la temporizzazione non è tenuta.
Cari sviluppatori! Ancora una volta chiedo di aggiungere il tempo in ms per i valori di sentimento(SYMBOL_SESSION_...) e tumbler( OnBookEvent()) il più presto possibile. Date la possibilità di fare la sincronizzazione di tutti i dati disponibili!
Metaquotes-Demo, simbolo 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)
Errore in SYMBOL_SESSION_PRICE_LIMIT_MIN: sopra Ask - nessun BuyLimit può essere impostato.
Per favore condividi la tua moto: una funzione bool che ti dice se un simbolo è pronto per essere scambiato o no.
{
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.
E se fosse in un indicatore?
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Bug, bug, domande
fxsaber, 2017.02.14 12:31
Subito dopo SymbolSelect(true) richiedo i prezzi e sono zero. Con _LastError == 0, SymbolInfoTick == true.
Come faccio a sapere che i prezzi su un nuovo simbolo per Marketwatch sono stati consegnati a Marketwatch?
Da qui le gambe.
Se l'indicatore traccia alcune statistiche su alcuni simboli sconosciuti, quando si seleziona il prossimo simbolo dal pannello, spesso non si possono ottenere subito i dati per esso, e la tabella conterrà le informazioni sbagliate... Come posso essere sicuro che i dati ricevuti dal simbolo siano corretti e in quantità sufficiente per ottenere ulteriori calcoli corretti?
Onestamente, non capisco. Mi chiedevo: come fate a sapere se un simbolo è pronto in un indicatore? Sleep() non funziona negli indicatori.
Se l'indicatore visualizza nella tabella alcuni dati statistici su simboli che non sono noti in anticipo, allora quando si seleziona il prossimo simbolo dal pannello, spesso non è possibile ottenere immediatamente i dati per esso, e la tabella visualizza informazioni false... Come posso essere sicuro, per ulteriori calcoli, che i dati ottenuti dal simbolo siano corretti, e in quantità sufficiente per ottenere ulteriori calcoli corretti?