Scusate e’ possibile creare queste condizioni che a me non funzionano?

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #236800 quote
    musoditopo
    Participant
    New

    Buongorno,scusate ancora ; ho inserito 3  indicatori base (macd e uno stocastico )pero’ vorrei farli lavorare abbinati e ho

    scritto questo comando nella condizione di entrata long ma non me la esegue o almeno me la esegue parziale…..

    cioe’ non esegue c1  e c2 assieme o c1 e c3 assieme,devo ricorrere a formule piu’ compicate?

    grazie mille a tutti

    
    
    
    IF (c1 AND c2)or (c1 and c3)  THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    #236802 quote
    robertogozzi
    Moderator
    Master

    Il codice che hai postato dovrebbe entrtare a mercato quando almeno una delle due condizioni principali si verificano, cioè basta che sia SEMPRE verificata la condizione C1 e che sia vera almeno una della altre due (o entrambe).

    Prova a scriverla così:

    IF c1 AND (c2 or c3)  THEN
    musoditopo thanked this post
    #236806 quote
    musoditopo
    Participant
    New

    Grazie infinite !! pero’ ho provato il codice mi da questo errore che attacco qua

    al punto del indicatore 9 (indicatore che gira e che ho preimpostato e richiamato con fx)compare il triangolo

    alert che mi dice errore interno ordine sconosciuto  tasto enter spazio

    e non gira grazie infinite del suo tempo e competenza

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = MACDline[12,26,8](close)
    indicator2 = MACDSignal[12,26,8](close)
    c1 = (indicator1 >= indicator2)
    
    indicator9= myschafftom, mylevel75, mylevel25=CALL "schaff tom"
    
    c5=indicator9 >=[75]
    c6=indicator9>[25]
    
    IF c1 and (c5 or c6) THEN
    BUY 1 CONTRACT AT MARKET
    #236808 quote
    robertogozzi
    Moderator
    Master

    Si, l’operatore di assegnazione “=” non può essere indicato più di una volta.

    Nel tuo caso l’indicatore restituisce 3 valori, quindi basta che lo scrivi così:

    myschafftom, mylevel75, mylevel25=CALL "schaff tom"

    ed utilizzi le 3 variabili che ti restituisce.

    Nel caso t’interessi solo la prima variabile, puoi scriverlo in uno di questi due modi:

    myschafftom, ignored, ignored=CALL "schaff tom"
    //   oppure
    indicatorX, ignored, ignored=CALL "schaff tom"

    dove al posto di X, se lo desideri, puoi mettere una o più cifre o lettere a tuo piacere.

    musoditopo thanked this post
    #236809 quote
    robertogozzi
    Moderator
    Master

    Qui puoi trovare indicazioni utili https://www.prorealcode.com/documentation/call/.

    #236812 quote
    musoditopo
    Participant
    New

    Grazie mille sei gentilissimo ma non ci arrivo purtroppo; da lunedi’ faro’ corso avanzato ,io ho

    scritto cosi’ ma non capisco la tua spiegazione troppo tecnica per me ecco il codice che ho fatto ma non va

    nella tua spiegazione cosa devo mettere al posto di punto 1 ? e indicator x vuole dire che devo cambiare indicatore?

    ho scritto cosi , non riesci per caso a scriverlo come andrebbe fatto? grazie infinite veramente

     

     

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = MACDline[12,26,8](close)
    indicator2 = MACDSignal[12,26,8](close)
    c1 = (indicator1 >= indicator2)
    
     
    indicator9=myschafftom, mylevel75, mylevel25=CALL "schaff tom"
    
    
    c5=myschafftom, ignored, ignored>=75
    
    c6=myschafftom, ignored, ignored>=25
    
    IF c1 and (c5 or c6) THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    #236815 quote
    musoditopo
    Participant
    New

    Ho provato anche a modificarlo anche cosi’ ma non va…..mi arrendo non riesco a capire la logica  ho messo

    ignored agli altri 2 ma non so se ho capito bene grazie mille ancora 

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    indicator1 = MACDline[12,26,8](close)
    indicator2 = MACDSignal[12,26,8](close)
    c1 = (indicator1 >= indicator2)
    
    indicator9= myschafftom, mylevel75, mylevel25 = CALL "schaff tom"
    
    c5=myschafftom,ignored,ignored >75
    
    c6=myschafftom, ignored, ignored>=25
    
    IF c1 and (c5 or c6) THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    #236819 quote
    robertogozzi
    Moderator
    Master

    Si, forse è meglio che tu faccia anche il corso più avanzato, come ti ho detto l’operatore “=” non può essere utilizzato più di una volta sulla stessa riga.

    musoditopo thanked this post
    #236824 quote
    musoditopo
    Participant
    New

    Grazie mille , se per caso avrai tempo se riuscissi a riscrivermelo tutto corretto solo una volta sarebbe fantastico e  cosi’ vedrei ma comunque sei stato

    gentilissimo ,cosi’ non riesco grazie mille ciao

    #236857 quote
    musoditopo
    Participant
    New

    allora se ho capito devo mettere es

    indicator9=myschafftom = CALL “schaff tom”

    cosi’ ho solo un operatore dopo e non 3  = ma non funziona …ok grazie  mille lo stesso

    #236870 quote
    robertogozzi
    Moderator
    Master

    No, il simbolo “=” non può essere messo sulla stessa riga più di una volta.

    Se t’interessa solo il primo dato devi scrivere:

    myschafftom, ignored, ignored = CALL "schaff tom"

    ed usi la variabile myschafftom, oppure devi scrivere:

    indicator9, ignored, ignored = CALL "schaff tom"

    ed usi la variabile indicator9.

    musoditopo thanked this post
    #236871 quote
    musoditopo
    Participant
    New

    grazie mille gentilissimo

    #236872 quote
    musoditopo
    Participant
    New

    Gentilissimo Roberto ho fatto questo codice ,e’ corretto secondo lei? i segnali che riporta sono  completamente sballati ma solo per capire se

    ho fatto come diceva lei grazie mille ancora 

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
     
    // Condizioni per entrare su posizioni long
    indicator1 = MACDline[12,26,8](close)
    indicator2 = MACDSignal[12,26,8](close)
    c1 = (indicator1 >= indicator2)
     
    indicator9, ignored, ignored = CALL "schaff tom"
     
    c2=indicator9 >=75
    
    c3=indicator9>25
     
    IF c1 and (c2 or c3) THEN
    BUY 1 CONTRACT AT MARKET
    
    // Condizioni per uscire da posizioni long
    
    c4 = (indicator1 <= indicator2)
    c5=indicator9 <=75
    c6=indicator9 <=25
    
    IF c4 or c5 or c6 THEN
    SELL AT MARKET
    ENDIF
    ENDIF
    
    #236924 quote
    robertogozzi
    Moderator
    Master

    Si, mi sembra corretto:

    • apre una posizione quanto si verifica C1 + una qualunque tra C2 e C3
    • chiude la posizione quando una sola qualunque delle condizioni C4, C5 o C6 si verifica.

    Non posso provarlo perché non ho l’indicatore “schaff tom“, se lo alleghi o posti il link dove posso trovarlo mgari faccio anche qualche verifica.

    musoditopo thanked this post
    #236931 quote
    musoditopo
    Participant
    New

    Grazie mille Roberto!! la formula “schaff tom” e’ pari pari quella pubblicata qua (avevo solo cambiato nome)e che riporto sotto a seguire
    https://www.prorealcode.com/prorealtime-indicators/schaff-trend-cycle2/#:~:text=The%20STC%20indicator%20combines%20the,80%20readings%20are%20considered%20overbought.

    ma il problema e’ che non capisco se e’ un baco del programma (non credo vista la mia ignoranza a riguardo) o altro perche’se utilizzo questo indicatore
    nel sistema sopra report #236872 noterai  che acquista con la condizione C1 e solo la condizione C2 ignorando completamente la C3 (cioe’ solo con schaff sopra 75 e
    non quando va  sopra 25 perdendosi una grande porzione dei rialzi e non solo , sta long quando da istruzioni dovrebbe stare flat!!!
    faccio un attach della videata del sistema che salta fuori a me con l’indicatore e il sistema citati grazie mille ancora del tempo e della competenza che mi regali

    formula indicatore (presa da prorealcode)

    //input parameters
    TCLen =10
    MA1 = 23
    MA2 = 50
    
    Once Factor = 0.5
    
    if barindex>MA2 then
    //{Calculate a MACD Line}
    XMAC = ExponentialAverage[MA1](Close) - ExponentialAverage[MA2](Close)
    
    //{1st Stochastic: Calculate Stochastic of a MACD}
    Value1 = Lowest[TCLen](XMAC)
    Value2 = Highest[TCLen](XMAC) - Value1
    
    //{%Fast K of MACD}
    if Value2 > 0 then
    Frac1 =  ((XMAC - Value1)/Value2) * 100
    else
    Frac1 = Frac1[1]
    endif
    
    //{Smoothed Calculation for % Fast D of MACD}
    PF = PF[1] + (Factor * (Frac1 - PF[1]))
    
    //{2nd Stochastic: DCalculate Stochastic of smoothed Percent Fast D, 'PF', above}
    Value3 = Lowest[TCLen](PF)
    Value4 = Highest[TCLen](PF) - Value3
    
    //{% of Fast K of PF}
    if Value4 > 0 then
    Frac2 = ((PF - Value3)/Value4) * 100
    else
    Frac2 = Frac2[1]
    endif
    
    //{Smoothed Calculation for %Fast D of PF}
    PFF = PFF[1] + (Factor * (Frac2 - PFF[1]))
    endif
    
    RETURN PFF, 75 coloured(0,0,255) as "level 75", 25 coloured(0,0,255) as "level 25"
    
Viewing 15 posts - 1 through 15 (of 21 total)
  • You must be logged in to reply to this topic.

Scusate e’ possibile creare queste condizioni che a me non funzionano?


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
musoditopo @musoditopo Participant
Summary

This topic contains 20 replies,
has 2 voices, and was last updated by robertogozzi
1 year, 5 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 08/29/2024
Status: Active
Attachments: 3 files
Logo Logo
Loading...