Ts intraday superamento Min o Mass giorno prec.

Forums ProRealTime forum Italiano Supporto ProOrder Ts intraday superamento Min o Mass giorno prec.

Viewing 7 posts - 1 through 7 (of 7 total)
  • #217303

    Attualmente ho solo ts Daily.

    Vorrei imparare a crearne qualcuno in intraday con time frime bassi 30 minuti 15 minuti.

    Vorrei codificare questa idea.

    Se oggi si scende sotto il minimo di ieri ( chiaramente vale l’opposto per gli short) , oggi se il mercato torna su di 100 punti compro. Stop 100 gain 300.

     

     

    #217340

    Ti ho scritto questo sul Dax a 15 minuti (dovrebbe andare bene, ma controllalo). Con i graph vedi i masimi-minimi del giorno prima ed i livelli di entata.

    //DAX TSprova 15m [spread = 1]
    defParam cumulateOrders = false
    defParam preloadBars = 10000
    defParam flatAfter = 220000
    cTime = time >= 080000 and time <= 170000
    positionSize = 1
    //————————————————————
    deltaLong = 100*pointSize
    SLlong = 150*pointSize
    TPlong = 300*pointSize
    deltaShort = 100*pointSize
    SLshort = 150*pointSize
    TPshort = 300*pointSize
    //———————————————
    previousDayLow = dLow(1)
    entryLong = previousDayLow + deltaLong
    previousDayHigh = dHigh(1)
    entryShort = previousDayHigh – deltaShort
    //————————————————————–
    once previousDayLowReached = 0
    once previousDayHighReached = 0
    if intraDayBarIndex = 0 then
    previousDayLowReached = 0
    previousDayHighReached = 0
    endif
    if close < previousDayLow then
    previousDayLowReached = 1
    endif
    if close > previousDayHigh then
    previousDayHighReached = 1
    endif
    //————————————————————————-
    if not onMarket and cTime and previousDayLowReached then
    if close > entryLong then
    buy positionSize contracts at entryLong LIMIT
    else
    buy positionSize contracts at entryLong STOP
    set stop pLoss Sllong
    set target pProfit TPlong
    endif
    endif
    //——————————————————————–
    if not onMarket and cTime and previousDayHighReached then
    if close < entryShort then
    sellShort positionSize contracts at entryShort LIMIT
    else
    sellShort positionSize contracts at entryShort STOP
    set stop pLoss SLshort
    set target pProfit TPshort
    endif
    endif
    //———————————————————
    graphOnPrice previousDayLow coloured (255,0,0)
    graphOnPrice entryLong coloured (255,165,0)
    graphOnPrice previousDayHigh coloured(46,139,87)
    graphOnPrice entryShort coloured (0,255,127)

     

     

    #217350

    Va bene, i massimi e minimi del giorno precedente sono corretti  (ho controllato 2-3 operazioni soltanto, ma credo che se na vanno bene 2-3 vanno bene anche le altre).

    Ho visto che fai, molto opportunamente, la distinzione tra entrate LIMIT e STOP. Non sarebbe male assicurarsi che il prezzo, oltre ad essere maggiore o minore dell’entrata, avesse anche la distanza minima richiesta dal broker. Se, ad esempio, il broker ha stabilito un’entrata minima di, ad esempio, 8 punti, potresti scrivere le entrate LIMIT e STOP così:

     

    per evitare che, se la distanza non è rispettata, la strategia venga fatta uscire (o, peggio, entri a mercato).

     

    #217358

    Ho corretto il codice con i consigli di Roberto e provato un ottimizzazione dei parametri.

    //DAX 15m [spread = 1]
    defParam cumulateOrders = false
    defParam preloadBars = 10000
    defParam flatAfter = 220000
    cTime = time >= 080000 and time <= 170000
    positionSize = 1
    //————————————————————
    deltaLong = 70*pointSize // 100
    SLlong = 150*pointSize //150
    TPlong = 300*pointSize // 300

    deltaShort = 100*pointSize //100
    SLshort = 100*pointSize // 150
    TPshort = 250*pointSize // 300
    //———————————————
    previousDayLow = dLow(1)
    entryLong = previousDayLow + deltaLong
    previousDayHigh = dHigh(1)
    entryShort = previousDayHigh – deltaShort
    //————————————————————–
    once previousDayLowReached = 0
    once previousDayHighReached = 0
    if intraDayBarIndex = 0 then
    previousDayLowReached = 0
    previousDayHighReached = 0
    endif

    if close < previousDayLow then
    previousDayLowReached = 1
    endif
    if close > previousDayHigh then
    previousDayHighReached = 1
    endif
    //————————————————————————-
    maxDistance = 2*pointSize // DAX spread: 080000 – 090000 = 2 // 090000 – 173000 = 1.2
    if not onMarket and cTime and previousDayLowReached then
    if close > (entryLong + maxDistance) then
    buy positionSize contracts at entryLong LIMIT
    elsif close < (entryLong – maxDistance) then
    buy positionSize contracts at entryLong STOP
    else
    // puoi lasciare vuoto ed entrerà, se ci sono le condizioni, alla candela successive, oppure
    // metti un’entrata LONG a MERCATO, per mancanza della distanza
    endif
    set stop pLoss SLlong
    set target pProfit TPlong
    endif
    //——————————————————————–
    if not onMarket and cTime and previousDayHighReached and dayOfWeek <> 1 then // LUNEDI ESCLUSO PER LO SHORT
    if close < (entryShort – maxDistance) then
    sellShort positionSize contracts at entryShort LIMIT
    elsif close > (entryShort + maxDistance) then
    sellShort positionSize contracts at entryShort STOP
    else
    // puoi lasciare vuoto ed entrerà, se ci sono le condizioni, alla candela successive, oppure
    // metti un’entrata SHORT a MERCATO, per mancanza della distanza
    endif
    set stop pLoss SLshort
    set target pProfit TPshort
    endif
    //———————————————————
    graphOnPrice previousDayLow coloured (255,0,0)
    graphOnPrice entryLong coloured (240,128,128)
    graphOnPrice previousDayHigh coloured(0,201,87)
    graphOnPrice entryShort coloured (192,255,62)

    #217395

    La distanza è diversa dallo spread, varia da strumento a strumento, credo che di base per il DAX sia di 6-7  pip, ma durante la giornata, se c’è volatilità, viene aumentata a discrezione del broker e può arrivare ancghe a 10+ pip.  Devi verificare sul sito del broker qual’è.

    Io generalmente metto 10 pip, in questo modo è quasi sempre nei limiti imposti e solo molto raramente una strategia viene interrotta per non averli rispettati.

     

     

    #217400

    Ti ringrazio Roberto 🙏

    #217401

    Grazie MauroPro

Viewing 7 posts - 1 through 7 (of 7 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login