Scalping frenetico

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #93151 quote
    R05
    Participant
    Veteran

    Gent.mi vi chiedo aiuto per cercare di concretizzare un’idea di trading che sto maturando da un pò di tempo. La mia idea è quella di cercare di fare tantissime operazioni con piccoli stop e target da verificare e fare un pò di backtest. L’idea di base da cui vorrei partire è cercare di aprire una posizione ad ogni candela (sia essa 1 minuto, o 5 non importa, poi con i backtest verificherò il time frame migliore).

    Vorrei partire da qui: se candela verde, allora compra altrimenti vendi e così per ogni candela. Idea di partenza, che poi può essere perfezionata. Quindi per il momento trade chiuso ad ogni candela senza inserire nè stop nè target (poi ovviamente da perfezionare).

    Ma anzitutto si serve capire come fare per aprire sempre un’operazione a candela, e per questo chiedo il vostro aiuto. Su questo punto non so proprio dove cominciare.

    Riguardo poi le ulteriori condizioni per aprire un trade o stop e profit non dovrei avere grossi problemi a codificare.

    Vi ringrazio.

    Saluti.

     

    Vi ho allegato un esempio: dax time frame 1 minuto: si entra ad ogni candela, la prima freccia rossa indica short perchè la candela precedente era rossa, con la freccia verde si va long e così via. Poi una volta avute le basi si potrà filtrare il tutto anche per orario in modo da operare solo quando c’è  maggior volatilità: ma tutti casi da perfezionare solo dopo. Prima bisogna capire come aprire un’operazione ad ogni candela.

    Esempio.jpg Esempio.jpg
    #93169 quote
    R05
    Participant
    Veteran

    Gent.mi forse il codice era più semplice di quello che pensassi.  Ve lo allego, rimane però fermo il fatto che non mi fa aprire le operazioni ad ogni candela.

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    c1 = (close[0] > open[0])
    
    IF c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per entrare su posizioni short
    c2 = (close[0] < open[0])
    
    IF c2 THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF

    Vi allego la schermata del backtest in cui ad esempio l’ultima operazione la apre alle 11:30 e la chiude alle 11:35 per poi dopo aprirne un’altra. Il problema è che deve aprirmela ad ogni candela.

    Cattura-1.jpg Cattura-1.jpg
    #93173 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    SELL AT MARKET
    EXITSHORT AT MARKET
    IF close > open THEN
       BUY AT MARKET
    ELSIF close < open THEN
       SELLSHORT AT MARKET
    ENDIF
    #93178 quote
    R05
    Participant
    Veteran

    Grazie Roberto per l’aiuto. La cosa è che però non fa ancora quello che vorrei io. Non mi apre la posizione ad ogni candela. Ti allego il backtest. Solo quando da verde passa rosso e viceversa mi apre la posizione ad ogni candela.

    Test.jpg Test.jpg
    #93182 quote
    R05
    Participant
    Veteran

    Ho provato questo codice che mi apre ad ogni candela ma chiude subito la posizione.

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    c1 = (close[0] > open[0])
    
    IF c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    c2 = (close = close)
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF
    
    // Condizioni per entrare su posizioni short
    c3 = (close[0] < open[0])
    
    IF c3 THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni short
    c4 = (close = close)
    
    IF c4 THEN
    EXITSHORT AT MARKET
    ENDIF
    Test-1.jpg Test-1.jpg test2.jpg test2.jpg
    #93195 quote
    robertogozzi
    Moderator
    Master

    Non entra quando close=open (sono pochi casi, ma tra le 10:00 e le 10:59 di stamani, sul DAX a 1 minuto ci sono stati ben 2 casi!).

    Inoltre è mglio non precaricare barre, quindi questo dovrebbe entrare ogni volta:

    defparam preloadbars=0
    SELL AT MARKET
    EXITSHORT AT MARKET
    IF close > open THEN
       BUY AT MARKET
    ELSE//IF close < open THEN
       SELLSHORT AT MARKET
    ENDIF
    #93236 quote
    R05
    Participant
    Veteran

    Roberto grazie, però purtroppo ancora non fa quello che vorrei io. Ho notato che se ci sono candele dello stesso colore consecutive, apre le posizioni una volta si e una volta no, mentre le apre ogni minuto se si alternano (verde alle 21:46, rossa alle 21:47, verde alle 21:48 ad esempio).

    Test-2.jpg Test-2.jpg test2-1.jpg test2-1.jpg
    #93241 quote
    R05
    Participant
    Veteran

    Grazie Roberto, ma facendo delle prove a mano candela per candela e considerando anche lo spread non risulta essere una strategia profittevole: aprendo un’operazione a candela sul minuto arriva a fare talmente tante operazioni che solo di spread si spende una marea.

    Continuerò a cercare un sistema che dia dei risultati.

    #93244 quote
    robertogozzi
    Moderator
    Master

    L’esempio mio apre OGNI barra.

    x-7.jpg x-7.jpg
    #93246 quote
    robertogozzi
    Moderator
    Master

    Il tuo ti salta quelle dove CHIUSURA=APERTURA, cambia la linea 19 con:

    c3 = (close[0] <= open[0])
    y-1.jpg y-1.jpg
    #93314 quote
    R05
    Participant
    Veteran

    Si Roberto, grazie, il tuo codice è giusto. Mi devi scusare. Ora ho provato. A questo punto cercherò di mettere qualche filtro per vedere di migliorare la strategia. Ti terrò aggiornato. Intanto lo già filtrato per farlo partire nelle ore di maggior volatilità. Sempre sul minuto o comunque su time frame piccoli.

    #93439 quote
    R05
    Participant
    Veteran

    Sto cercando di aggiungere ulteriori filtri al metodo e a tal proposito ho aggiunto l’indicatore trovato nella library PRC_CumulativeDeltaWithPeriods.

    Quindi vorrei che il sistema aprisse la posizione long solo se anche il cumulativedeltaperiod è positivo, e viceversa per lo short.

    Ho modificato il codice originale come segue, però c’è qualche imperfezione. Ho allegato una schermata di errore: ad esempio la prima freccia blu delle 9:57 non doveva aprire la posizione long perchè alla candela precedente anche se la candela era verde il cumulativevolume era negativo; la seconda freccia blu delle 10:00 è giusta [poi in teoria avrebbe dovuto far entrare ad ogni candela fino alla seconda rossa (anche se con un’unica operazione ha fatto quello che doveva fare in 5 operazioni, e quindi il risultato dovrebbe essere lo stesso) e poi doveva entrare alla terza candela rossa quella delle 10:07 in quanto la precedente era rossa e il cumulativedelta era rosso ma non lo ha fatto, anzi lo ha fatto alla successiva verde].

    Come dovrei fare?

    Vi ringrazio.

    defparam flatbefore = 090000
    defparam flatafter = 173000
    defparam preloadbars=0
    
    // Condizioni per entrare su posizioni long
    ignored, ignored, indicator1 = CALL "PRC_CumulativeDeltaWithPeriods"[4]
    c1 = (indicator1 > 0)
    
    // Condizioni per entrare su posizioni short
    ignored, ignored, indicator2 = CALL "PRC_CumulativeDeltaWithPeriods"[4]
    c2 = (indicator2 < 0)
    
    
    SELL AT MARKET
    EXITSHORT AT MARKET
    IF close > open and c1 THEN
    BUY AT MARKET
    endif
    
    if close < open and c2 THEN
    SELLSHORT AT MARKET
    ENDIF
    Cattura-2.jpg Cattura-2.jpg
    #93462 quote
    robertogozzi
    Moderator
    Master

    Leggi attentamente la pagina (usa Google translator, eventualmente) e scoprirai che, purtroppo, funziona solo con i grafici a TICK, non a tempo.

    I grafici a tick, però puoi usarli solo per il trading manuale, non per le strategie automatizzate.

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

Scalping frenetico


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
R05 @r05 Participant
Summary

This topic contains 12 replies,
has 2 voices, and was last updated by robertogozzi
6 years, 11 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 03/08/2019
Status: Active
Attachments: 10 files
Logo Logo
Loading...