Programmazione Prorealtime Prorealtime:formule, indicatori, oscillatori, tsi ... (7 lettori)

tetsuo

Guest
Provo a fare messaggio che risponde a tutti gli irrispondibili così uno per tutti e se dico cassate tutti contro uno ....:D


salve cerco aiuto e spiegazione, sto testando questo semplice ts, per poi elaborarlo
1 - nel forex mi da sempre risultato negativo
2- vorrei poter far entrata ed uscita in real al raggiungimento dell'indicazione e non alla chiusura della barra
grazie in anticipo a chi può aiutarmi

1) Scusa ma il fatto che anche se l'operazione è giusta segni un loss e che l'equity è scalettata ed ogni scalino si vede ad occhio ha la stessa altezza non ti suggerisce nulla? :) Ok io vado di chiaroveggenza e dico che hai impostato delle commisioni fisse per trade che incidono sulle performance in maniera enorme!! Ed anticipo anche la domanda che ti viene in mente ma allora perchè sulle azioni non mi succede ?? Il motivo è presto detto PRT tratta i forex come fossero futures quindi in gestione del capitale devi usare l'apposita scheda dove troverai il costo per transazione, il deposito per lotto, il valore per punto (non uso il forex con PRT quindi non ti so dire come settare correttamente tali valori). Avevi notato che comprava solo 9 contratti per volta ??? ;)

2) basta leggere meglio la maschera che hai usato per creare quel TS! nelle condizioni avrai sicuramente trovato due menu, uno ti chiedeva "vuoi controllare la condizione in tempo reale o chiusura barra?" e l'altro "vuoi comprare/vendere in tempo reale o chiusura barra?". Alla prima domanda hai messo tempo reale ma alla seconda no! giusto?


....
Vorrei poi sapere se è possibile misurare la differenza percentuale tra due azioni.

No!!!

Tra qui e gli altri 3d è stato scritto molte volte ed in maniera chiara !!!

Leggere tutte le pagine di un 3d inerente un argomento che ci interessa non è una perdita di tempo fidatevi ;)


come si vede dall'immagine, se cerco di inserirlo come indicatore nel grafico la maschera dove si impostano i vari parametri è talmente grande :eek:che supera le dimensioni dello schermo ma sopratutto non si riesce a " rullare in giù " per poterla scorrere:help:


modifica i valori di volta in volta dentro al codice semplicemente accedendovi tramite il tasto modifica (le varianti di questo suggerimento sono molteplici partiamo dalla più semplice ) :D:up:


Ciao a tutti e mi raccomando ricordiamoci sempre che per un "grande" problema c'è quasi sempre una "banale" soluzione :d:
 

gransasso

Forumer attivo
Provo a fare messaggio che risponde a tutti gli irrispondibili così uno per tutti e se dico cassate tutti contro uno ....:D

Ola! paesano!

Domandina (giusto per tenerti allenato :D) a pagine da 33 a 37 del manuale di probacktest ho scopiazzato le formule delle varie martingale e sembrano non funzionare, hai tempo per dargli un'occhiata? grazie
 

al-fx

Nuovo forumer
Provo a fare messaggio che risponde a tutti gli irrispondibili così uno per tutti e se dico cassate tutti contro uno ....:D




1) Scusa ma il fatto che anche se l'operazione è giusta segni un loss e che l'equity è scalettata ed ogni scalino si vede ad occhio ha la stessa altezza non ti suggerisce nulla? :) Ok io vado di chiaroveggenza e dico che hai impostato delle commisioni fisse per trade che incidono sulle performance in maniera enorme!! Ed anticipo anche la domanda che ti viene in mente ma allora perchè sulle azioni non mi succede ?? Il motivo è presto detto PRT tratta i forex come fossero futures quindi in gestione del capitale devi usare l'apposita scheda dove troverai il costo per transazione, il deposito per lotto, il valore per punto (non uso il forex con PRT quindi non ti so dire come settare correttamente tali valori). Avevi notato che comprava solo 9 contratti per volta ??? ;)

2) basta leggere meglio la maschera che hai usato per creare quel TS! nelle condizioni avrai sicuramente trovato due menu, uno ti chiedeva "vuoi controllare la condizione in tempo reale o chiusura barra?" e l'altro "vuoi comprare/vendere in tempo reale o chiusura barra?". Alla prima domanda hai messo tempo reale ma alla seconda no! giusto?



ok grazie, scusa ma sono alle prime armi come programmazione, ora funziona bene
 

tetsuo

Guest
Ola! paesano!

Domandina (giusto per tenerti allenato :D) a pagine da 33 a 37 del manuale di probacktest ho scopiazzato le formule delle varie martingale e sembrano non funzionare, hai tempo per dargli un'occhiata? grazie

Ciao grande com'và?

lasciale perdere le martingale quelle sono buone solo per i gestori di casinò e per quel furbastro di Tremorti :lol:


Comunque prova a postare un codice semplice semplice giusto da usare come motore (non deve essere performante) per controllare il money menagment così vediamo insieme cosa non funziona e perchè :up:
 

gransasso

Forumer attivo
ciao grande com'và?

Lasciale perdere le martingale quelle sono buone solo per i gestori di casinò e per quel furbastro di tremorti :lol:


Comunque prova a postare un codice semplice semplice giusto da usare come motore (non deve essere performante) per controllare il money menagment così vediamo insieme cosa non funziona e perchè :up:


Questo codice ad esempio acquista e vende quote senza apparente soluzione di continuità mentre dovrebbe semplicemente raddoppiare la puntata e non capisco dove sbaglio.

Codice:
ONCE OrderSize = 1
REM Acquisto
indicator1 = ExponentialAverage[10](close)
indicator2 = ExponentialAverage[20](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND TIME > 080000 AND TIME < 161500 THEN
 BUY ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
REM Vendita
c2 = (indicator1 CROSSES UNDER indicator2)
IF c2 OR TIME > 161500 THEN
 SELL AT MARKET ThisBarOnClose
ENDIF
IF PreviousTrade(1) < 0 THEN
 OrderSize = OrderSize * 2
ELSIF PreviousTrade(1) > 0 THEN
 OrderSize = 1
ENDIF
 
REM Vendita allo scoperto
C3 = (indicator1 CROSSES UNDER indicator2)
IF c3 AND TIME > 080000 AND TIME < 161500 THEN
 SELLSHORT ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
c4 = (indicator1 CROSSES OVER indicator2)
IF c4 OR TIME > 161500 THEN
 EXITSHORT AT MARKET ThisBarOnClose
ENDIF
IF PreviousTrade(1) < 0 THEN
 OrderSize = OrderSize * 2
ELSIF PreviousTrade(1) > 0 THEN
 OrderSize = 1
ENDIF
Grazie per il consiglio però ho una mezza idea di come sfruttare il giochino dei casinò..........
 

tetsuo

Guest
Codice:
ONCE OrderSize = 1
REM Acquisto
indicator1 = ExponentialAverage[10](close)
indicator2 = ExponentialAverage[20](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND TIME > 080000 AND TIME < 161500 THEN
 BUY ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
REM Vendita
c2 = (indicator1 CROSSES UNDER indicator2)
IF c2 OR TIME > 161500 THEN
 SELL AT MARKET ThisBarOnClose
ENDIF
IF PreviousTrade(1) < 0 THEN
 OrderSize = OrderSize * 2
ELSIF PreviousTrade(1) > 0 THEN
 OrderSize = 1
ENDIF


Ok
all'inizio ci teniamo solo la parte long che così risulta più semplice.

Nel testo effettivamente fanno confusione perchè lasciano intendere che la parte inerente la gestione della size debba andare così nuda e cruda mentre ovviamente deve essere gestita attraverso una condizione. (il perchè ad un certo punto cambi l'ordine long in short mi è ignoto :D)

Quindi come sempre deve essere adattata a quello che si vuol scrivere. Nell'esempio scelgo un semplice controllo della posizione sul mercato delle ultime due barre

Codice:
ONCE OrderSize = 1
REM Acquisto
indicator1 = ExponentialAverage[10](close)
indicator2 = ExponentialAverage[20](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND TIME > 080000 AND TIME < 161500 THEN
	BUY ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
REM Vendita
c2 = (indicator1 CROSSES UNDER indicator2)
IF c2 OR TIME > 161500  THEN
	SELL AT MARKET ThisBarOnClose
endif


if not onmarket and onmarket[1] then
	IF PreviousTrade(1) < 0 THEN
		OrderSize = OrderSize * 2
	ELSIF PreviousTrade(1) > 0 THEN
		OrderSize = 1
	ENDIF
endif


E questa è una shot sul future dax la prima equity (blu-arancio) è solo il motore senza martingala, quella verde e rosso e com il controllo della size, Il capitale è 10000, non sono contati commisioni e margine, e ogni punto è settato ad 1€.



DAX Full1210 Future.png



bella sbandata a dicembre :d:

arriva a caricare 32 contratti in soli 6 trade negativi consecutivi ..... :eek:
Paura eh.gif
:lol:



magari dopo cena provo a scrivere anche la versione long short e lì mi sa che ne vediamo delle belle :)
 

gransasso

Forumer attivo
Ok
all'inizio ci teniamo solo la parte long che così risulta più semplice.

Nel testo effettivamente fanno confusione perchè lasciano intendere che la parte inerente la gestione della size debba andare così nuda e cruda mentre ovviamente deve essere gestita attraverso una condizione. (il perchè ad un certo punto cambi l'ordine long in short mi è ignoto :D)

Quindi come sempre deve essere adattata a quello che si vuol scrivere. Nell'esempio scelgo un semplice controllo della posizione sul mercato delle ultime due barre

Codice:
ONCE OrderSize = 1
REM Acquisto
indicator1 = ExponentialAverage[10](close)
indicator2 = ExponentialAverage[20](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND TIME > 080000 AND TIME < 161500 THEN
    BUY ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
REM Vendita
c2 = (indicator1 CROSSES UNDER indicator2)
IF c2 OR TIME > 161500  THEN
    SELL AT MARKET ThisBarOnClose
endif
 
 
if not onmarket and onmarket[1] then
    IF PreviousTrade(1) < 0 THEN
        OrderSize = OrderSize * 2
    ELSIF PreviousTrade(1) > 0 THEN
        OrderSize = 1
    ENDIF
endif


E questa è una shot sul future dax la prima equity (blu-arancio) è solo il motore senza martingala, quella verde e rosso e com il controllo della size, Il capitale è 10000, non sono contati commisioni e margine, e ogni punto è settato ad 1€.



Vedi l'allegato 90188


bella sbandata a dicembre :d:

arriva a caricare 32 contratti in soli 6 trade negativi consecutivi ..... :eek:Vedi l'allegato 90189 :lol:



magari dopo cena provo a scrivere anche la versione long short e lì mi sa che ne vediamo delle belle :)

:up: come al solito!

Poi con calma facciamo qualche altro esempio, vedrai che non è tutta utopia;)
 

tetsuo

Guest
:up: come al solito!

Poi con calma facciamo qualche altro esempio, vedrai che non è tutta utopia;)

Nel frattempo io ho scritto la versione long/short, giusto per mostrare qualche esempio di adattamento.
Ho modificato un po' il codice ed inserito il check per la size direttamente nella condizione long/short così da farlo rispondere anche al cambio di direzione.


Codice:
ONCE OrderSize = 1


REM Acquisto
indicator1 = ExponentialAverage[10](close)
indicator2 = ExponentialAverage[20](close)

c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND TIME > 080000 AND TIME < 161500 THEN
	IF PreviousTrade(1) < 0 THEN
		OrderSize = OrderSize * 2
	ELSIF PreviousTrade(1) => 0 THEN
		OrderSize = 1
	ENDIF
	BUY ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
REM Vendita
c2 = (indicator1 CROSSES UNDER indicator2)
IF c2 OR TIME > 161500  THEN
	SELL AT MARKET ThisBarOnClose
endif

REM Vendita allo scoperto
C3 = (indicator1 CROSSES UNDER indicator2)
IF c3 AND TIME > 080000 AND TIME < 161500 THEN
		IF PreviousTrade(1) < 0 THEN
		OrderSize = OrderSize * 2
	ELSIF PreviousTrade(1) => 0 THEN
		OrderSize = 1
	ENDIF
	SELLSHORT ordersize SHARES AT MARKET ThisBarOnClose
ENDIF
c4 = (indicator1 CROSSES OVER indicator2)
IF c4 OR TIME > 161500 THEN
	EXITSHORT AT MARKET ThisBarOnClose
ENDIF

Sempre il dax stesse condizioni del precedente post...


DAX Full1210 Future.png





:titanic:
 

max3001

Forumer attivo
Provo a fare messaggio che risponde a tutti gli irrispondibili così uno per tutti e se dico cassate tutti contro uno ....:D




1) Scusa ma il fatto che anche se l'operazione è giusta segni un loss e che l'equity è scalettata ed ogni scalino si vede ad occhio ha la stessa altezza non ti suggerisce nulla? :) Ok io vado di chiaroveggenza e dico che hai impostato delle commisioni fisse per trade che incidono sulle performance in maniera enorme!! Ed anticipo anche la domanda che ti viene in mente ma allora perchè sulle azioni non mi succede ?? Il motivo è presto detto PRT tratta i forex come fossero futures quindi in gestione del capitale devi usare l'apposita scheda dove troverai il costo per transazione, il deposito per lotto, il valore per punto (non uso il forex con PRT quindi non ti so dire come settare correttamente tali valori). Avevi notato che comprava solo 9 contratti per volta ??? ;)

2) basta leggere meglio la maschera che hai usato per creare quel TS! nelle condizioni avrai sicuramente trovato due menu, uno ti chiedeva "vuoi controllare la condizione in tempo reale o chiusura barra?" e l'altro "vuoi comprare/vendere in tempo reale o chiusura barra?". Alla prima domanda hai messo tempo reale ma alla seconda no! giusto?




No!!!

Tra qui e gli altri 3d è stato scritto molte volte ed in maniera chiara !!!

Leggere tutte le pagine di un 3d inerente un argomento che ci interessa non è una perdita di tempo fidatevi ;)





modifica i valori di volta in volta dentro al codice semplicemente accedendovi tramite il tasto modifica (le varianti di questo suggerimento sono molteplici partiamo dalla più semplice ) :D:up:


Ciao a tutti e mi raccomando ricordiamoci sempre che per un "grande" problema c'è quasi sempre una "banale" soluzione :d:


Grazie allora mi metterò il cuore in pace:D e lavorerò sugli spread solo osservando il grafico.
Mentre per la formula in metastock riesci a darmi una GROSSA :D mano?

GGG:= Input("periodi nel passato",2,100,12);
LP:= ValueWhen(1,C>Ref(C,-GGG)AND C>Ref(C,-1)AND Ref(L,-GGG)<Ref(L,-1)AND Ref(L,-1)<L,Ref(L,-GGG));
HP:= ValueWhen(1,C<Ref(C,-2)AND C<Ref(C,-1)AND Ref(H,-GGG)>Ref(H,-1)AND Ref(H,-1)>H,Ref(H,-GGG));
LP;
HP
 

tetsuo

Guest
ma è proprio indispensabile ProBackTest...

.... sicuramente comodo, certo, ma indispensabile di certo no :D

ecco come replicare un equity line creando un indicatore ad hoc!!

nel codice riprendo il motore postato ieri da gransasso ed mostrato nei post precedenti come base per alcuni esempi sul controllo della position size



Codice:
once numeroposizioni=1
indicator1 = ExponentialAverage[10](close)
indicator2 = ExponentialAverage[20](close)

//uscite
c2 = (indicator1 CROSSES UNDER indicator2)
IF (c2 OR TIME > 161500) and sulmercato=1 THEN
    uscita=close
    n=n+1
    sulmercato=0
endif


c4 = (indicator1 CROSSES OVER indicator2)
IF (c4 OR TIME > 161500) and sulmercato=-1 THEN
    uscita=close
    n=n+1
    sulmercato=0
endif
//calcolo dell'equity
if sulmercato[1]=1 then
    resa=(uscita-entrata)*numeroposizioni
    equity=tempequity+resa
elsif sulmercato[1]=-1 then
    resa=(entrata-uscita)*numeroposizioni
    equity=tempequity+resa
endif



//entrate
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND TIME > 080000 AND TIME < 161500 and sulmercato=0 then
    entrata=close
    sulmercato=1
    tempequity=equity
endif

C3 = (indicator1 CROSSES UNDER indicator2)
IF c3 AND TIME > 080000 AND TIME < 161500 and sulmercato=0 then
    entrata=close
    sulmercato=-1
    tempequity=equity
endif


//conteggio equitygiornaliero
if sulmercato=1 or sulmercato=-1 then
    uscita=close
endif




if equity>mequity then
    mequity=equity
endif
dd=mequity-equity
if dd>mdd then
    mdd=dd
endif

mediaequity=average[30](equity)
return equity, mediaequity, dd, mdd, n, sulmercato
Ed eccolo sempre sul fut dax sempre solite condizioni .... testare per credere :D


DAX Full1210 Future.png


11-11-2010 18.29.png



... un vantaggio a fare questo tipo di lavoro è subito palese vero? :eek:




to be continued ......
 
Ultima modifica di un moderatore:

Users who are viewing this thread

Alto