Discussione: Come ottimizzare un Trading System
Visualizzazione Ibrida
-
07-12-14, 16:47 #1
ciao Marco,
certo....lancio solo l'idea però non ho provato..... come sai i nostri script lanciano gli ordini quando l'espressione dello script diventa vera (in termini booleani)
Quindi se l'espressione è TRUE (1) .... l'ordine viene eseguito...se è FALSE (0) l'ordine non viene eseguito...
prendiamo come esempio lo script che sta circolando adesso sul forum (il WilliamsPctR per capirsi)...
L'espressione finale è :
CROSSOVER( DecisionConst, @lowlevel)
che sarà vera se incrocia o non vera se non incrocia.
Quindi se scriviamo:
CROSSOVER( DecisionConst, @lowlevel) and 1
AND 1 sarà neutro...
se scriviamo :
CROSSOVER( DecisionConst, @lowlevel) and 0
sara sempre FALSA
Lo scopo qua quindi è di scrivere invece di subito 0 o 1 ... un qualcosa che scriva 0 o 1 in base a delle condizione.
Quindi va creata una funzione definita dall'utente... che chiameremo MyMatchCalendar()
CROSSOVER( DecisionConst, @lowlevel) and MyMatchCalendar()
dentro MyMatchCalendar() ci dovra essere scritto un qualcosa che : "se oggi parla draghi allora 0 se oggi NON parla Draghi allora 1"....I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L’insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
-
07-12-14, 18:37 #2
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
OK, allora ecco il codice per un'ipotetica funzione definita dall'utente MyMatchCalendar():
# Date in cui parla Draghi SET A = DATE = 20140528 SET B = DATE = 20140627 SET C = DATE = 20140728 SET D = DATE = 20140828 SET E = DATE = 20140929 SET F = DATE = 20141028 SET G = DATE = 20141128 SET Riep = A OR B OR C OR D OR E OR F OR G SET MyMatchCalendar = NOT Riep
Per creare la UserFunction bisogna creare una nuova funzione
quindi inserirci un codice tipo quello di cui sopra, e salvare il file con il nome "MyMatchCalendar".
Per verificarne il funzionamento basta aprire un grafico daily ed aggiungere un indicatore di tipo Custom 1 Line come segue:
ottenendo un risultato di questo tipo:
Si noti come la funzione restituisca sempre 1, ad eccezione delle date in cui parla Draghi (avevo ovviamente inserito delle date a caso!) per le quali la funzione invece restituisce zero; in questo modo la funzione può essere utilizzata in un trading system tipo quello che avevi indicato:
CROSSOVER( DecisionConst, @lowlevel) and MyMatchCalendar()