avventure di un principiante - pagina 6

 
cloudbreaker:

Non c'è da preoccuparsi. Con solo alcune modifiche, dovrebbe effettivamente fare il lavoro per te.

Dovresti iniziare modificando il TakeProfit "error" che ho costruito per te. Dai un'occhiata a come è fatto lo StopLoss per un indizio.

Una volta che l'avrai fatto funzionare, spero che comincerai ad aggiungere la gestione degli errori, e qualche cosa di facile per l'operatore come le istruzioni Print() in modo da poter vedere facilmente nei log quello che sta facendo.

Lo pseudo-codice è importante prima di impegnarsi nel codice (anche per i programmatori esperti), ma non esagerate.

Sembra che tu attiri l'aiuto grazie al tuo modo bonario. La mia ipotesi è che tu lavori nelle risorse umane o sei interessato alla psicologia umana?


CB

Ciao CB,


È bello che qualcuno abbia detto che ho un buon carattere. Sono una psicologa di formazione, 2 lauree con un'enfasi sulla valutazione e lo sviluppo della personalità e la psicologia positiva. Ho fatto un sacco di lavoro con le Risorse Umane e la formazione dei manager su come rendere il loro personale più piacevole il lavoro (che alla fine si traduce in una linea di fondo più alta e una maggiore creatività).


