avventure di un principiante - pagina 9

 

Tim,


Ho portato il codice al punto in cui non ci sono errori segnalati quando viene compilato (era solo la correzione di alcuni bug che hai evidenziato), anche se in strategy tester non fa ancora alcun trade. Ma c'è qualcosa che mi lascia perplesso:


int EntryRules(string CurrencySymbol, double TopFilter, double BottomFilter)  //Tim: string CurrencySymbol not CurrencySym right?
{

      emas_Up =  (ema7>ema14) && (ema14>sma50);
      if (emas_Up && Ask < TopFilter) // Note the TopFilter value  is a parameter passed to the function just like CurrencySymbol. These have not been defined anywhere as global variables.
         result = LONG_ENTRY;   // We have assigned the manifest constant to the local variable result 



I parametri TopFilter e BottomFilter. Intendi invece i parametri 'TopFilters' e 'BotFilters'? (questi sono quelli che abbiamo definito come variabili a livello globale. Quelli sotto. Ho cambiato il codice per riflettere questo, e non ha prodotto errori (questo significava cambiare la dichiarazione di debug di conseguenza). Qual è la tua opinione da guru su questo?

   double TopFilters[NUM_CURRENCY_PAIRS];     // So we just define uninitialised arrays of the required size
   double BotFilters[NUM_CURRENCY_PAIRS];    // This is Step 1/2 for array building. Step 2/2 is to assign a numerical value to each element, 
 
niko:

Hey CB, L'ideale è avere un EA multi-paio - che è quello che Tim ed io stiamo cercando di costruire. Tuttavia, un EA a coppia singola è anche altamente auspicabile in quanto mi sta insegnando come codificare. I vostri stili di codifica sono diversi ed è un eccellente esercizio per me per vedere come la stessa idea/simile può essere codificata in modo diverso. Inoltre, pensavo che se avessimo finito prima il singolo EA poi l'avrei usato per aiutarmi nel trading manuale, ma sembra che ora entrambi i codici saranno finiti nello stesso momento.

Non sono sicuro di cosa intendi esattamente per singolo e multi. Come si riferiscono al modello che ho descritto sopra? Cioè, un singolo EA che potrebbe essere lasciato cadere su qualsiasi coppia e farebbe trading solo sulla coppia del grafico su cui è stato lasciato cadere - prendendo tutte le decisioni di trading basate solo sulla coppia del grafico su cui è stato lasciato cadere (una singola base di codice da mantenere). Sto solo cercando di capire la terminologia in modo da sapere cosa vuoi.


CB

 

Ciao CB,

Nella mia vaga comprensione di come vengono eseguiti gli EA, quello che intendevo era 1. 1 EA che può essere eseguito e che scambierà più coppie contemporaneamente. 2. Un singolo EA che ha bisogno di essere lanciato su un grafico specifico e quindi si applicherebbe SOLO a quel grafico (la domanda è, è possibile fare un singolo EA che può essere lanciato su, diciamo, 3 diversi grafici e funzionerebbe ancora su quei 3 grafici? Ho provato prima ma per qualche motivo solo 1 grafico è stato eseguito (tutti gli altri non sono stati eseguiti).

 
niko:

Ciao CB,

Nella mia vaga comprensione di come vengono eseguiti gli EA, quello che intendevo era 1. 1 EA che può essere eseguito e che scambierà più coppie contemporaneamente. 2. Un singolo EA che ha bisogno di essere lanciato su un grafico specifico e quindi si applicherebbe SOLO a quel grafico (la domanda è, è possibile fare un singolo EA che può essere lanciato su, diciamo, 3 diversi grafici e funzionerebbe ancora su quei 3 grafici? Ho provato prima ma per qualche motivo solo 1 grafico è stato eseguito (tutti gli altri non hanno funzionato).

Sì, è facilmente possibile. Uno dei miei EA:

- Può essere lasciato cadere su più grafici diversi (che sono in esecuzione simultaneamente nella stessa istanza della piattaforma o che sono ciascuno in esecuzione su un'istanza separata della piattaforma - qualsiasi cosa tu scelga)

- Prenderà le sue decisioni solo in base alla coppia associata al grafico su cui è in esecuzione

- Farà trading solo per la coppia associata a quel grafico


CB

 

Grazie CB, non lo sapevo. Passerò più tempo questa settimana a confrontare i 2 codici, infatti li ho stampati entrambi e li affiggerò in tutta la mia stanza per cercare di capire meglio cosa sta succedendo. capire il ragionamento logico dietro la codifica è probabilmente la cosa più difficile che sto affrontando al momento.

 
niko:

Grazie CB, non lo sapevo. Passerò più tempo questa settimana a confrontare i 2 codici, infatti li ho stampati entrambi e li affiggerò in tutta la mia stanza per cercare di capire meglio cosa sta succedendo. capire il ragionamento logico dietro la codifica è probabilmente la cosa più difficile che sto affrontando al momento.

Ok, se ti imbatti in qualcosa che non capisci nel codice che ti ho lasciato, chiedi pure.


CB.

 
Grazie CB. Lo farò sicuramente! Lo sto esaminando proprio ora
 

CB, ho bisogno della tua saggezza. Non riesco a capire gli errori del compilatore (e sono gli stessi che ho incontrato prima e non sapevo cosa fare). In ordine di errori. potresti condividere un po 'di luce per errore così so cosa fare la prossima volta.


1. 2. Descrizione: " 'for' - punto e virgola atteso." La mia comprensione qualcosa è su con le nostre parentesi da qualche parte, come questa linea non ha bisogno di ;.

for (int c=0;c<NUM_CURRENCY_PAIRS;c++) 


2. descrizione: " 'c' -expression on global scope not allowed". Stessa linea di cui sopra. Non capisco questo, come possono non permettere una dichiarazione di variabile globale? Inoltre molte persone usano questo codice e funziona bene.

3. descrizione "NUM_CURRENCY_PAIRS" - espressione sull'ambito globale non consentita". Ma ho già dichiarato questo accanto a externals, quindi non può diventare più globale di così!

4. descrizione : "{ espressione sull'ambito globale non consentita. Sembrava non gradire le parentesi per il codice sottostante.

{
   sSignal = fnGenerateSignal();						// change this to "sGignal = fnGenerateSignal();" ***done
   if (fnShouldWeTrade())
    fnTrade();                                                            // change this to "fnTrade();"**done
   return(0);
   }


Grazie,

nick

 
niko:

CB, ho bisogno della tua saggezza. Non riesco a capire gli errori del compilatore (e sono gli stessi che ho incontrato prima e non sapevo cosa fare). In ordine di errori. potresti condividere un po' di luce per errore così so cosa fare la prossima volta.


1. 2. Descrizione: " 'for' - punto e virgola atteso." La mia comprensione qualcosa è su con le nostre parentesi da qualche parte, come questa linea non ha bisogno di ;.


2. descrizione: " 'c' -expression on global scope not allowed". Stessa linea di cui sopra. Non capisco questo, come possono non permettere una dichiarazione di variabile globale? Inoltre molte persone usano questo codice e funziona bene.

3. descrizione "NUM_CURRENCY_PAIRS" - espressione su ambito globale non consentita". Ma ho già dichiarato questo accanto a externals, quindi non può diventare più globale di così!

4. descrizione : "{ espressione sull'ambito globale non consentita. Sembrava non gradire le parentesi per il codice sottostante.


Grazie,

nick

Puoi postare l'intero codice che stai cercando di compilare per favore. Ta.


CB

 
Your wish is my command (stavo per dire 'high flyer' ma poi ho controllato sul dizionario online e apparentemente è un commento maleducato, non importa)