Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 222

 
La sintassi è padroneggiata, ma la logica è un po' difficile da trovare.
 

Salve.

L'EA è stato testato con le stesse impostazioni l'altro ieri e ieri. Il codice è lo stesso, tutti i parametri sono gli stessi, ma il risultato è diverso.

L'Expert Advisor apre le compravendite all'ora stabilita senza alcuna condizione aggiuntiva. Possiamo vedere che i prezzi di apertura degli scambi differiscono significativamente.

Ho scaricato lo stesso archivio di quotazioni entrambe le volte da MetaQuotes Software Corp.

File:
szcwya.zip  34 kb
 
gince:

Come faccio a trovare due frattali in alto/basso in una fila? L'immagine qui sotto.

Ho cercato di scrivere un indicatore, ma non ci ho pensato bene.

Forse qualcuno ha visto un tale indicatore pronto?


Sei sicuro che la funzione int GetFractal(string sy="0", int tf=0, int nf=0)catturi correttamente i frattali? (ci sono valori EMPTY_VALUE lì)

Perché un superamento così inadeguato?

1) funziona sull'aspetto di una candela e non su un tick

2) provare due matrici frattali simultaneamente invece di ripetere un sacco di volte.

3) Se il frattale superiore è presente, +1 al valore della prima variabile, se quello inferiore, -1. ( Varianti dei risultati: - 1, 0, +1)

4) sul frattale successivo: se c'è un frattale superiore, allora +1 al valore della seconda variabile; se c'è un frattale inferiore, allora -1. (I risultati sono i seguenti: - 1, 0, +1)

5) Cerca la somma della prima e della seconda variabile:

a) meno di 0 (abbiamo due frattali inferiori) YEAH!

b) maggiore di 0 (abbiamo due frattali superiori) YEAH!!!

c) è uguale a zero e una variabile è uguale a zero (abbiamo due frattali inferiori e due superiori) YEAH!!!

6) riassegnare il valore della seconda variabile alla prima e iniziare il ciclo dal punto 4)

 
aiculu:
Aiuto, non ho capito come ho fatto, ma ho accidentalmente cliccato qualcosa e una finestra è scomparsa con una panoramica dei miei ordini aperti, come posso riaverla?

Ctrl-T

 
Elektronik:

Ctrl-T


Grazie.)))
 
Antonius:

Salve.

L'EA è stato testato con le stesse impostazioni l'altro ieri e ieri. Il codice è lo stesso, tutti i parametri sono gli stessi, ma il risultato è diverso.

L'Expert Advisor apre le compravendite all'ora stabilita senza alcuna condizione aggiuntiva. Possiamo vedere che i prezzi di apertura degli scambi differiscono significativamente.

Ho scaricato lo stesso archivio di quotazioni entrambe le volte da MetaQuotes Software Corp.

Hai selezionato lo spread corrente nel tester - da qui la differenza, perché quando si avvia il test, lo spread viene utilizzato come era quando il test è stato avviato. Imposta lo spread su un numero costante.
 
ALXIMIKS:


Sei sicuro che la funzione int GetFractal(string sy="0", int tf=0, int nf=0)catturi correttamente i frattali? (ci sono valori EMPTY_VALUE lì)

Perché questo eccesso di inadeguatezza?

1) lavorare dall'aspetto di una candela, non da una zecca

2) Fare una ricerca su due matrici frattali in una volta sola, invece di ricerche multiple.

3) Se il frattale superiore è presente, allora +1 al valore della prima variabile, se quello inferiore, allora -1.

4) Frattale successivo: se c'è un frattale superiore, allora +1 alla seconda variabile, se c'è un frattale inferiore, allora -1.

5) Cerca la somma della prima e della seconda variabile:

a) meno di 0 (abbiamo due frattali inferiori) YEAH!

b) maggiore di 0 (abbiamo due frattali superiori) YEAH!!!

c) è uguale a zero e una variabile è uguale a zero (abbiamo due frattali inferiori e due superiori) YEAH!!!

6) riassegnare il valore della seconda variabile alla prima e iniziare un ciclo dal punto 4)

