sospendere programmi dopo 5 positivi

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #209105 quote
    leo di mennoleo 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
    robertogozzirobertogozzi
    Moderator
    Legend

    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 mennoleo 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
    robertogozzirobertogozzi
    Moderator
    Legend

    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 mennoleo 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
    robertogozzirobertogozzi
    Moderator
    Legend

    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 mennoleo 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
    MauroProMauroPro
    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 mennoleo 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
    robertogozzirobertogozzi
    Moderator
    Legend

    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.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

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 robertogozzirobertogozzi
3 years, 6 months ago.

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