Announcement

Collapse
No announcement yet.

help Button

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

    help Button

    Ciao ragazzi,ho creato un oggetto button per un indicatore(di seguito metto il codice), quando lo "premo" tutto a posto mi eseguel la parte di codice " //Button is pressed ", il problema lo ho quando lo "ripremo" che dovrebbe eseguire la parte di codice " //Button is not pressed " invece mi esegue solo " Print("ciao");" infatti nella "scheda consiglieri" compare "ciao", come mai dove ho sbagliato.
    Questa pulsantiera serve a mostrare varie cose sul grafico una di queste è segnare il min e il max mensile, ora, se clicco il pulsante e cambio TF, il pulsante "rimane cliccato" però il min/max mensile si cancella sul grafico,come devo fare per non farlo cancellare.
    Grazie

    PHP Code:

    void OnChartEvent
    (const int id, const long &lparam, const double &dparam, const string &sparam){


      if(
    id==CHARTEVENT_OBJECT_CLICK){
          
    //--- If you click on the object with the name buttonID
        
    if(sparam=="MaxMinAnnu"//Button is pressed
            
    {
             
    //--- State of the button - pressed or not
             
    if(ObjectGetInteger(0,"MaxMinAnnu",OBJPROP_STATE)==true)
               {
                if(
    barre<Bars)
                {
                   
    barre=Bars;           
                   
    show_max_12MN=true
                   
    show_min_12MN=true
                   
    drawAll(); 

               }

             else
    // Button is not pressed
               
    {
               
    ObjectDelete(0,"max_1MN");
               Print(
    "ciao");

               }
              }
          
    ChartRedraw();
          } 






    #2
    btn cliccato al cambio di TF.JPGbtn cliccato.JPG

    PHP Code:
     if(sparam=="OpenCloseDay")
            {

             if(
    PressedOpenCloseD1)//if(ObjectGetInteger(0,"OpenCloseSem",OBJPROP_STATE)==true) //Premuto
               
    {
                
    // ObjectSetInteger(0,"OpenCloseSem",OBJPROP_STATE,false);
                
    if(barre<Bars)
                {
                   
    barre=Bars;           
                   
    show_open_D1=true
                   
    show_close_D1=true
                   
    drawAll(); 
                }
               }
               else
    //non premuto
                
    {  show_open_D1=falseshow_close_D1=false
                   
    ObjectDelete(0,"open_D1_txt");ObjectDelete(0,"open_D1");ObjectDelete(0,"open_D1_txt");
                   
    ObjectDelete(0,"close_D1_txt");ObjectDelete(0,"close_D1");ObjectDelete(0,"close_D1_txt");
                   
    ObjectSetInteger(0,"MaxMinDay",OBJPROP_STATE,false);       

                }
             
    PressedOpenCloseD1= !PressedOpenCloseD1;
             } 
    Raga ho risolto il primo problema ora esegue sia il codice di quando il pulsante "è premuto" che il codice "non premuto".
    Ora il problema è questo quando "premo il bottone" mostra dei livelli sul grafico (figura 2 "bottone cliccato"); il problema lo ho quando "premo il bottone" e cambio TF il bottone rimane premuto però mi cancella i livelli (figura1 "bottone cliccato al cambio TF"); come devo sistemarlo per non fare cancellare i livielli al cambio di TF avete suggerimenti?

    Comment


      #3
      forse lo script ha la funzione
      OnDeinit() che cancella gli oggetti grafici
      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


        #4
        La funzione deint è questa


        PHP Code:
        void OnDeinit(const int reason)
        {  
        deinitNumeriTondi();
           
        cleanIndi();
           
        ObjectDelete(0,"MaxMinMens");ObjectDelete(0,"Cancella");ObjectDelete(0,"MaxMinDay");ObjectDelete(0,"MaxMinWk");ObjectDelete(0,"MaxMinMens");ObjectDelete(0,"MaxMinTrim");ObjectDelete(0,"MaxMinSem");
           
        ObjectDelete(0,"MaxMinAnnu");ObjectDelete(0,"NumTondi");   

        ho provato ad eliminarla ma da lo stesso il problema|!

        Comment


          #5
          Se crei un oggetto con uno script e poi cambi timeframe su quello stesso grafico, l'oggetto creato rimane sul grafico del nuovo timeframe.

          in allegato uno script prova.mq4 che crea una trendline: se lo esegui sul Daily e poi cambi timeframe mettendo H4, vedrai che la trendline rimane viva anche su H4.

          Se sul grafico fai "pulsante destro" - Object List : leggerai gli oggetti creati che sono stampati sul grafico.


          Attached Files
          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
            Il file che hai allegato non si carica proprio, però di regola è come hai scritto infatti tutti gli indicatori che ho fatto non danno questo problema, però questo è il primo indicatore in cui uso l'oggetto button e mi da questo problema, ho fatto pure la prova col ""pulsante destro" - Object List : leggerai gli oggetti creati che sono stampati sul grafico."
            premo il tasto in h4 in Object List : ci sono gli oggetti creati che sono stampati sul grafico, se cambio TF spariscono................ sarà qualcosa relativo al button??

            Comment


              #7
              Che significa che il file che ho postato "non si carica proprio"?!?
              È un codice sorgente, è un file che va compilato....

              ed è uno SCRIPT, non un indicatore, quindi va messo nella cartella degli script
              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
                Guarda ho provato a compilarlo e a metterlo nella cartella \mql4\script ma nn si attacca proprio al grafico, nn mi compare nemmeno il "box" delle proprietà, non so il motivo sinceramente, però come ti dicevo e ti ripeto,

                questo è un indicatore e di regola è come hai scritto infatti tutti gli indicatori che ho fatto non danno questo problema quando cambi il TF, però questo è il primo indicatore in cui uso l'oggetto button e mi da questo problema, ho fatto pure la prova col ""pulsante destro" - Object List : leggerai gli oggetti creati che sono stampati sul grafico."
                premo il tasto in h4 in Object List : ci sono gli oggetti creati che sono stampati sul grafico, se cambio TF spariscono................ sarà qualcosa relativo al button??
                Attached Files

                Comment


                  #9
                  Ragazzi ho sistemato i problemi ora ne è comparso uno nuovo quando clicco un pulsante, la pulsantiera "lagga"(scompare un paio di secondi e poi riappare) a volte devo fare un clicc per farlo riapparire, non mi era mai capitato sapete quale può essere il problema?

                  Comment

                  Working...
                  X