Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 222

 
La syntaxe est maîtrisée, mais la logique est un peu difficile à trouver.
 

Bonjour.

L'EA a été testé avec les mêmes paramètres avant-hier et hier. Le code est le même, tous les paramètres sont les mêmes, mais le résultat est différent.

Le conseiller expert ouvre les transactions à l'heure fixée, sans conditions supplémentaires. Nous pouvons constater que les prix d'ouverture des transactions diffèrent de manière significative.

J'ai téléchargé les mêmes archives de cotations les deux fois depuis MetaQuotes Software Corp.

Dossiers :
szcwya.zip  34 kb
 
gince:

Comment trouver deux fractales supérieures/inférieures dans une rangée ? La photo ci-dessous.

J'ai essayé d'écrire un indicateur, mais je n'ai pas bien réfléchi.

Peut-être que quelqu'un a vu un tel indicateur prêt ?


Etes-vous sûr que la fonction int GetFractal(string sy="0", int tf=0, int nf=0)capture correctement les fractales ? (il y a des valeurs EMPTY_VALUE ici)

Pourquoi un dépassement aussi insuffisant ?

1) il fonctionne sur l'apparition d'une bougie et non sur un tick

2) d'essayer deux réseaux fractals simultanément au lieu de répéter de nombreuses fois.

3) Si la fractale supérieure est présente, +1 à la valeur de la première variable, si la fractale inférieure, -1. ( Variantes des résultats : - 1, 0, +1)

4) sur la fractale suivante : s'il y a une fractale supérieure, alors +1 à la valeur de la deuxième variable ; s'il y a une fractale inférieure, alors -1. ( Les résultats sont les suivants : - 1, 0, +1)

5) Cherchez la somme de la première et de la deuxième variable :

a) moins de 0 ( nous avons deux fractales inférieures) YEAH !

b) supérieure à 0 ( nous avons deux fractales supérieures) YEAH !!!

c) est égal à zéro et une variable est égale à zéro ( nous avons deux fractales inférieures et deux supérieures) YEAH !!!

6) réaffecter la valeur de la deuxième variable à la première et recommencer le cycle à partir du point 4)

 
aiculu:
Aide, je n'ai pas compris comment j'ai fait, mais j'ai accidentellement cliqué sur quelque chose et une fenêtre a disparu avec un aperçu de mes ordres ouverts, comment puis-je la récupérer ?

Ctrl-T

 
Elektronik:

Ctrl-T


Merci.))))
 
Antonius:

Bonjour.

L'EA a été testé avec les mêmes paramètres avant-hier et hier. Le code est le même, tous les paramètres sont les mêmes, mais le résultat est différent.

Le conseiller expert ouvre les transactions à l'heure fixée, sans conditions supplémentaires. Nous pouvons constater que les prix d'ouverture des transactions diffèrent de manière significative.

J'ai téléchargé les mêmes archives de cotations les deux fois depuis MetaQuotes Software Corp.

Vous avez sélectionné l'écart actuel dans le testeur - d'où la différence, car lorsque vous lancez le test, l'écart est utilisé tel qu'il était au début du test. Définir l'écart à un nombre constant.
 
ALXIMIKS:


Etes-vous sûr que la fonction int GetFractal(string sy="0", int tf=0, int nf=0)capture correctement les fractales ? (il y a des valeurs EMPTY_VALUE ici)

Pourquoi une telle surenchère d'inadéquation ?

1) travailler à partir de l'apparition d'une bougie, et non d'un tic-tac

2) Faites une recherche sur deux réseaux fractals en même temps, au lieu de plusieurs recherches.

3) Si la fractale supérieure est présente, alors +1 à la valeur de la première variable, si la fractale inférieure, alors -1.

4) Fractale suivante : s'il existe une fractale supérieure, alors +1 à la deuxième variable, s'il existe une fractale inférieure, alors -1.

5) Cherchez la somme de la première et de la deuxième variable :

a) moins de 0 ( nous avons deux fractales inférieures) YEAH !

b) supérieure à 0 ( nous avons deux fractales supérieures) YEAH !!!

c) est égal à zéro et une variable est égale à zéro ( nous avons deux fractales inférieures et deux supérieures) YEAH !!!

6) réaffecter la valeur de la deuxième variable à la première et démarrer une boucle à partir du point 4)

Au lieu de sarcasmes, vous feriez mieux d'écrire vous-même une fonction appropriée et optimisée à la personne. Vous ne montrez toujours que de la négativité et des moqueries. Ne faites pas le malin : si vous avez une réponse, écrivez le code, si vous n'avez pas de réponse, ne dites rien. Overkill est en train de se dérouler là-bas d'ailleurs...
 
artmedia70:
Vous avez sélectionné le spread actuel dans le testeur - d'où la différence, car, lorsque vous exécutez le test, le spread utilisé est celui qui était au moment de l'exécution du test. Définir l'écart à un nombre constant.


La différence entre les transactions ouvertes le même jour, à la même heure, sur différents jours de test - varie.

Par exemple,

Date, heure Avant-hier Aujourd'hui Différence
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


Oui et des valeurs trop élevées pour la diffusion.

 
artmedia70:
Au lieu de sarcasmes, vous feriez mieux d'écrire vous-même une fonction correcte et optimisée. Vous ne montrez toujours que de la négativité et des moqueries. Ne jouez pas au petit malin : si vous avez quelque chose à dire, écrivez le code, si vous n'avez pas de réponse, ne dites rien. Overkill est en train de se dérouler là-bas d'ailleurs...


J'ai eu le temps de créer un algorithme pour cette tâche, de le décrire en détail (peut-être un peu incorrect pour certaines personnes - les gens sont différents en termes de compréhensibilité).

Sarcasme ? Je ne sais pas, j'essayais juste d'aider.

coder quelqu'un ? optimiser davantage ? (oui, je peux, mais est-ce que ça en vaut la peine ?)

(PS artmedia70, sans vouloir vous offenser, je respecte votre attitude et votre opinion en général - honnêtement, mais l'autre jour, vous m'avez vous-même donné du code de iCustom-y, pour ne pas le nommer, pas très optimisé).

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;// Два фрактала подряд вверх и два фрактала подряд вниз найдено //}
}

Quelque chose comme ça devrait fonctionner si vous l'insérez dans la vérification d'une nouvelle barre.

Le code serait plus optimal si vous réduisiez kilkict=iBars(sy,tf) après un certain nombre de fractales, de sorte que vous n'ayez pas à regarder constamment toutes les barres.

 
ALXIMIKS:


J'ai eu le temps d'élaborer un algorithme pour cette tâche, décrite (en détail, peut-être un peu incorrecte pour certaines personnes - les gens sont différents en termes d'accessibilité).

sarcasme ? Je ne sais pas, juste pour aider.

écrire le code à quelqu'un ? optimiser davantage ? (oui, je peux, mais est-ce que ça en vaut la peine ?)

(p.s. artmedia70, sans vouloir vous offenser, je respecte votre attitude et votre opinion en général - honnêtement, mais l'autre jour, vous avez vous-même donné le code d'iCustom-y pour le moins pas très optimisé).

Quelque chose comme ça devrait fonctionner si vous l'insérez dans la vérification d'une nouvelle barre.

Le code le plus optimal serait de réduire kilkict=iBars(sy,tf) après un certain nombre de fractales, de sorte que nous n'ayons pas à examiner constamment toutes les barres.

Oui, comme ils avaient l'habitude de plaisanter à KVVAIU, un vrai officier doit inspirer la peur, tant par son comportement que par son apparence physique.

Est-il possible de le rendre "plus optimal" ?

Raison: