[Logo] Spazio Aperto Banca Sella
[Register] Registrati   [Login] Login    
[Search] Ricerca   [Recent Topics] Argomenti Recenti   [Hottest Topics] Argomenti vivaci  
[Banner Pubblicitario]
TS incrocio medie mobili  XML
Indice dei Forum » SellaExtreme 5
Autore Messaggio
Diego.Salgarella


Registrato: 17/02/2011 11:21:07
Messaggi: 1537
Offline

fabioge wrote:
---
1) come faccio a inserire un'istruzione che dica, ad esempio, che dopo le 16, se si forma un nuovo segnale, può essere solo chiusa le posizione aperta e non aperta una nuova (in pratica la posizione deve tornare a 0)

2) in ogni caso se dopo le 16 non si sono formati nuovi segnali e si è arrivati alle 17.20
---


Ciao fabioge

Per verificare una condizione oraria bisogna usare l'istruzione

Now().TimeofDay

per essere sicuri che questo controllo venga fatto a prescindere dalle condizioni di mercato userei l'evento

SystemContext.EventType == TSEventType.Time

Diego Salgarella
Resp IT Trading On Line
Diego.Salgarella


Registrato: 17/02/2011 11:21:07
Messaggi: 1537
Offline

Per fare un esempio concreto ...

di seguito un TS che, superata una certa ora passato come parametro, scrive una riga nella console

 Nome del File Fabioge_08.png [Disk] Download
 Descrizione Nessuna descrizione fornita
 Dimensione del File 8 Kbytes
 Scaricato:  0 tempo(i)


Diego Salgarella
Resp IT Trading On Line
Diego.Salgarella


Registrato: 17/02/2011 11:21:07
Messaggi: 1537
Offline

Questo è il risultato
 Nome del File Fabioge_09.png [Disk] Download
 Descrizione Nessuna descrizione fornita
 Dimensione del File 17 Kbytes
 Scaricato:  2 tempo(i)


Diego Salgarella
Resp IT Trading On Line
Diego.Salgarella


Registrato: 17/02/2011 11:21:07
Messaggi: 1537
Offline

Questo è l'export
 Nome del File ESEMPIO_I_30_TIME.exp [Disk] Download
 Descrizione Nessuna descrizione fornita
 Dimensione del File 1 Kbytes
 Scaricato:  4 tempo(i)


Diego Salgarella
Resp IT Trading On Line
Diego.Salgarella


Registrato: 17/02/2011 11:21:07
Messaggi: 1537
Offline

Se hai bisogno di altro chiedi pure ... devi solo avere un po' di pazienza per la risposta

Ciao
Diego Salgarella

Diego Salgarella
Resp IT Trading On Line
fabioge


Registrato: 21/08/2014 08:32:27
Messaggi: 67
Offline

Ok Diego no problem non sapevo dove eravate finiti, anche un altro utente ho visto che si è "lamentato"...magari dai la prossima volta mettete un avviso qui sul forum che siete momentaneamente assenti così almeno lo sappiamo tutti e non vi stressiamo.
Ti ringrazio per le risposte, poi me le guardo con calma stasera, l'unica cosa è che mi ricordo che avevi detto che l'evento time da problemi in backtest, così per individuare l'ora ho usato la funzione Hour associata all'evento candle, scopiazzando da un'altra risposta che avevi dato tempo fa usando "cutOffTime" come parametro non so se ricordi. In effetti la prima riga di backtest da errore java script, ma poi sembra funzionare bene..appena posso allegao qualcosa...ciao
Jack


Registrato: 02/02/2015 21:42:56
Messaggi: 178
Offline

Ciao Diego,
mi accodo a queste riposte per chiederti come impostare una condizione basata sul tempo.

Scopiazzando da un tuo altro esempio volevo impostare il TS in modo tale da eseguire controlli su alcune variabili dopo n secondi dall'ultimo ordine eseguito (secondi è un paramento).

non mi pare di aver sbagliato nulla ... ma non funziona ... quindi ho sicuramente sbagliato qualcosa ...

ci puoi dare un'occhiata?
grazie.


