MANCATA ESECUZIONE DI UN’ISTRUZIONE SELLSHORT

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #188686 quote
    eclarari1
    Participant
    Average

    Buonasera, sto utilizzando un programma che  funziona direi  perfettamente sul backtest ma non altrettanto su pro-order .

    Si e’ verificata una condizione di uscita short molto semplice: se positionperf>=4,5% chiudi la posizione.

    IF SHORTONMARKET AND POSITIONPERF>=0.045 THEN
    EXITSHORT AT MARKET.. endif

    Nel mentre si e’ vericata oggi una variazione nel DAX del 5%, al ribasso (timeframe 1H),  il programma in probacktest ha chiuso regolarmente la posizione, l’ordine  reale pero’ non e’ stato chiuso .. Ho verificato i prezzi di entrata e uscita ma in entrambi i casi la % di guadagno e’ abbondantemente superiore al 4,5% alla chiusura dell’ultima barra utile.

    Volevo solo chiedere se per caso il positionperf  possa essere calcolato diversamente tra probacktest e pro-order o se considera magari qualche costo aggiuntivo che non e’ cosinsiderato nel probaktest.

    Grazie 1000

    Emanuele

    #188982 quote
    eclarari1
    Participant
    Average

    Buongiorno. Ho cercato di bypassare l’istruzione positionperf utilizzando la variazione % :

    IF SHORTONMARKET AND ((positionprice-close)/positionprice)>=0.045 THEN
    EXITSHORT AT MARKET
    ENDIF

    Putroppo il  sistema in Pro-Order fallisce in quanto dice che si si trova ad affettuare una divisione per zero sull’ultima barra…

    e’ possibile baypassare anche questo problema?

    Grazie .

    #189015 quote
    robertogozzi
    Moderator
    Master

    Ovviamente ho potuto fare una prova solo in demo e questo codice funziona, però uso POSITIONPERF in quasi tutti i codici e non ho mai avuto problemi, neppure in reale.

    La sostituzione con il codice alternativo produce lo stesso risultato, però potrebbe esserci un problema particolare (magari dovuto a chissà cosa nel codice) per cui prova a testarlo modificandolo in questo modo:

    IF PositionPrice > 0 THEN
       IF SHORTONMARKET AND ((positionprice-close)/positionprice)>=0.045 THEN
          EXITSHORT AT MARKET
       ENDIF
    ENDIF

    Questo è il codice che ho usato nella prova (sul DAXgiornaliero):

    if close crosses over average[20,0](close) and not onmarket then
       buy at market
    endif
    if positionperf > 0.10 then
       sell at market
    endif
    set stop   ploss   2000
    set target pprofit 4000
    //
    graph positionperf
    graph positionperf * 100
    graph (close - positionprice) / positionprice
    graphonprice positionprice
    eclarari1 thanked this post
    x-3.jpg x-3.jpg
    #189044 quote
    eclarari1
    Participant
    Average

    ..con la tua modifica sembra che funzioni.. solitamente il sistema veniva interrotto al primo cambio di barra,  mentre ora viene mantenuto in essere.

    GRAZIE 1000!!!

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

MANCATA ESECUZIONE DI UN’ISTRUZIONE SELLSHORT


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
eclarari1 @eclarari1 Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by eclarari1
3 years, 11 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/22/2022
Status: Active
Attachments: 1 files
Logo Logo
Loading...