Invece del sarcasmo, faresti meglio a scrivere tu stesso una funzione adeguata e ottimizzata alla persona. Tutto quello che mostri è sempre negatività e derisione. Non fare il furbo: se hai una risposta, scrivi il codice, se non hai una risposta, non dire nulla. L'overkill sta andando avanti lì, a proposito...
 
artmedia70:
Hai lo spread corrente selezionato nel tester - da qui la differenza, perché, quando esegui il test, lo spread è usato quello che era al momento in cui il test è stato eseguito. Imposta lo spread su un numero costante.


La differenza tra i trade aperti lo stesso giorno, alla stessa ora in diversi giorni di test - varia.

Per esempio,

Data, ora L'altro ieri Oggi Differenza
2011.10.05 13:151616.031622.89 -6.86
2011.10.12 13:151682.871682.89 -0.02
2011.10.19 13:151649.101659.66 -10.56


Sì e valori troppo alti per la diffusione.

 
artmedia70:
Invece del sarcasmo, faresti meglio a scrivere tu stesso una funzione adeguata e ottimizzata. Mostri sempre e solo negatività e derisione. Non fare il furbo: se hai qualcosa da dire, scrivi il codice, se non hai una risposta, non dire nulla. A proposito, c'è un eccesso di violenza...


Ho avuto tempo - ho elaborato un algoritmo per il compito, l'ho descritto in dettaglio (forse un po' scorretto per alcune persone - le persone sono diverse in termini di comprensibilità).

Sarcasmo? Non lo so, stavo solo cercando di aiutare.

codice scrivere qualcuno? ottimizzare di più? (sì, posso, ma ne vale la pena?)

(PS artmedia70, senza offesa, rispetto il tuo atteggiamento e la tua opinione in generale - onestamente, ma l'altro giorno tu stesso mi hai dato del codice di iCustom-y per dirla in modo blando non molto ottimizzato).

int a1=0,a2,a3,kilkict,frac,frac1=0;//frac - флаг существования фракталов, frac1- счетчик фракталов (+1 или 0 за цикл)

kilkict=iBars(sy, tf);

for (i=3; i<kilkict;i++){
  a2=0;frac=0;
  if(iFractals(sy, tf, MODE_UPPER, i)>0) {            
     if (Bufer0!=EMPTY_VALUE) {
         a2+=1;frac=1;frac1++;
        }
     }
  if(iFractals(sy, tf, MODE_LOWER, i)>0) {            
     if (Bufer0!=EMPTY_VALUE) {
        if(a2==0){frac1++; frac=1;}a2+=-1;
        }
     } if (frac==0){continue;}if (frac1==1){a1=a2;continue;}
  a3=a1+a2;
  if(a3<0)           { a1=a2;//Два фрактала вниз  подряд найдено// continue;}
  if(a3>0)           { a1=a2;//Два фрактала вверх подряд найдено // continue;}
  if(a3==0 && a1==0) { a1=a2;// Два фрактала подряд вверх и два фрактала подряд вниз найдено //}
}

Qualcosa del genere dovrebbe funzionare se lo si inserisce nel controllo di una nuova barra.

Il codice sarebbe più ottimale se si restringesse kilkict=iBars(sy,tf) dopo un certo numero di frattali, in modo da non dover cercare costantemente tra tutte le barre.

 
ALXIMIKS:


Ho avuto tempo - mi sono inventato un algoritmo per il compito, descritto (in dettaglio, forse un po' scorretto per alcune persone - le persone sono diverse in termini di accessibilità).

Sarcasmo? Non lo so, solo per aiutare.

scrivere il codice a qualcuno? ottimizzare di più? (sì, posso, ma ne vale la pena?)

(p.s. artmedia70, senza offesa, rispetto il tuo atteggiamento e la tua opinione in generale - onestamente, ma l'altro giorno tu stesso hai dato il codice di iCustom-y a dir poco non molto ottimizzato).

Qualcosa del genere dovrebbe funzionare se lo si inserisce nel controllo di una nuova barra.

Il codice più ottimale sarebbe se restringessimo kilkict=iBars(sy,tf) dopo un certo numero di frattali, in modo da non dover cercare costantemente tra tutte le barre.

Sì, come scherzavano in KVVAIU, un vero ufficiale deve incutere paura, sia con il suo comportamento che con il suo aspetto fisico.

È possibile renderlo "più ottimale"?

Motivazione: