Dinamico (numero magico) - Casuale

 

Publi

Dinamico (numero magico) - Casuale

 

Publi

Pagina 1 di 5 123 ... UltimaUltima
Risultati da 1 a 10 di 41

Discussione: Dinamico (numero magico) - Casuale

  1. #1
    Ciao a tutti,

    Non sono un programmatore MQL e curioso di sapere se avrebbe senso e se è possibile programmare un numero magico dinamico negli EA?

    Ho usato un po 'di programmazione nei linguaggi di tipo script e usavamo le funzioni built-in random () o rand ().

    Inoltre, farebbe la differenza per i criminali come S Hopwood menziona nel determinare se questo EA è un EA o no ...

    Stavo anche pensando di combinare diversi EA in un account per buttarli fuori. qualche idea?

  2. #2
    L'intero punto di MagicNumber è di far sapere a un EA quali operazioni deve gestire. MagicNumbers impedisce a un EA di interferire con le operazioni di altri EA.

  3. #3
    Ciao Ronald, grazie per la spiegazione. Immagino che abbia senso. Immagino che la preoccupazione sia che sono presumibilmente ???rintracciati??? dal broker e se esiste un modo per eseguire un tracking lato client o un modo per nasconderlo dal broker. Sono sicuro che hai già pensato a tutto questo, ma cercando di immaginare un modo per nascondere il mio EA dal vivo.
    Qualche idea su come farlo è apprezzata ... --- Sto diventando paranoico da alcuni dei post che sto leggendo su questo forum ...

  4. #4
    Dubito fortemente che i broker possano vedere MagicNumber, ma se sei davvero preoccupato, imposta il numero magico su 0 (lo stesso numero magico si applica alle operazioni aperte usando il tasto F9.

  5. #5
    Interessante lo dici! Grazie ... Credo che alcune persone siano ???vittime??? e incolpano le loro perdite sui broker per farti dormire mentre dormi. Broker di Freddy Krueger ... Buon nome per una startup ... hmmmm ...

  6. #6
    Non penso sia pratico creare numeri magici casuali. Se c'è un numero magico diverso da 0, allora il broker saprà che è un EA così diverso numero magico non aiuterà. Dubito che il broker sia seduto lì a dire: Oh no, il temuto mn 12345, lascia che lo frega. Io uso il numero magico per analizzare i miei scambi, oltre all'EA che lo usa per identificare le operazioni, quindi avere 10 diversi numeri magici per lo stesso EA non è utile. Ho creato una routine che genera un numero magico che è unico per ogni EA che eseguo, che è particolarmente importante quando si eseguono più EA su un account ...... Ho fatto la cosa di mn clash su un account live e non è carino Infine, anche se i broker possono vedere il tuo numero magico, come appare quando si posiziona il puntatore del mouse sulla colonna dei commenti. Non penso che possano dire la differenza tra una sceneggiatura e un EA. Inoltre non mi interessa se il broker può vedere il mio EA ...... quando si tratta di questi crimini, o ottieni l'esecuzione che chiedi, o non lo fai ..... è così semplice come quello . Se non ottieni l'esecuzione, passa a ... stai sprecando il tuo tempo cercando di superare in astuzia ???la casa???. Giocheresti in un casinò truco? Un buon EA monitora le prestazioni del broker fornendo dettagli di slippage o requotes (non ottengo requotes perché non utilizzo bucketshop di esecuzione istantanea, ma la tua scelta se vuoi usarli).

  7. #7

    Citazione Originariamente Scritto da ;
    Ho creato una routine che genera un numero magico che è unico per ogni EA che corro.
    Saresti così gentile a postare il codice o spiegare come funziona? Grazie, --RR

  8. #8
    Mi chiedo ... Magic Number è del tipo di dati int, forse usando un valore negativo potrebbe produrre qualche effetto insolito?

  9. #9
    Ciao Ronald, Ecco l'essenza del codice ...... ovviamente deve essere correttamente incorporato in un EA ........ Inserisci codice int AutoMagic () {string Cur1 = StringSubstr (Symbol (), 0,3), Cur2 = StringSubstr (Symbol (), 3,3), magic1 = 0, magic2 = 0; int Period_ID = 0; se (Cur1 == EUR) magic1 = 1; se (Cur1 == GBP) magic1 = 2; se (Cur1 == USD) magic1 = 3; if (Cur1 == AUD) magic1 = 4; se (Cur1 == CHF) magic1 = 5; se (Cur1 == CAD) magic1 = 6; if (Cur1 == JPY) magic1 = 7; if (Cur1 == NZD) magic1 = 8; se (Cur2 == EUR) magic2 = 1; se (Cur2 == GBP) magic2 = 2; se (Cur2 == USD) magic2 = 3; if (Cur2 == AUD) magic2 = 4; se (Cur2 == CHF) magic2 = 5; se (Cur2 == CAD) magic2 = 6; se (Cur2 == JPY) magic2 = 7; if (Cur2 == NZD) magic2 = 8; switch (Period ()) {case PERIOD_MN1: Period_ID = 9; rompere; caso PERIOD_W1: Period_ID = 8; rompere; case PERIOD_D1: Period_ID = 7; rompere; caso PERIOD_H4: Period_ID = 6; rompere; caso PERIOD_H1: Period_ID = 5; rompere; case PERIOD_M30: Period_ID = 4; rompere; case PERIOD_M15: Period_ID = 3; rompere; case PERIOD_M5: Period_ID = 2; rompere; caso PERIOD_M1: Period_ID = 1; rompere; } AutoMagic = StringConenate (EA_Number, EA_Instance_UID, magic1, magic2, Period_ID, 0); while (GlobalVariableCheck (AutoMagic)) {//se MagicNumber esiste già, incrementa Instance_UID EA_Instance_UID ; AutoMagic = StringConenate (EA_Number, EA_Instance_UID, magic1, magic2, Period_ID, 0); } if (! GlobalVariableCheck (AutoMagic)) GlobalVariableSet (AutoMagic, StrToDouble (AutoMagic));/MagicNumber non esiste, quindi scrivilo come Gvar if (EA_Instance_UID gt; 1) {Stampa (Si noti che questo è il numero di istanza EA_Instance_UID di questo EA su questa coppia di valute!);/avvisa l'utente dell'avviso di conflitto (istanza multipla della stessa coppia di valute EA. Controlla le impostazioni di rischio. EA_Instance_UID riassegnato!); } return (StrToInteger (AutoMagic)); } In sostanza, ciò che fa è assegnare un numero magico basato sulla coppia di valute, il timeframe e l'identifiivo del numero EA, nonché un identifiivo univoco di EA (cioè lo stesso EA in esecuzione sulla stessa valuta e nello stesso intervallo di tempo più di una volta). Assegna il numero magico a una variabile globale, in modo che altri EA possano controllare se il numero esiste. Se il numero esiste, può essere lo stesso EA, la stessa coppia di valute e lo stesso intervallo di tempo, quindi incrementerà l'EA_Instance_UID di uno finché non ne trova uno che non viene preso. Quindi salva quel numero magico come una stringa con lo stesso nome. Ricordarsi di cancellare la variabile globale nella funzione uninit () altrimenti potrebbe causare problemi. EA_Instance_UID EA_Number sono dichiarati prima di qualsiasi funzione, quindi possono essere visti dalla funzione chiamata dalfunzione init (). Suppongo che potresti anche dichiararli nella funzione init e passarli come parametri.

  10. #10
    I miei complimenti a tutti i poster su questo thread. Sei arrivato a 10 post e tutto ha un senso tecnico e, soprattutto, di buon senso. Spero che altri possano imparare da questo thread. Inserirò un segnalibro per riferimento futuro su questo argomento.

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.