Pagina 1 di 2 12 Ultima
Risultati da 1 a 10 di 19

Discussione: Strategia su beeTrader

  1. #1
    L'avatar di Denis Moretto
    Data Registrazione
    Dec 2007
    Località
    Taglio di Po
    Messaggi
    3,549

    Strategia su beeTrader

    Ciao ragazzi,
    ieri un nuovo utente di beeTrader mi ha inviato una sua strategia operativa che vorrebbe tradurre in EasyScript.
    Siccome è un buon esempio didattico, in accordo con Mirco (nome dell'utente), pubblico qui sul forum i dettagli, e chiedo gentilmente a chi usa già beeTrader e EasyScript se ci aiuta nella codifica.
    Chiaramente per i passaggi più complicati/difficili c'è sempre il supporto del nostro buon Max.

    A tutti coloro che collaboreranno alla codifica della strategia offriamo 1 mese gratis di beeTrader per il tempo che dedicherà.
    File Allegati File Allegati

  2. #2

    Data Registrazione
    May 2012
    Località
    Roma
    Messaggi
    593
    Ok, bello complicatello , stasera ci provo!
    Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

  3. #3
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Caspita, bel esercizio !!!

    Dai Vittorio facci sognare


    Domani ci provo anch'io


    Qualcun altro che vuole cimentarsi ?


    ps: Smash mi raccomando non ci sparare subito il codice, dacci un po di vantaggio

    Notte
    Ultima modifica di Apocalips; 22-10-15 alle 03:10
    ....non si desidera ciò che è facile ottenere (Ovidio)....

  4. #4

    Data Registrazione
    May 2011
    Località
    Bologna
    Messaggi
    3,017
    Citazione Originariamente Scritto da Apocalips Visualizza Messaggio
    Caspita, bel esercizio !!!

    Dai Vittorio facci sognare


    Domani ci provo anch'io


    Qualcun altro che vuole cimentarsi ?


    ps: Smash mi raccomando non ci sparare subito il codice, dacci un po di vantaggio

    Notte
    No Smash è fuori concorso !!!

  5. #5

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Ciao ragazzi,
    l'ho visto adesso ....

    Ditemi un po':
    quanto vantaggio volete?

  6. #6

    Data Registrazione
    May 2012
    Località
    Roma
    Messaggi
    593
    L'istruzione

    SET maxdacond = MAX(CLOSE, 10)
    cerca il massimo delle ultime 10 barre

    la
    SET cond = LAST > maxdacond
    valutata a runtime in strategy tickbytick, è vera se il sottostante ora sta superando il vecchio massimo?
    Oppure non è mai vera perchè come il last supera il vecchio massimo , diventa lui il massimo ?
    In backtest sicuramente non è mai vera !
    Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

  7. #7
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    l'ho visto adesso ....

    Ditemi un po':
    quanto vantaggio volete?



    parecchio !!

    Ultima modifica di Apocalips; 22-10-15 alle 14:28
    ....non si desidera ciò che è facile ottenere (Ovidio)....

  8. #8

    Data Registrazione
    May 2012
    Località
    Roma
    Messaggi
    593
    Intanto una prima versione che implementa la prima parte (per intenderci fino a prima di 'Se i prezzi mi generano 2 FALSI segnali...')

    buy:
    INPUTS: @price(CLOSE), @period1(5), @period2(20), @riskAmount(500), @riskPercent(100)

    SET TRAILING_STOP = @riskAmount
    SET TRAILING_PERCENT = @riskPercent

    SET mm1 = EMA(@price, @period1)
    SET mm2 = EMA(@price, @period2)

    SET cond1 = CROSSOVER(mm1, mm2)
    SET cond2 = CROSSUNDER(mm1, mm2)

    SET nbarcrossover = LASTIF(cond1)
    SET nbarcrossunder = LASTIF(cond2)

    SET cond3 = nbarcrossover < nbarcrossunder

    SET maxdacond3 = MAX(CLOSE, nbarcrossover)

    SET cond4 = CLOSE >= maxdacond3

    cond1 OR cond4



    sell:
    SET mm1 = EMA(@price, @period1)
    SET mm2 = EMA(@price, @period2)

    SET cond1 = CROSSOVER(mm1, mm2)
    SET cond2 = CROSSUNDER(mm1, mm2)

    SET nbarcrossover = LASTIF(cond1)
    SET nbarcrossunder = LASTIF(cond2)

    SET cond3 = nbarcrossover > nbarcrossunder

    SET mindacond3 = MIN(CLOSE, nbarcrossunder)

    SET cond4 = CLOSE <= mindacond3

    cond2 OR cond4



    to be continued ...

    scusate ho corretto riskAmount ... si presuppone che la cifra investita sia 100.000 euro
    Ultima modifica di civvic; 22-10-15 alle 14:32
    Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

  9. #9
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Ecco cio che sono riuscito ad elaborare fino allo stesso punto in cui è arrivato Vittorio ovvero fino a prima della parte che spiega la casistica dei 2 falsi segnali:

    Il Ts lavora tick by tick
    espongo solo la parte long per comodità


    BUY SCRIPT
    SET Mlenta = EMA(CLOSE,20)
    SET Mveloce = EMA(CLOSE,5)
    
    
     #incrocio al rialzo medie mobili
    SET cond1 = REF(CROSSOVER(Mveloce, Mlenta),1)  
    
    
    #condizione di attivazione soglia dello stop in pareggio dopo un gain dello 0.5%
     SET S= (CLOSE>= LastEntryPrice()*1.005) AND LastEntryPrice()>0
    
    
     #Livello soglia dello stop in pareggio
    SET S1= IF(S=TRUE,LastEntryPrice(),0)
    
    
    #contatore barre dopo incrocio medie mobili:
    SET barre= LASTIF(Mveloce< Mlenta)
    SET conta= IF(barre<1,1,barre)
    
    
    # massimo a periodo variabile dopo incrocio medie:
    SET Massimo= HighestHighValue(conta)
    
    
    # condizione di rientro long al breakout del max dello swing dopo primo StopLoss
    SET cond2= REF(Crossover(close, Massimo),1) AND S1=0 
    
    cond1 or cond2
    EXIT LONG SCRIPT
    SET Mlenta = EMA(CLOSE,20)
    SET Mveloce = EMA(CLOSE,5)
    
    
     #condizione di attivazione soglia dello stop in pareggio dopo un gain dello 0.5%
     SET S= (CLOSE>= LastEntryPrice()*1.005) AND LastEntryPrice()>0
    
    
     #Livello soglia dello stop in pareggio
    SET S1= IF(S=TRUE,LastEntryPrice(),0)
    
    
    
    
    
    LAST<= S1 OR REF(CROSSUNDER(Mveloce, Mlenta),1)
    Ultima modifica di Apocalips; 22-10-15 alle 17:23
    ....non si desidera ciò che è facile ottenere (Ovidio)....

  10. #10
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Il debug di questa prima parte dello script ha dato risultati negativi

    passiamo alle correzioni


    Apo
    ....non si desidera ciò che è facile ottenere (Ovidio)....

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Contattaci

Chiama gli esperti
+39 0425 792923

Chiamaci
Email

Richiedi informazioni via E-MAIL
info@playoptions.it

Scrivici
Nostri Uffici

Vieni a trovarci
45100 Rovigo

Contattaci

Serve Aiuto?

Contattaci per maggiori informazioni.

Denis MorettoSpecialista Finanziario
Contattaci
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.