EA Running

 

Publi

EA Running

 

Publi

Risultati da 1 a 10 di 10

Discussione: EA Running

  1. #1
    In MT4 c'è un modo per rilevare se un EA è già in esecuzione su un altro grafico?

    Saluti

    Scoobs.

  2. #2
    Vai al grafico della coppia e guarda nell'angolo a destra. Se c'è un'icona, questo è per l'EA. Come la scelta del menu Finestra ha una scelta chiamata più finestre se hai molti grafici aperti. Ti fornirà un elenco delle coppie e il nome di qualsiasi EA associato a quel grafico.

  3. #3

    Citazione Originariamente Scritto da ;
    Vai al grafico della coppia e guarda nell'angolo a destra. Se c'è un'icona, questo è per l'EA. Come la scelta del menu Finestra ha una scelta chiamata più finestre se hai molti grafici aperti. Ti fornirà un elenco delle coppie e il nome di qualsiasi EA associato a quel grafico.
    Forse non ho spiegato molto bene. Voglio che l'EA controlli automaticamente per vedere se non è già cario e in esecuzione su un altro grafico. Scoobs.

  4. #4
    Non penso che esista una funzione come IsTesting () o IsDemo (). Puoi farlo con un po 'di codice aggiuntivo usando una variabile Globale che memorizza il nome dell'EA e la coppia di valute. Un altro EA potrebbe verificare l'esistenza della variabile.

  5. #5

    Citazione Originariamente Scritto da ;
    Non penso che esista una funzione come IsTesting () o IsDemo (). Puoi farlo con un po 'di codice aggiuntivo usando una variabile Globale che memorizza il nome dell'EA e la coppia di valute. Un altro EA potrebbe verificare l'esistenza della variabile.
    Pensavo che la variabile globale fosse vista solo da un'istanza EA e non da altri?

  6. #6
    una vera variabile globale è disponibile per tutto ciò che riguarda la piattaforma su quel computer ..... come ha detto il codemiester, il global vairable potrebbe essere impostato .... l'EA potrebbe guardare su init e vedere cosa sta attualmente girando sulla piattaforma ... .. poi ti avverto se è necessario ..... a volte lo stesso EA è richiesto più volte sulla stessa coppia e periodo di tempo ....../---/--- puoi anche programmare per diverse piattaforme in esecuzione su diversi computer in diversi paesi per essere in grado di dire se gli altri sono in esecuzione e solo quello che è ..... così, e questo è un esempio estremo, se il computer in esecuzione a Mosca ha perso la connessione a Internet, quello a Los Angeles sarebbe vedere e prendere in consegna ..... se entrambi perdessero la connessione, un'altra in Austria potrebbe prendere il controllo ...... e così via ...... backup ridondanti ... l'uso pratico sarebbe se tu avessi computer nel tuo ufficio, casa tua e case del figlio ...... h

  7. #7

    Citazione Originariamente Scritto da ;
    Pensavo che la variabile globale fosse vista solo da un'istanza EA e non da altri?
    C'è un conflitto confuso nella terminologia. Non sono realmente variabili nel senso consueto (dichiarate nel codice), queste altre variabili globali sono coppie nome-valore a cui è possibile accedere tramite un'API speciale, sono accessibili da tutti gli EA nel terminale in esecuzione, sono persistenti su disco e sopravvivere anche a un arresto impuro (crash). Sono accessibili con GlobalVariableSet (), GlobalVariableGet () e alcune altre funzioni che iniziano con GlobalVariable *. Avrebbero dovuto dare loro un nome diverso per evitare questa confusione.

  8. #8

    Citazione Originariamente Scritto da ;
    C'è un conflitto confuso nella terminologia. Non sono realmente variabili nel senso consueto (dichiarate nel codice), queste altre variabili globali sono coppie nome-valore a cui è possibile accedere tramite un'API speciale, sono accessibili da tutti gli EA nel terminale in esecuzione, sono persistenti su disco e sopravvivere anche a un arresto impuro (crash). Sono accessibili con GlobalVariableSet (), GlobalVariableGet () e alcune altre funzioni che iniziano con GlobalVariable *. Avrebbero dovuto dare loro un nome diverso per evitare questa confusione.
    Pensi che il seguente potrebbe funzionare? if (CheckInstance) {double EA_RUNNING = GlobalVariableGet (WindowExpertName ()); if (EA_RUNNING == 0) {GlobalVariableSet (WindowExpertName (), 1); CheckInstance = false; } if (EA_RUNNING! = 0) {return (0); }}

  9. #9
    Scooby, vorrei usare GlobalVariableCheck piuttosto che Get. ?? anche importante ricordare di cancellare la variabile globale su deinit. Sto lavorando ad un EA nel forum indo che fa questo. Verifica la presenza dell'EA sulla stessa coppiaTF e rimuove se stesso dal grafico corrente se risulta in esecuzione.

  10. #10
    1 Attachment (s) Ok ho fatto in questo modo e sembra funzionare molto bene. Grazie per l'aiuto di tutti. Scoobs.
    https://www.forexmad.com/attachments...5576789423.mq4

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Il sito di forexmad utilizza cookie
Il sito di forexmad utilizza cookie, alcuni dei quali già installati. Per avere maggiori informazioni sui nostri cookie ti preghiamo di cliccare qui. Ti preghiamo di cliccare sul bottone a destra per accettare i nostri cookie. Se continui a navigare sul sito di forexmad assumeremo che sei d'accordo ad utilizzarli.