Stop in pareggio

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #117170 quote
    Gianluca
    Participant
    Master

    Ciao, sto cercando di scrivere una condizione che faccia sì che se un trade supera un determinato prezzo ma la candela chiude sotto quel prezzo (quindi con uno spike dove il massimo è sopra un valore) il sistema porti lo stop in pari

    Mi spiego, si entra a mercato a qualsiasi condizione, se entriamo a mercato a 13.000 di dax ed il prezzo con uno spike attraversa 13.100 in qualsiasi barra che sia la prima o le successive e la stessa candela che ha fatto questo spike  poi chiude sotto il trade metta lo stop a zero. Ho scritto un codice ma non funziona potreste aiutarmi?

     

    iF NOT ONMARKET and MIECONDIZIONI THEN
    closelong=high+20
    buy 1 contract at market
    ENDIF
    
    stopinpari=tradeprice
    
    if longonmarket then
    if ( high crosses over Closelong) then
    sell at stopinpari stop
    endif
    endif
    
    #117181 quote
    robertogozzi
    Moderator
    Master

    Ho variato il titolo perché il tuo era troppo generico. Usa sempre un titolo significativo.

    Nel tuo codice verifichi che HIGH abbia superato un certo prezzo, ma CLOSE non l’hai verificato. Potrebbe essere ovunque, ad ogni modo è raro che CLOSE non sia < HIGH.

    Di preciso che significa NON FUNZIONA? specifica bene cosa non funziona.

    Meglio sarebbe se tu facessi un esempio funzionante e specificassi:

    1. strumento

    2. time frame

    3. data e ora della candela dove c’è il problema.

    #117203 quote
    Gianluca
    Participant
    Master

    Faccio un esempio:

    Strumento: Dax Cash 1€

    timefreame: 5 minuti

    candela: 17.01.2020 candela delle ore 9.25

    La tecnica per entrare è la tecnica camelback di Joe Ross, minimo relativo del trend si entra al break della candela. Mostro foto.

    [attachment file=”117204″]

    Adesso il mio obiettivo finale è il 423% della candela, voglio pero’ che il sistema nel caso una candela con un ombra abbia toccato almeno il 161% metta lo stop in pari. Ed il codice che ho scritto non rispetta questa condizione.

    Esempio.jpg Esempio.jpg
    #117205 quote
    robertogozzi
    Moderator
    Master

    Il problema è che HIGH crosses over solo alla seconda candela ma non ritraccia al punto di uscita, alla terza non c’è crossover quindi non inserisce  l’ordine di uscita ed esce altrove.

    Sostituisci CROSSES OVER con >=.

    #117206 quote
    robertogozzi
    Moderator
    Master

    Resta comunque il problema che in quel trade funzionerà perché subito il prezzo torna indietro e perché il prezzo nella terza candela supera HIGH, in caso contrario non funzionerebbe comunque perché quando il crossover si è verificato non hai salvato la condizione affinché l’ordine di stop venisse inserito anche nelle candele successive.

    Se leggi il codice trailing stop di Nicolas puoi osservare la variabile NEWSL che fa proprio quello, è a zero quando non a mercato, poi viene valorizzato al verificarsi di una condizione in modo che ad ogni candela lo SL venga reimmesso come ordine pendente (nelle ultime righe).

    #117227 quote
    Gianluca
    Participant
    Master

    non funziona ho provato anche a fare come hai detto tu con if high[1]>=161%  ma non funziona uguale ho guardatoi codici del breakeven e dello stop loss ma senza successo

    #117230 quote
    robertogozzi
    Moderator
    Master

    Devi mettere il prezzo corrispondente a 161%, non la costante 161%.

    #117233 quote
    Gianluca
    Participant
    Master

    nello specifico io avevo scritto questo

    if not longonmarket then
    IF c1 THEN
    LEntry = high + 1
    FIBSTOP=round((high - low)*1)-1
    stopinpari=LEntry+FIBSTOP
    graphonprice stopinpari
    endif
    endif
    if longonmarket then
    if high>stopinpari and close<stopinpari then
    sell at lentry stop
    endif
    endif
    

    Ho usato anche la funzione graphonprice e si vede che il prezzo attraversa il livello desiderato e poi chiude sotto, ma il trade non si chiude dove vorrei ma allo stop originario.

     

     

     

     

     

    ma a quanto pare non funziona

    Esempio-1.jpg Esempio-1.jpg
    #117236 quote
    robertogozzi
    Moderator
    Master

    No, non vedo come hai calcolato il 161%, ad ogni modo servirebbe il tuo codice.

    Io posso farti un esempio, comunque basandomi su una mia condizione.

    Ovviamente domani.

    #117238 quote
    Gianluca
    Participant
    Master

    l’ho appena messo

    #117239 quote
    Gianluca
    Participant
    Master

    Ho appena verificato una cosa se scrivo

    if c1 then
    FIBSTOP=round((high - low)*1)-1
    stopinpari=LEntry+FIBSTOP
    graphonprice stopinpari
    endif

    Sul grafico di prezzo il livello stop in pari viene regolarmente disegnato.

    Se invece scrivo

    if c1 then
    FIBSTOP=round((high - low)*1)-1
    stopinpari=LEntry+FIBSTOP
    
    endif
    if longonmarket then
    if high>stopinpari and close<stopinpari then
    graphonprice stopinpari
    sell at market
    endif
    endif

    sul grafico il livello stop in pari non esiste, è come se la variabile avesse valore zero

    #117271 quote
    Gianluca
    Participant
    Master

    Roberto grazie ma ho risolto, andava inizializzata la variabile con ONCE

    #117334 quote
    robertogozzi
    Moderator
    Master

    Mi fa piacere che tu abbia risolto.

    Resta il fatto che io non ho capito questa riga:

    FIBSTOP=round((high - low)*1)-1

    dove fai la differenza tra minimo e massimo (puoi usare RANGE, invece di fare la differenza) e lo moltiplichi per 1, che significa? E’ chiaro che resta invariato qualunque valore sia moltiplicato per 1!

    Poi ci togli 1, che immagino sia un pip (su una coppia di valute non sarebbe così). Cosa ottieni togliendo 1 pip dal RANGE?

    A me non interessa entrare nello specifico, però è un calcolo piuttosto strano e mi piacerebbe capirne lo scopo.

    #117679 quote
    Gianluca
    Participant
    Master

    Si è vero potrei usare il range, 1 è perchè poi io faccio i backtest e vedo il moltiplicatore migliroe per ogni strategia, alla fine sono le espansioni di fibonacci

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

Stop in pareggio


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Gianluca @altares Participant
Summary

This topic contains 13 replies,
has 2 voices, and was last updated by Gianluca
6 years ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/18/2020
Status: Active
Attachments: 2 files
Logo Logo
Loading...