Discussione: Signal con funzione di strategy, dove sbaglio ??
Visualizzazione Ibrida
-
31-03-14, 19:04 #1
- Data Registrazione
- Apr 2013
- Messaggi
- 32
Grazie Smash,
- sì MONEY.func l'ho fatta io : set MONEY = (TotalNetProfit()> 110 or TotalNetProfit()< -150)
- ecco il signal per entry long:
inputs: @pd(3),@m(8)
set TRAILING_STOP = 130
set TRAILING_PERCENT = 20
set STOP_LOSS = 160
set EMY = ema(close,17)
set alfa = StandardDeviations(EMY, 9, 2, simple)/StandardDeviations(close, 9, 2, simple)
set beta = 1 - alfa
set delta = close * alfa
set plot1 = (ema(close,17) * beta) + delta
set CHA = ChaikinVolatility(10,10,simple)
set TD = ref (plot1,@pd)
plot1 > TD and time > 931 and time < 2129 and DIP(@m)> DIN(@m) and CHA > 0 and (not Money())
-
31-03-14, 23:25 #2
Salve,
nell'attuale versione beta le funzioni relative allo stato della strategia sono disponibili esclusivamente all'interno degli script di tipo Signal. Per tutti gli altri tipi di script queste funzioni ritornano sempre e comunque il valore zero.
Nella prossima beta sarà possibile utilizzare le funzioni relative allo stato della strategia anche all'interno delle User Defined Function richiamate dagli script di tipo Signal. Il codice postato è formalmente corretto, ma sarà funzionante solo con la prossima beta.
Max Francario
-
01-04-14, 04:04 #3
- Data Registrazione
- Apr 2013
- Messaggi
- 32
Buongiorno Max,
quindi se scrivessi così :
set TRAILING_STOP = 130
set TRAILING_PERCENT = 20
set STOP_LOSS = 160
set EMY = ema(close,17)
set alfa = StandardDeviations(EMY, 9, 2, simple)/StandardDeviations(close, 9, 2, simple)
set beta = 1 - alfa
set delta = close * alfa
set plot1 = (ema(close,17) * beta) + delta
set CHA = ChaikinVolatility(10,10,simple)
set TD = ref (plot1,@pd)
plot1 > TD and time > 931 and time < 2129 and DIP(@m)> DIN(@m) and CHA > 0 and TotalNetProfit() < 130 and TotalNetProfit() > -160
Dovrebbe funzionare ? Ho già provato, ma non va.
Ultima modifica di alduran; 01-04-14 alle 04:09
-
01-04-14, 10:17 #4
Salve,
è vero, abbiamo individuato un errore nell'engine che interpreta gli script che è già stato corretto.
Per il momento, un modo semplice per aggirare il problema è modificare lo script in questo modo (modifiche in rosso):
INPUTS: @pd(1), @m(14)
set TRAILING_STOP = 130
set TRAILING_PERCENT = 20
set STOP_LOSS = 160
set EMY = ema(close,17)
set alfa = StandardDeviations(EMY, 9, 2, simple)/StandardDeviations(close, 9, 2, simple)
set beta = 1 - alfa
set delta = close * alfa
set plot1 = (ema(close,17) * beta) + delta
set CHA = ChaikinVolatility(10,10,simple)
set TD = ref (plot1,@pd)
set tnp = TotalNetProfit()
plot1 > TD and time > 931 and time < 2129 and DIP(@m)> DIN(@m) and CHA > 0 and tnp < 130 and tnp > -160
In sostanza, basta non utilizzare le funzioni di stato della strategia direttamente nella condizione finale dello script, ma assegnarle ad una variabile ed usare la variabile nella condizione.
Max Francario
-
01-04-14, 21:28 #5
- Data Registrazione
- Apr 2013
- Messaggi
- 32
-
02-04-14, 10:53 #6
-
02-08-14, 19:36 #7
- Data Registrazione
- Apr 2012
- Messaggi
- 43
TotalNetProfit
Aiuto, io la funzione TotalNetProfit non riesco proprio a farla funzionare. Riportando quanto descritto nel manuale: "La funzione può essere utilizzata per impostare preventivamente delle soglie di uscite monetarie riferite all'intera Strategy"). L'intenzione sarebbe quella di chiudere la strategia quando il profitto giornaliero é > di una cifra (p.es. 700) ed altrettanto quando la perdita < - 500. Tali valori (secondo la mia interpretazione) sono certamente differenti dai Set di gestione M.M. Trailing_Stop, _Percent e Stop_Loss che riguardano il singolo trade).
Es.:
SET TRAILING_STOP = @trailAmount
SET TRAILING_PERCENT = @trailPercent
SET STOP_LOSS = @stopLoss
SET TnP= TotalNetProfit()
FOLLOWME()> 0
TnP > 700 (linea X)
AND ATR(@periods, @matype)> 35
AND TIME <1730
Modifiche su Linea X: senza tale linea di comando ottengo 540 trade, con TnP< da 300 sino a 5000 ottengo sempre 848 trade (ma in altri script , forse perché senza il Followme, con TnP< da 300 sino a 10000 i trade sono filtrati da 20 al massimo ottenibile senza la linea di comando X)
con TnP> da 300 a 5000 ottengo zero trade.
In pratica non ci capisco nulla.
Essendo una strategy position, non dovrebbe comportarsi come Money Management (M.M.) giornaliero? E' sbagliato fare il backtest con barre equivalenti a più giorni, e che detti settaggi sono validi in strategy? Potete confermare?
Se sbaglio, dove sbaglio??
Potreste aiutarmi, grazie.
ArmandoUltima modifica di armando; 04-08-14 alle 06:57
-
13-08-14, 17:28 #8
- Data Registrazione
- Jul 2010
- Località
- Massa Carrara
- Messaggi
- 2,340
Script e opzioni
Salve a tutti , una cosa che non ho capito è se io posso scrivere uno script che ordini di comprare/vendere una opzione.
Qualcuno mi toglie il dubbio? Grazie... in fondo mi accontento di piccole cose: un piccolo yacht, una piccola villa, una piccola fortuna ...