if(SystemContext.EventType == TSEventType.Time)
{
UserContext.SecondCount = UserContext.SecondCount + 1;
if(UserContext.SecondCount > secondi)
{
if(verifica condizioni di acquisto su variabili salvate nel safecontext)
{
Buy(titolo,quantità,prezzo);
UserContext.SecondCount = 0;
}}}

This message was edited 1 time. Last update was at 20/05/2015 21:43:37

fabioge


Registrato: 21/08/2014 08:32:27
Messaggi: 67
Offline

Questa invece è la mia versione "a tempo" di cui parlavo prima. Il ts va long sull'incrocio delle medie mobili solo se ci troviamo in un'ora inferiore a quella impostata come cutOffTime. Poi ovviamente il ts continua con l'opzione short e con la chiusura della posizione se ci troviamo in un'ora superiore a quella impostata...sbaglio qualcosa?

if(SystemContext.IsFirst)
{
UserContext.Position = 0;
}
if(SystemContext.EventType == TSEventType.Candle)
{
var lastCandle = SystemContext.PriceSerie.LastCandleIndex - 1;
var execQuantity = quantita;
if(UserContext.Position != 0)
execQuantity = quantita * 2;
Log("Qauntita' " + execQuantity + " Posizione " + UserContext.Position);
if(SMA.Values[lastCandle - 1] <= TMA.Values[lastCandle - 1] &&
SMA.Values[lastCandle] > TMA.Values[lastCandle] &&
ps.Time[lastCandle].TimeOfDay < cutOffTime)
{
//if(OrderManager.Buy(ps, execQuantity) != null)
// UserContext.Position = 1;
OrderManager.Buy(ps, execQuantity);
UserContext.Position = 1;
}
KingOfLosers


Registrato: 09/04/2015 15:21:27
Messaggi: 31
Offline

fabioge wrote:Questa invece è la mia versione "a tempo" di cui parlavo prima. Il ts va long sull'incrocio delle medie mobili solo se ci troviamo in un'ora inferiore a quella impostata come cutOffTime. Poi ovviamente il ts continua con l'opzione short e con la chiusura della posizione se ci troviamo in un'ora superiore a quella impostata...sbaglio qualcosa?

if(SystemContext.IsFirst)
{
UserContext.Position = 0;
}
if(SystemContext.EventType == TSEventType.Candle)
{
var lastCandle = SystemContext.PriceSerie.LastCandleIndex - 1;
var execQuantity = quantita;
if(UserContext.Position != 0)
execQuantity = quantita * 2;
Log("Qauntita' " + execQuantity + " Posizione " + UserContext.Position);
if(SMA.Values[lastCandle - 1] <= TMA.Values[lastCandle - 1] &&
SMA.Values[lastCandle] > TMA.Values[lastCandle] &&
ps.Time[lastCandle].TimeOfDay < cutOffTime)
{
//if(OrderManager.Buy(ps, execQuantity) != null)
// UserContext.Position = 1;
OrderManager.Buy(ps, execQuantity);
UserContext.Position = 1;
}


Ciao fabio provo io a risponderti se non ho inteso male quello che vuoi fare..

credo dovresti usare Now().TimeofDay al posto di ps.Time[lastCandle].TimeOfDay dato che il primo si riferisce al "momento" mentre il secondo fa riferimento all'ultima candela

sara.fabbro


Registrato: 15/04/2010 19:13:00
Messaggi: 485
Offline

Ciao, in questi giorni siamo a Rimini all'ITF forum per presentare in anteprima queste importanti novità: CFD - FOREX, BOOK INFINITO, APP SELLAXTRADING, STRATEGY BUILDER. Abbiamo preso in carico il vostri post, vi chiediamo di avere un po' di pazienza se magari non riusciamo a rispondervi velocemente, lo faremo appena possibile


Sara - Team Sella

fabioge


Registrato: 21/08/2014 08:32:27
Messaggi: 67
Offline

KingOfLosers wrote:
fabioge wrote:Questa invece è la mia versione "a tempo" di cui parlavo prima. Il ts va long sull'incrocio delle medie mobili solo se ci troviamo in un'ora inferiore a quella impostata come cutOffTime. Poi ovviamente il ts continua con l'opzione short e con la chiusura della posizione se ci troviamo in un'ora superiore a quella impostata...sbaglio qualcosa?

if(SystemContext.IsFirst)
{
UserContext.Position = 0;
}
if(SystemContext.EventType == TSEventType.Candle)
{
var lastCandle = SystemContext.PriceSerie.LastCandleIndex - 1;
var execQuantity = quantita;
if(UserContext.Position != 0)
execQuantity = quantita * 2;
Log("Qauntita' " + execQuantity + " Posizione " + UserContext.Position);
if(SMA.Values[lastCandle - 1] <= TMA.Values[lastCandle - 1] &&
SMA.Values[lastCandle] > TMA.Values[lastCandle] &&
ps.Time[lastCandle].TimeOfDay < cutOffTime)
{
//if(OrderManager.Buy(ps, execQuantity) != null)
// UserContext.Position = 1;
OrderManager.Buy(ps, execQuantity);
UserContext.Position = 1;
}


Ciao fabio provo io a risponderti se non ho inteso male quello che vuoi fare..

credo dovresti usare Now().TimeofDay al posto di ps.Time[lastCandle].TimeOfDay dato che il primo si riferisce al "momento" mentre il secondo fa riferimento all'ultima candela



ok grazie, è utilissimo il confronto anche fra utenti visto che ce ne sono di esperti...ti chiedo solo usando Now().TimeofDay funziona anche per i backtest?
KingOfLosers


Registrato: 09/04/2015 15:21:27
Messaggi: 31
Offline

fabioge wrote:
ok grazie, è utilissimo il confronto anche fra utenti visto che ce ne sono di esperti...ti chiedo solo usando Now().TimeofDay funziona anche per i backtest?


no non funziona con il back test.. infatti io ho fatto due codici separati
fabioge


Registrato: 21/08/2014 08:32:27
Messaggi: 67
Offline

KingOfLosers wrote:
fabioge wrote:
ok grazie, è utilissimo il confronto anche fra utenti visto che ce ne sono di esperti...ti chiedo solo usando Now().TimeofDay funziona anche per i backtest?


no non funziona con il back test.. infatti io ho fatto due codici separati


ok era per non usare troppi codici..volevo usare anche in real time il sistema "candle" però devo capire come ragiona il ts..ad esempio se in un tf a 10 minuti mi trovo nell'orario 17.25 a cavallo tra 2 candele, una completa (quella delle 17.10) e una in fase di formazione (la 17.20), con il temine "last candle" mi individua quella completa delle 17.10 o quella incompleta delle 17.20? Non so se mi sono spiegato...
KingOfLosers


Registrato: 09/04/2015 15:21:27
Messaggi: 31
Offline

fabioge wrote:
KingOfLosers wrote:
fabioge wrote:
ok grazie, è utilissimo il confronto anche fra utenti visto che ce ne sono di esperti...ti chiedo solo usando Now().TimeofDay funziona anche per i backtest?


no non funziona con il back test.. infatti io ho fatto due codici separati


ok era per non usare troppi codici..volevo usare anche in real time il sistema "candle" però devo capire come ragiona il ts..ad esempio se in un tf a 10 minuti mi trovo nell'orario 17.25 a cavallo tra 2 candele, una completa (quella delle 17.10) e una in fase di formazione (la 17.20), con il temine "last candle" mi individua quella completa delle 17.10 o quella incompleta delle 17.20? Non so se mi sono spiegato...


si ho capito ma non te lo so dire.. e non ho modo di verificare ora.. ad ogni modo non hai bisogno di troppi codici.. c'è una funzione RunningMode che puoi verificare per sapere se sei in backtest o real time e quindi usi due "if" differenti se non la conosci o non la trovi te la vado a cercare
Graziano


Registrato: 06/07/2011 19:52:30
Messaggi: 30
Offline

Non c'è modo di fare simulazione in tempo reale? Al cal center mi hanno detto di no. C'è solo il backtest (di cui non mi fido molto, infatti confrontando operazione per operazione trovo differenze) o lanciarlo direttamente in modo dispositivo.
Grazie
 
Indice dei Forum » SellaExtreme 5
Vai a:   
E.t.v.s.p.b WLS11G