sospendere programmi dopo 5 positivi

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #209105 quote
    leo di menno
    Participant
    Average

    salve, vorrei sapere se il prt ha la funzione di sospendere dei programmi e magari attivarne altri in base a parametri da me indicati… per esempio dopo 5 trade positivi sospendere il programma in questione per poi riattivarlo dopo 3 negativi, questa funzione che se non sbaglio è presente su multicharts sarebbe veramente molto utile soprattutto quando si hanno decine di programmi in esecuzione

    #209115 quote
    robertogozzi
    Moderator
    Master

    Non c’è una specifica istruzione codificata, ma il codice ti permette di sospendere quando vuoi e riprendere quando vuoi.

    Una curiosità, se sospendi la strategia dopo 5 operazioni negative, come possono poi verificarsene 3 positive?

    #209217 quote
    leo di menno
    Participant
    Average

    il sistema dovrebbe controllare ciclicamente i probacktest e riattivarsi dopo un numero x di risultati negativi, sul multicharts è possibile e lo trovo uno strumento molto utile,  dopo 4/5 trade positivi la probabilità che continui è molto bassa… e quindi sistema a riposo

    #209235 quote
    robertogozzi
    Moderator
    Master

    Si, può prenderne essere fatto, ma io non posso fino a dopo il 20. Sono in vacanza e non ho il PC.

    Se nessun altro può fartelo te lo farò io in seguito.

    #211621 quote
    leo di menno
    Participant
    Average

    ciao roberto, se puoi mi spieghi come fare per far calcolare alla strategia se il trade è stato negativo o positivo? in tal caso potrei utilizzare il risultato come condizione di eventuale entrata, il problem è come far capire alla macchina i trade negativi se la strategia non è entrata…. in pratica vorrei che si analizzassero ciclicamente i probacktest, è possibile? grazie

    #211629 quote
    robertogozzi
    Moderator
    Master

    Per verificare se un’operazione è stata positiva o negativa, basta scrivere:

    IF StrategyProfit > StrategyProfit[1] THEN    //risultato positivo
     .
     .
    ELSIF StrategyProfit < StrategyProfit[1] THEN //risultato negativo
     .
     .
    ENDIF

    il problema è, una volta sospeso, simulare le operazioni per vedere quando ripartire. E’ un pò lungo da fare, mi occorre del tempo.

    #211653 quote
    leo di menno
    Participant
    Average

    grazie mille per ora, appena puoi dimmi anche come scrivere il resto, la stringa la metto dentro i vari algiritmi giusto?

    #211654 quote
    MauroPro
    Participant
    Veteran

    Questo codice dopo 5 guadagni sospende il trading per quella giornata. Il conteggio riparte il giorno dopo.

    once nGains = 0
    nGainsMax = 5 //maxNumberDailyGains
    if intradayBarIndex = 0 then
    nGains = 0
    endif
    if strategyProfit > strategyProfit[1] then
    nGains = nGains +1
    elsif strategyProfit < strategyProfit[1] and nGains > nGainsMax then
    nGains = 0
    endif

    // ESEMPIO CODICE
    if not onMarket and close crosses over average[10,0] and nGains < nGainsMax then
    buy 1 contract at market
    endif
    set target pProfit 10
    set stop pLoss 10

    graph nGains

    #211904 quote
    leo di menno
    Participant
    Average

    grazie, per la sospensione ok ma come potrei fare poi per riattivare un sistema dopo x trade negativi cge chiaramente dovrebbero essere visionati o i demo o con probacktest?

    #212159 quote
    robertogozzi
    Moderator
    Master

    Prova questo, mi sembra funzioni:

    once nGains      = 0
    ONCE nGainsMax   = 3 //interrompere dopo 3 trade positivi
    ONCE nLossesMax  = 3 //riprendere dopo 3 trade negativi
    ONCE StopTrades  = 0
    ONCE SL          = 20
    ONCE TP          = 40
    ONCE OnTheMarket = 0
    //
    // Simulazuione Profitto o Perdita
    IF StopTrades AND OnTheMarket THEN
       IF low <= StopPrice THEN
          nGains = nGains - 1
          OnTheMarket     = 0
       ELSIF high >= StopPrice THEN
          nGains      = 0
          OnTheMarket = 0
       ENDIF
       IF nGains <= -(nLossesMax) THEN
          StopTrades  = 0
          OnTheMarket = 0
          nGains      = 0
       ENDIF
    ENDIF
    //
    if strategyProfit > strategyProfit[1] AND StopTrades = 0 then
       nGains = nGains + 1
       if nGains >= nGainsMax THEN
          StopTrades = 1
          nGains     = 0
       endif
    endif
    //
    // ESEMPIO CODICE
    if not onMarket and close crosses over average[10,0] and StopTrades = 0 then
       buy 1 contract at market
       OnTheMarket = 0
    endif
    //
    //Simulazione dell'Entrata
    if Not OnMarket AND not OnTheMarket and close crosses over average[10,0] and StopTrades = 1 then
       OnTheMarket = 1
       EntryPrice  = close
       StopPrice   = EntryPrice - SL*PipSize
       ProfitPrice = EntryPrice + TP*PipSize
    endif
    //
    set target pProfit TP
    set stop   pLoss   SL
    
    //graph nGains
    //graph nGains = nGainsMax  coloured("Green")
    //graph nGains = nLossesMax coloured("Red")
Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

sospendere programmi dopo 5 positivi


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

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

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/04/2023
Status: Active
Attachments: No files
Logo Logo
Loading...