Siete meravigliosi qui. Sono stupito dalla buona natura umana, e ripagherò l'atto e l'aiuto che mi avete dato mille volte quando sarà il momento. ('Pay It Forward' - guardate il film se non l'avete visto ;)

 

Ciao Tim,


Ho capito la cosa dell'array che mi hai fatto fare (credo). Il codice è qui sotto, è corretto. Lo sto postando qui anche se ho incluso l'EA in modo che altri che cercheranno informazioni simili possano vedere rapidamente cosa succede.


string Pair[] = {"EURUSD","GBPUSD","USDJPY","USDCHF","AUDUSD"}; //***Global Declaration of Array 'Pair' so we can call it in 'start' function   


int count = ArraySize( Pair);                //computer doesn't know how many elements array has, this is necessary to set the value for 'for' loop
for (int c=0; c< count; c++)                   //loop started to go through each element of the Array. After this I don't know how to use this, i guess we substitute OrderSend(Symbol) part with the array name so it loops through that. is that so?
    


ps: tra l'altro i miei file mq4 non compaiono tutti nella cartella mt4>experts, ho circa 30 experts ma solo circa 5 compaiono lì se vado nella cartella attraverso windows o provo ad allegare qualcosa qui (ma tutti compaiono attraverso mt4). qualche idea del perché? (ecco perché ho postato .txt)

File:
 

Ciao Nick,


Ben fatto!


Ora alzo un po' il tiro e ti suggerisco di provare a scrivere il codice per la funzione EntryRules più un po' di altre cose di cui avrai bisogno per chiamare efficacemente questa funzione.


Ho aggiunto un bel po' di commenti, idee e suggerimenti al codice perché possiate darci un'occhiata. Ho anche segnato le aree TODO per voi su cui lavorare. Vedete cosa potete fare con questo e postatelo sul forum quando siete pronti. Se vi sentite sopraffatti, postate semplicemente quello che avete fatto. Posso suddividerlo in pezzi di lavoro più piccoli, se necessario.


Un paio di possibilità riguardo ai tuoi file mq4 mancanti. Potresti avere gli attributi del file impostati come nascosti? MetaTrader sembra permettermi di modificare i file nascosti se vado attraverso il comando modifica sul pannello di navigazione. Un'altra possibilità è che i file siano in un'altra cartella come quella degli indicatori. Forse potresti provare a fare una ricerca su windows di tutti i file mq4 in tutte le sottocartelle di metatrader e includere tutti i file nascosti (usa il pulsante opzioni avanzate per winXP) nella tua ricerca.


Saluti

Tim

.

File:
 

Se stai usando Vista e hai l'UAC (User Account Control) attivato, allora controlla qui i tuoi file mancanti:

C:\Users\<nome del tuo account> \AppData\Local\VirtualStore\Program Files\<Direttore di installazione MT4> \experts

 
cloudbreaker:

Se stai usando Vista e hai l'UAC (User Account Control) attivato, allora controlla qui i tuoi file mancanti:

C:\Users\<nome del tuo account> \AppData\Local\VirtualStore\Program Files\<Direttore di installazione MT4> \esperti

Grazie CB, l'ho trovato. Ho creato una scorciatoia per un accesso veloce.

 

Ciao Tim,


Ouf, è l'1 di notte qui nel Regno Unito, sono esausto, devo andare al lavoro al mattino. Ho lavorato sul codice secondo i tuoi suggerimenti. Ci sono ancora molte cose sconosciute, ma sta procedendo bene. Sono arrivato il più lontano possibile senza il vostro ulteriore aiuto.


Ho tagliato molti commenti nel codice per renderlo visivamente più facile da manipolare (li ho incollati alla fine per il mio riferimento futuro), e ho anche creato una sezione alla fine per mostrarvi cosa ho fatto e in che ordine, anche per farvi domande lì, ecc. Come un 'ACtivity Log'. Se scrivete in quel registro, allora sarebbe più facile per me lavorare attraverso il codice, logicamente, psicologicamente e sequenzialmente pure.


Attendo il vostro feedback!

Nick

File:
 
niko wrote >>

Ciao Tim,

Ouf, è l'1 di notte qui nel Regno Unito, sono esausto, devo andare al lavoro al mattino. Ho lavorato sul codice secondo i tuoi suggerimenti. Ci sono ancora molte cose sconosciute, ma sta procedendo bene. Sono arrivato il più lontano possibile senza il vostro ulteriore aiuto.

Ho tagliato molti commenti nel codice per renderlo visivamente più facile da manipolare (li ho incollati alla fine per il mio riferimento futuro), e ho anche creato una sezione alla fine per mostrarvi cosa ho fatto e in che ordine, anche per farvi domande lì, ecc. Come un 'ACtivity Log'. Se scrivete in quel registro, allora sarebbe più facile per me lavorare attraverso il codice, logicamente, psicologicamente e sequenzialmente pure.

Attendo il vostro feedback!

Nick

Ciao Nick,


Mi dispiace di avervi fatto lavorare così tanto.

Sembra che tu stia facendo progressi. Una volta che avrai afferrato il concetto di array e funzioni, penso che molta della nebbia si solleverà.

Ti suggerisco di concentrarti solo sul cercare di finire la funzione EntryRules e la sua chiamata dalla funzione di avvio (principale). Penso che ci siamo quasi.

Mettere in ordine i vecchi commenti domande ecc nel codice è una buona mossa.

Prendetevela comoda, state facendo buoni progressi.

Vi sentirete presto


Saluti

Tim

File:
 

Ciao Tim,

haha, va bene così. Idealmente voglio arrivare alla fase di debug prima di andare in vacanza questo mercoledì sera (per 8 giorni, Turchia, Izmere - finalmente una vacanza!). Al momento sono al lavoro, ma riprenderò la codifica durante la pausa pranzo e appena torno a casa. Quindi ve lo farò avere questa sera!

Grazie per tutto il tuo aiuto Tim!

nick,,

 

Ciao Tim,


Ho fatto i pezzi che mi hai chiesto per il codice. Grazie per aver fornito risposte dettagliate alle mie domande e per aver scritto molti commenti in tutto il codice per aiutarmi a capire. Sto cominciando a vedere come le cose si incastrano, come usare correttamente gli array e chiamare funzioni specifiche (e il ruolo delle variabili globali e locali).


Ho allegato l'ultima versione del nostro codice.


Una domanda, c'è un motivo per cui non abbiamo fatto la funzione EntryRules per contenere tutto (comprese le bandiere) per darci una condizione di acquisto/corto, ma invece la chiamiamo con le bandiere in seguito per prendere la decisione di entrata?

 

A CB:


Ehi, volano alto! Ho fatto tutto quello che potevo con i compiti di Tim e così ho deciso di iniziare a guardare il tuo codice in modo più dettagliato.


Ho esaminato il tuo codice, cercando di capire e correggere gli errori in esso contenuti. Sono riuscito a ridurre gli errori a solo 'parentesi sbilanciate' per la stringa fnGenerateSignal(). Non so perché dice sbilanciamento in questo caso.


Come sempre apprezzerei i vostri pensieri sui miei progressi con il vostro codice! Tenete a mente che ci sono ancora un sacco di pezzettini che non capisco, anche le cose molto basilari.

File:
Motivazione: