Problema nuovo expert advisor

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #196507 quote
    fabfab22
    Participant
    New

    Salve a tutti,  è la prima volta che scrivo qui.    Ho fatto fare da un programmatore il codice per un expert advisor che dovrebbe funzionare come segue:    su frame a 5 min  aprire una posizione long non appena viene brekkato il max della candela precedente , viceversa aprire un trade short se fora il minimo della candela precedente sempre su frame 5 minuti…

    la realtà è che non funziona in questo modo, ma bensi apre un trade NON appena chiude la candela a 5 min e inizia la nuova candela ( anche se non è stato forato o il massimo o il minimo della candela precedente )    Il programmatore che mi ha creato il codice sostiene che è un bug della prorealtime…. io personalmente non ci credo…   trovo assurdo che non si possa fare un expert cosi semplice…

    c’è qualcuno che mi puo’ aiutare qui?

    grazie mille

    Fabrizio

    #196508 quote
    robertogozzi
    Moderator
    Master

    Generalmente si può fare, l’unica cosa che può creare qualche problema è la distanza minima che deve esserci tra il prezzo d’entrata ed il prezzo corrente. E’ un valore richiesto da IG (e che solitamente è indicato sul loro sito, strumento per strumento, che però può variare durante una giornata volatile). Sui 5 minuti può darsi che non ci sia una distanza sufficiente tra la chiusura ed il prezzo d’entrata e questo può creare dei problemi. Non in backtest, che non è gestito dal broker, quindi non è a conoscenza delle distanze richieste e non gli interessano, quanto l’autotrading live (demo o reale che sia).
    Un’altra cosa da chiarire è quello che intendi per “candela precedente“. Le strategie vengono sempre eseguite alla chiusura di ogni candela. La candela appena chiusa è quella CORRENTE (non quella nuova che si sta aprendo, in quanto non è accessibile fino alla sua chiusura), per cui parlare di precedente dovrebbe significare che vuoi entrare al break della candela PRECEDENTE a quella che è appena stata chiusa. Ad esempio, se adesso chiude (alle 10:50) la candela aperta alle 10:45, la candela precedente è quella che era stata aperta alle 10:40. Quella in corso è, invece, quella delle 10:50 che però NON è accessibile (a meno di non usare più time franes, ma è un un discorso a parte).
    Io credo che tu con PRECEDENTE intenda quella CORRENTE, appena chiusa.
    Questo è il codicebase, semplice, che si disinteressa delle distanze:

    IF Not LongOnMarket  THEN
       EntryLong  = high + 1*PipSize
       BUY AT EntryLong STOP
    ENDIF
    IF Not ShortOnMarket THEN
       EntryShort = low - 1*PipSize
       SELLSHORT AT EntryShort STOP
    ENDIF
    SET TARGET pPROFIT 20
    SET STOP   pLOSS   20
    GraphOnPrice EntryLong  coloured(0,0,255,255)
    GraphOnPrice EntryShort coloured(255,0,0,255)
    #196511 quote
    fabfab22
    Participant
    New

    grazie mille Roberto per la tua risposta…

    esatto:  io con “precedente” intendo quella corrente…

    il focus su cui mi devo focalizzare è quando dici ”  distanza minima che deve esserci tra il prezzo d’entrata ed il prezzo corrente”

    in effetti vorrei che il mio expert  aprisse la posizione e poi 1 tick di gain la chiude, e  5 tick di stop loss…

    ho notato che , ad esempio sul nasdaq100  ( sul cfd no future intendo )  su frame 5 minuti questo expert da risultati molto buoni…   ovvio da fare andare solo 1 ora al giorno …non tutto il giorno…

    l’orario migliore  è dalle 16 alle 17   in quanto è in questo orario che spesso parte il trend di giornata sul nasdaq100

    spero di essere stato chiaro..

    grazie

    ciao

    Fabrizio

    #196549 quote
    robertogozzi
    Moderator
    Master

    Ti ho fatto l’aggiunta dell’orario ed ho modificato lo Stop Loss ed il Take Profit (ho anche aggiunto il numero di contratti, com’era prima ne apriva sempre e solo 1):

    IF Time >= 160000 AND Time <= 170000 THEN
       IF Not LongOnMarket  THEN
          EntryLong  = high + 1*PipSize
          BUY 1 CONTRACT AT EntryLong STOP
       ENDIF
       IF Not ShortOnMarket THEN
          EntryShort = low - 1*PipSize
          SELLSHORT 1 CONTRACT AT EntryShort STOP
       ENDIF
    ENDIF
    SET TARGET pPROFIT 1
    SET STOP   pLOSS   5
    GraphOnPrice EntryLong  coloured(0,0,255,255)
    GraphOnPrice EntryShort coloured(255,0,0,255)

    Però anche per Stop Loss e Take Profit, devi verificare i minimi richiesti.

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

Problema nuovo expert advisor


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
fabfab22 @fabfab22 Participant
Summary

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

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 07/01/2022
Status: Active
Attachments: No files
Logo Logo
Loading...