ciao a tutti, sono nuovo della community, vi scrivo perchè ho un problema con la realizzazione del mio sistema di trading automatico. Vi spiego brevemente cosa devo fare:
acquisto due contratti del mini FTSE MIB, vendo il primo dopo 45 punti di guadagno
sulla vendita del primo imposto un trailing stop di 50 punti per il secondo contratto
il sistema non funziona come dovrebbe solo il primo contratto esce al prezzo corretto il trailing stop sul secondo non funziona per nulla bene. a me sembra un bug della piattaforma prorealtime ma onestamente mi sembra troppo grossolano e mi risulta strano che nessuno se ne sia mai accorto e non abbiano risolto. Premetto sono uno sviluppatore di software, pertanto ho competenze a livello di programmazione, ma davvero non trovo il modo di risolvere questo problema. a seguire riporto il codice che ho implementato. ho testato il codice utilizzando sia tradeprice che positionprice ed ottengo sempre risultati diversi e non quello che voglio. Il trailing stop funziona bene soltanto se lo imposto sui due contratti acquistati, ma non sulla parte rimanente.
DEFPARAM CumulateOrders = True // Posizioni cumulate attivate
ONCE CloseTradingTime = 172000
Once PositionSizeLong = 2
Once PositionExit = 1
once stopLoss = 50
once takeProfitLong1 = 45
//once takeProfitLong2 = 100
Ema7 = ExponentialAverage[5](close)
Ema15 = ExponentialAverage[12](close)
crossLong = (Ema5 crosses over Ema12)
TimeToMarket = (Time < CloseTradingTime)
TimeToSell = (Time >= CloseTradingTime)
IF crossLong and TimeToMarket and not onmarket THEN
BUY PositionSizeLong shares AT MARKET
set stop loss stopLoss
endif
if longonmarket then
SELL PositionExit shares at (tradeprice + takeProfitLong1) limit
//SELL PositionExit shares at (positionprice + takeProfitLong2) limit
endif
if longonmarket and (positionprice + takeProfitLong1) then
set stop trailing 50
endif