Announcement

Collapse
No announcement yet.

breackout previous high

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    breackout previous high

    Gentilmente quale sarebbe la stringa di codice mql5 o anche mql4 x fare in modo che il prezzo attuale rompa con il BID l'HIGH della barra precedente?
    grazie mille

    #2
    Code:
     if(Close[0]>High[1])    Print("il prezzo attuale ha superato il massimo della barra precedente");
    oppure

    Code:
    if(Bid>High[1])    Print("il prezzo attuale ha superato il massimo della barra precedente");

    fanno la stessa cosa
    Close[0] è il valore di Bid appena battuto
    La vita non è un giro di prova, cogli l’attimo..
    Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

    Comment


      #3
      grazie mille...gentilissimo e veloce nel rispondere come sempre!!

      Comment


        #4
        come si fa ad intercettare l'ora di una candela in cui è avvenuto il buy?
        in pratica devo bloccare l'operatività (evitare che l'ea compri ancora) x 15 barre dopo il buy, grazie

        Comment


          #5
          Io nei miei EA implemento questa situazione: al momento in cui sto per aprire un trade, interrogo il basket degli ordini aperti ed il basket degli ordini chiusi, estraggo l'ultimo ordine aperto o chiuso e verifico con OrderOpenTime() a che ora è stato aperto quel trade, poi nel codice si decide cosa fare.

          La vita non è un giro di prova, cogli l’attimo..
          Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

          Comment


            #6
            ok...posto che l'ora interessata sia ad esempio le 8 del mattino, a me interessa sommare ad esempio 15 barre e dire al sistema che all'interno di quelle 15 barre deve stare fermo

            Comment


              #7
              Originally posted by Carbonmimetic View Post
              ok...posto che l'ora interessata sia ad esempio le 8 del mattino, a me interessa sommare ad esempio 15 barre e dire al sistema che all'interno di quelle 15 barre deve stare fermo
              e allora il modo più semplice e veloce è usare una variabile intera che conta le barre dopo aver aperto un trade: ad ogni avvio di barra il contatore aumenta di 1 e finché non passano 15 barre, l'EA non fa nessuna verifica se aprire un trade.

              Per individuare l'apertura di una nuova barra, e quindi sommare 1 al contatore, puoi usare questa funzione

              Code:
              //-----------------------------------------------------------------------
              bool New_Bar() // funzione che individua l'avvio di una nuova barra
              {
              if (New_Time!=Time[0]) // Se la barra corrente ha diversa data di avvio memorizzata da New_Time, è stata individuata una nuova barra
              {
              New_Time=Time[0]; // Viene memorizzata la data di avvio della nuova barra
              return(true); // C'è una nuova barra
              }
              else return(false); // La barra corrente ha la stessa data di avvio memorizzata da New_Time
              }
              //--------------------------------------------------------------------
              La vita non è un giro di prova, cogli l’attimo..
              Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

              Comment


                #8
                Ciao, scusa la mia ignoranza ma come devo settare:

                New_Time e Time[]?
                devo scrivere: int New_Time; e time?

                Comment


                  #9
                  mi spiace ma non puoi codificare se non hai le basi... non è qualcosa che si spiega in un post
                  Sono tante le righe da scrivere oltre alla funzione che ho postato.
                  La vita non è un giro di prova, cogli l’attimo..
                  Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                  Comment


                    #10
                    ok grazie lo stesso x la pazienza
                    in effetti non sono io che programmo ma un mio amico..io non ci capisco una mazza di linguaggio mt

                    Comment


                      #11
                      altra domandona:
                      quale sarebbe la stringa x uno stop loss così impostato? un punto sotto al breackout di LLV 72 riferito alla barra precedente
                      ovvero mi trovo sulla barra delle 8.01 e LLV 72 ha un valore di 1.10
                      alle 8.02 il titolo scende ed effettua il breackout x un pip di LLV72 delle 8.01 con l'ASK
                      grazie della disponibilità

                      Comment


                        #12
                        Originally posted by Carbonmimetic View Post
                        quale sarebbe la stringa x uno stop loss così impostato? un punto sotto al breackout di LLV 72 riferito alla barra precedente
                        ovvero mi trovo sulla barra delle 8.01 e LLV 72 ha un valore di 1.10
                        alle 8.02 il titolo scende ed effettua il breackout x un pip di LLV72 delle 8.01 con l'ASK
                        grazie della disponibilità
                        PHP Code:
                        // Apri il trade BUY con la logica dell'EA
                        // Per definizione per un Buy si compra sull'Ask e si chiude il trade sul Bid
                        int ticket OrderSend(Symbol(), OP_BUYLotNormalizeDouble(Ask,Digits), 000ExpertCommentMagicNumber0clrGreen);
                        // calcoli il breackout di LLV 72 appena apri il trade... non so come viene calcolato
                        double LLV72 = .....; // lo calcoli tu appena apri il trade
                        // per un ordine BUY lo stoploss va sul BID
                        double sl NormalizeDouble(LLV72 1*_pip,Digits); // per il Buy, stoploss 1 punto sotto LLV72
                        if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,t p,0,clrGreen)) if(PRINT_REPORT) Print(__FUNCTION__," (",__LINE__,"): inserito SL per l\'ordine Buy #"+IntegerToString(ticket));


                        // Per definizione per un Sell si compra sul Bid e si chiude il trade sull'Ask
                        // Apri il trade SELL con la logica dell'EA
                        int ticket OrderSend(Symbol(), OP_SELLLotNormalizeDouble(Bid,Digits), 000ExpertCommentMagicNumber0clrRed);
                        // calcoli il breackout di LLV 72 appena apri il trade... non so come viene calcolato
                        double LLV72 = .....;
                        // per un ordine SELL lo stoploss va sull'ASK
                        double spread NormalizeDouble((Ask Bid), Digits);
                        double sl NormalizeDouble(LLV72 spread 1*_pip,Digits); // per il Sell, stoploss 1 punto sopra LLV72
                        if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,t p,0,clrRed)) if(PRINT_REPORT) Print(__FUNCTION__," (",__LINE__,"): inserito SL per l\'ordine Sell #"+IntegerToString(ticket)); 
                        La vita non è un giro di prova, cogli l’attimo..
                        Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                        Comment


                          #13
                          innanzi tutto grazie della celere risposta....
                          il grafico della MT5 è costruito sul Bid
                          premesso questo...il mio amico che mastica un pò di codice (io zero) non riesce a fare in modo che sia l'ASK ad effettuare il breackout di LLv..esiste un modo si o no?
                          ovviamente anche a costo di rimetterci lo spread in quanto se il breackout down viene eseguito con l'ASK è peggiorativo....ma non dimenticarti che sotto le notizie se si allarga lo spread lo stop loss te lo eseguono magari senza che il prezzo si sia spostato
                          (p.s. il breackout up x aperuta di posizioni long è stato creato con il superamento del BID...ma non riesce a replicare il contrario come da domanda sopra esposta)

                          Comment


                            #14
                            Anche Mt4 è costruito sul Bid!

                            le regole e logica scritte sono indipendenti dalla piattaforma.

                            il Bid del breakout è il valore che vedi sul grafico.

                            l'Ask del breakout è il valore del grafico + lo spread.
                            La vita non è un giro di prova, cogli l’attimo..
                            Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                            Comment


                              #15
                              Anche Mt4 è costruito sul Bid! ...certo ..ho specificato la Mt5 in quanto lavoriamo su quella

                              l'Ask del breakout è il valore del grafico + lo spread...infatti
                              a livello di codice come andrebbe impostato?
                              metto in copia la riga che ha scritto il mio amico
                              Attached Files

                              Comment

                              Working...
                              X