Announcement

Collapse
No announcement yet.

breackout previous high

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

  • umbertosm
    replied
    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)); 

    Leave a comment:


  • Carbonmimetic
    replied
    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à

    Leave a comment:


  • Carbonmimetic
    replied
    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

    Leave a comment:


  • umbertosm
    replied
    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.

    Leave a comment:


  • Carbonmimetic
    replied
    Ciao, scusa la mia ignoranza ma come devo settare:

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

    Leave a comment:


  • umbertosm
    replied
    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
    }
    //--------------------------------------------------------------------

    Leave a comment:


  • Carbonmimetic
    replied
    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

    Leave a comment:


  • umbertosm
    replied
    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.

    Leave a comment:


  • Carbonmimetic
    replied
    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

    Leave a comment:


  • Carbonmimetic
    replied
    grazie mille...gentilissimo e veloce nel rispondere come sempre!!

    Leave a comment:


  • umbertosm
    replied
    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

    Leave a comment:


  • Carbonmimetic
    started a topic breackout previous high

    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
Working...
X