Bisogno di aiuto - pagina 4

 
a007 #:

Ho tre semplici domande: dalle risposte dipende il futuro dell'umanità:

1. da dove viene l'idea di EA (chi l'ha suggerita, dove l'ho letta, ...) ?

2. Quali sono i segni (come so che funziona, come lo capisco) che funziona solo su una finestra, e non si apre sulla seconda?

3. Perché gettare un'altra finestra, perché una finestra non è sufficiente?

1. durante il test, posso ancora dire solo una cosa, ho trovato la punta sulla rete, per molto tempo è andato in questa direzione, ma sentivo che mancava qualcosa), e poi finalmente visto una cosa interessante sulla rete, che ha dato tutte le risposte di cui ho bisogno), penso che molti circa l'essenza dell'idea sapere, e forse qualcuno è già cavolo taglio utilizzando questo algoritmo ... Non lo so ), è in superficie, ma non ho visto nulla di simile in fonti pubbliche per molti anni, quindi devo testarlo sulle mie ginocchia ... Uso Excel, ci ho avvitato le quotazioni, l'ho riempito di formule e calcoli, e lo faccio ancora così, non ho sistemato il mio stato per la segnalazione per 4 giorni, ho sistemato la tabella ma i profitti senza reinvestire per 5 giorni hanno avuto una media del 30% al giorno, non un martin, senza ottimizzazione, senza indicatori, non mi interessa quale broker, i drawdown non sono stati osservati, le inversioni sono lente, il che rende facile l'apertura nella giusta direzione, oggi i profitti sono anche entro il 30%. Se mi aiutate a completare il gufo per il test, posterò i rapporti da MT4 per il periodo di test.
2. sì i segni sono semplici, prima si mette il gufo su una finestra, tutto funziona, poi lo si mette sulla seconda finestra, nella finestra appare, ma non succede niente, gli ordini non si aprono.
3. Finora la situazione è la seguente: viene generato un segnale di entrata, scelgo la lista di coppie richiesta nei parametri di ingresso, indico la direzione e la invio alla finestra del grafico; secondo le regole, per esempio appaiono 6 segnali e per ogni segnale una diversa lista di ordini, in questa modalità civetta devo inviare il secondo e poi il terzo ... in diverse finestre per aprire consecutivamente 6 ordini di scopi diversi dalla lista.
Per aprire tutto in una finestra, dovremmo aggiungere tutta la matematica dell'algoritmo che darebbe segnali per l'apertura sequenziale di 6 ordini, ma questo è un argomento separato per il lavoro del singolo programmatore.
In questa fase vedo la soluzione come segue, se mi suggerite qualcosa di meglio, non mi dispiace, in caso di risultati positivi dei test (preferibilmente in MT) avrà già senso e interesse a creare una macchina automatica a tutti gli effetti, mentre tutto sta andando molto meglio, e vedremo.

 
Sergey Korsunov #:

Tutto fatto, funziona alla grande, grazie
ma il processo di compilazione genera alcuni avvertimenti, cosa significa e come posso rimuoverli?

OrderSend in MQL4

Restituisce il numero di biglietto assegnato all'ordine dal server commerciale o -1 in caso di fallimento. Per ottenere le informazioni sull'errore, è necessario chiamare la funzione GetLastError().


Ma il valore restituito vola verso il nulla. Non è cruciale, naturalmente, ma non è il miglior stile di programmazione.

F1 vi aiuterà, c'è anche un piccolo esempio

 
Al momento ho ottenuto il risultato richiesto con il mio codice, che ho cambiato con il vostro aiuto, e molte grazie per questo.
L'Expert Advisor ha iniziato ad aprire l'elenco dei simboli richiesti in nuove finestre.
domani dovrò correggere l'intero codice, e non è poco, ed è un po' disordinato), ma sembra funzionare), non ho esperienza e conoscenza.
 
Sergey Korsunov #:
Al momento ho ottenuto il risultato di cui ho bisogno con il mio codice, che ho cambiato con il vostro aiuto, e vi ringrazio molto.
L'Expert Advisor ha iniziato ad aprire l'elenco dei simboli richiesti in nuove finestre.
domani dovrò correggere l'intero codice, e non è poco, ed è un po' disordinato), ma funziona), non ho abbastanza esperienza e conoscenza.

Dovete imparare subito a scrivere codice breve. Confronta la tua versione con la mia.

Butta via le funzioni e le parentesi superflue, e organizza le parti ripetitive con le funzioni.

Metà del testo del programma deve essere commentato su 3 livelli:

1. Tutto il programma è chiaro, completo e senza ridondanze.

2. A parti particolari del programma: funzioni, cicli, ...

3. Ai singoli operatori.

 
a007 #:

Dovete imparare subito a scrivere codice breve. Confronta la tua versione con la mia.

Butta via le funzioni e le parentesi superflue, e organizza le parti ripetitive con le funzioni.

Metà del testo del programma deve essere commentato su 3 livelli:

1. Tutto il programma è chiaro, completo e senza ridondanze.

2. A parti particolari del programma: funzioni, cicli, ...

3. Ai singoli operatori.

Sono solo all'inizio, appena iniziato )
La mia versione originale aveva più di 8 000 linee O_o ))
Dopo le correzioni di ieri il codice è stato ridotto esattamente 2 volte, ma è anche molto, molto rispetto al tuo.
Ieri mi ci è voluto un giorno intero per riscriverlo.
Se mi aiutate a finire quello che ho iniziato ve ne sarò molto grato.

Il bot ha lavorato bene con questa strategia oggi.
Il mio lavoro principale è solo quello di aprire gli ordini nel giusto ordine e l'ha fatto bene.
L'unica cosa che ho sbagliato oggi è non prestare attenzione alla dimensione del lotto di default, tutti sull'apertura con un lotto di 0,01, e ha dovuto lotto 1,0 per impostare, solo disattenzione, potrebbe certamente riavviare 1 lotto, ma che troppo pigro).

Il risultato di trading oggi strategiki (a 1 lotto) +50%!
Mentre scrivevo questo post ho ottenuto più del 65% di PROFITTO in Excel)

File:
Screenshot_7.jpg  421 kb
 
a007 #:

............ trasformano le parti ripetitive in funzioni.


questo è esattamente ciò che manca nel codice, ma non so come farlo
tutto il mio codice consiste in ripetizioni

 
Sergey Korsunov #:
l'EA ha iniziato ad aprire l'elenco di strumenti richiesto in nuove finestre.

In Windows c'è un programma diverso che gira in ogni finestra! Avete eseguito molti terminali? Perché avete bisogno di nuove finestre?

L'EA deve lavorare su un solo grafico. Deve inviare ordini al server. In quali finestre si apre la lista?

 
a007 #:

In Windows c'è un programma diverso che gira in ogni finestra! Avete eseguito molti terminali? Perché avete bisogno di nuove finestre?

L'EA deve lavorare su un solo grafico. Deve inviare ordini al server. In quali finestre si apre la lista?

Cercherò di descriverlo su
. In questa fase, il bot è necessario solo per l'apertura di ordini secondo certe regole durante il test della strategia.
Abbiamo un solo terminale.
Le nuove finestre sono necessarie solo per l'apertura di nuovi ordini in una sequenza ciclica.
Si presenta così:
lancio il bot nella prima finestra, apre 6 ordini con diversi simboli considerando la lista.
Apro la prossima lista di 6 ordini nella seconda finestra, ma con impostazioni leggermente diverse nella finestra dei parametri di input e così via.
Dopo che tutti gli ordini nelle finestre sono stati aperti, cancello tutti i bot in modo che dopo un profitto fissato da un ulteriore bot che chiude tutte le posizioni, il bot non le apre di nuovo.
Per ora 6 finestre sono sufficienti, naturalmente, posso lavorare in una finestra e cancellare il bot ogni volta che vengono aperti nuovi ordini, ma è troppo complicato).
Se siete interessati, posso mostrarvi la parte funzionante del codice.
Quando si aprono nuovi ordini, bisogna impostare 2 parametri nelle impostazioni, il 3° se necessario (direzione dell'affare è comprare o vendere).
Al momento il bot fa il suo lavoro, a volte rallenta un po' quando apre gli ordini, ma penso che sia solo a causa del codice troppo lungo).
La variante con un file di testo con una lista di strumenti semplificherebbe il codice in modo incommensurabile e accelererebbe significativamente il suo lavoro.


 
Sergey Korsunov #:

C'è solo un terminale.
Nuove finestre sono necessarie solo per aprire nuovi ordini in una sequenza ciclica.
Si presenta così: avvio il bot nella prima finestra, ...

Ho capito. State confondendo finestre e grafici. Il terminale è un'applicazione Windows. Ogni applicazione funziona nella propria finestra. Poiché il terminale è lo stesso, la finestra è la stessa.

Si avvia il robot in diverse finestre, poi si aspetta, poi si chiude... Si perde un sacco di tempo per questo.

Il robot deve essere uno solo e fare tutto il lavoro in una volta sola. Poi sui veri 100 dollari e 2 settimane di test.

Se perderà, che liberazione. Se si riempie - riempire il deposito.

 
Sergey Korsunov #:

Cercherò di descrivere
In questa fase, il bot è necessario solo per aprire gli ordini secondo certe regole durante il test della strategia.
C'è solo un terminale.
Nuove finestre sono necessarie solo per l'apertura di nuovi ordini in una sequenza ciclica.
Si presenta così:
lancio il bot nella prima finestra, apre 6 ordini con diversi simboli considerando la lista.
Apro la prossima lista di 6 ordini nella seconda finestra, ma con impostazioni leggermente diverse nella finestra dei parametri di input e così via.
Dopo che tutti gli ordini nelle finestre sono stati aperti, cancello tutti i bot in modo che dopo un profitto fissato da un ulteriore bot che chiude tutte le posizioni, il bot non le apre di nuovo.
Per ora 6 finestre sono sufficienti, naturalmente, posso lavorare in una finestra e cancellare il bot ogni volta che vengono aperti nuovi ordini, ma è troppo fastidioso).
Se siete interessati, posso mostrarvi la parte funzionante del codice.
Quando si aprono nuovi ordini, è necessario impostare 2 parametri nelle impostazioni, il terzo se necessario (direzione dell'affare è comprare o vendere).
Al momento il bot fa il suo lavoro, a volte rallenta un po' quando apre gli ordini, ma penso che sia solo a causa del codice troppo lungo).
L'opzione di un file di testo con una lista di simboli semplificherebbe il codice e accelererebbe significativamente il suo lavoro.


La seconda lista e le impostazioni dipendono dalla prima serie di ordini, o tutte le liste e le impostazioni sono note in anticipo? Vorrei dare un'occhiata alla parte funzionante. Scrivi che le impostazioni devono essere cambiate per il secondo elenco/set di ordini, ma non specifichi da cosa dipendono.