[Logo] Spazio Aperto Banca Sella
[Register] Registrati   [Login] Login    
[Search] Ricerca   [Recent Topics] Argomenti Recenti   [Hottest Topics] Argomenti vivaci  
[Banner Pubblicitario]
Messaggi inviati da: Henry77
Indice dei Forum » Profilo per Henry77 » Messaggi inviati da Henry77
Autore Messaggio
Buongiorno,

Su un trading system non si puo' avere piu di 88 candele mensili, anche se ho impostato il tempo di partenza di 15 anni.
Ho provato sul Fiat, sul grafico me le fa vedere tutte fino a 15 anni circa, sul TS invece no.
Potete aggiungere questa possibilita? altrimenti è un time frame quasi inutile sul mensile, troppe poche candele e i gli indicatori sono completamente errati

Non ho sentito ancora nessuna risposta...
Buongiorno,

nel codice di un indicatore è possibile usare dei valori di a un particolare strumento finanziario come un indice od una azione ?
(uno strumento su cui non vado ad usare l'indicatore stesso, ma un altro che mi serve per riferimento)

Grazie

Qualche novita?
Mandato mail e Trading System di esempio su cui indagare all'indirizzo indicato.
Sarei grato se qualcuno di Sella prendesse in mano questo problema bloccante.
Grazie
Ciao,
si tratta dell'operatore modulo,
Guarda qui come esempio:
https://www.mrwebmaster.it/javascript/operatore-modulo-javascript_11318.html

Ottimo!
io ho provato sia con il backtest che con il monitor funziona correttamente come atteso.
Entrambi gli eventi nel tick funzionano correttamente.( ho provato con una serie di 1ms e daily)

Per quanto riguarda le altre domande sul passaggio di variabili su piu trading system non so risponderti, non credo, bisogna chiedere a Sella.
vero hai ragione, devi inizializzare il tempo della candela nel tf tick. Questo lo puoi fare solo una volta in quanto nel corso del giorno viene cambiata solo una volta (essendo daily)

Puoi eliminare l'evento daily e usare l'evento tick. Ma devi sempre avere dichiarato gli indicatori daily ovviamente.

if (SystemContext.EventType == TSEventType.Tick)
{
if (SystemContext.PriceSerie == psTFDAILY) //Daily
{
if (UserContext.CountDaily == 0) // questo serve per aggiornare solo una volta, non serve ad ogni tick
{
var tDailytick = SystemContext.PriceSerie.LastCandleIndex;
UserContext.tDailyCurrent = tDailytick;
UserContext.CountDaily =1;
}
}

}
qualche novità per la soluzione del problema?
Grazie
Ciao,

ti giro un esempio di codice commentato, spero si capisca come si possa fare.
In ogni caso devi dichiarare gli indicatori nei time frame che desideri in questo caso 1min e daily
Per poter aggiornare gli indicatori daily sul tf 1 min devi usare il UserContext.tDailyCurrent altrimenti se non vuoi aggiornarli puoi usare UserContext.tDailymenouno.
Questi due variabili sono memorizzate nello UserContext che servono per memorizzare dati tra un evento e l'altro. Il trucco sta a memorizzare le candele dei singoli tf che ti interessano.

esempio:
* 1 MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN 1MIN */
if(SystemContext.EventType == TSEventType.Candle && SystemContext.PriceSerie == psTF1MIN)
{

UserContext.t1Current = SystemContext.PriceSerie.LastCandleIndex; // 1min // tempo della candela corrente dove si possono aggiornare i dati con i tf diversi
if (UserContext.t1Current > 0)
{
t1 = SystemContext.PriceSerie.LastCandleIndex - 1; // questa è il tempo della candela precedente già chiusa, ha un valore ormai definito e fisso


UserContext.ema11_1min_tmpV = EMA11_1MIN.Values[t1]; // esempio di indicatore sul tf 1min

UserContext.Sma20_daily_tmpV = SMA20_DAILY.Values[UserContext.tDailyCurrent]; // qui c'è il valore aggiornato dell'indicatore sul time frame daily aggiornato ad 1 min.

UserContext.Sma20_daily_tmpV = SMA20_DAILY.Values[UserContext.tDailymenouno]; // qui c'è il valore dell'indicatore sul time frame daily ma rimane fisso, visto che la candela è chiusa.
}
}


/* DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY DAILY */
if(SystemContext.EventType == TSEventType.Candle && SystemContext.PriceSerie == psTFDAILY)
{
UserContext.tDailyCurrent = SystemContext.PriceSerie.LastCandleIndex ; // Daily // candela corrente dove si possono aggiornare i dati con i tf diversi
if(UserContext.tDailyCurrent > 0)
{
tDaily = SystemContext.PriceSerie.LastCandleIndex - 1;
UserContext.tDailymenouno = tDaily;


UserContext.Sma20_daily_tmpV = SMA20_DAILY.Values[UserContext.tDailymenouno]; // esempio di indicatore daily
}
}

Buongiorno,

In un trading system correttamente compilato senza nessun tipo di errore, quando vado ad eseguire il back test dopo poco mi viene generato un eccezione di sellaExtreme che mi fa chiudere l'applicazione.
L'errore che presenta la finestra del sistema operativo è di stuck overflow.
Il trading system fa un largo uso di variabili nelle UserContext.
Credo sia quello il motivo, ma non capisco a questo punto che limitazione abbiate potuto mettere su un personal computer.
Potete aumentare la dimensione delle variabili da usare nello UserContetx e SafeContext, credo si possa fare.

Grazie

Ciao,
L'evento TIme viene generato ogni secondo, l'unica possibilità che vedo è che l'uguaglianza
if(s==secondi) non venga eseguita...
Molto probabilmente le due variabili s e secondi non sono nello stesso formato e non sono uguali. Prova a stampare le 2 variabili con la funzione Log("s = "+s +" secondi = "+secondi)
e vedere cosa stampa prima dell'if.
Buongiorno,

con la nuova versione di SellaExtreme è molto lento inserire il codice, devo scrivere a rallentatore.
Tutti gli altri programmi su windows funzionano perfettamente.
Potete aumentare la velocità di inserimento?

Grazie
 
Indice dei Forum » Profilo per Henry77 » Messaggi inviati da Henry77
Vai a:   
E.t.v.s.p.b WLS11G