EA Problème d'identification du marteau
Page 1 sur 2 12 DerniéreDerniére
Résultats de 1 é 10 sur 13

Sujet : EA Problème d'identification du marteau

  1. #1
    J'esp?re que quelqu'un peut aider avec ce probl?me. Je suis un tout nouveau codeur et j'essaie de cr?er la logique qui reconna?tra un marteau ou un marteau invers?. Une fois qu'il les d?tecte ? ma satisfaction, je continuerai ? cr?er l'EA pour les commandes et autres.

    Le code est cens? marquer toutes les bougies o? la cl?ture = haut ou la cl?ture = bas. Il marque certains mais pas d'autres. Toute aide serait grandement appr?ci?e.

    L'ordinateur voit-il plus de chiffres dans le prix que nous. Par exemple, nous voyons 1,44551 ? la fois ? la cl?ture et au plus haut?; l'ordinateur voit-il ?ventuellement 1.445519??


    Citation Envoy? par ;
    #propri?t? copyright VMesquita
    #property indior_chart_window/un indior est dessin? dans la fen?tre principale du graphique
    #propri?t? indior_buffers 1
    limite enti?re?;
    int init ()
    {
    //----
    retour(0);
    }
    int deinit()
    {
    retour(0);
    }
    int start()
    {
    double O, C, H, L, O1, C1, H1, L1, O2, C2, H2, L2?;
    texte de cha?ne?;
    int counted_bars=IndiorCounted();
    limit=Bars-counted_bars?;
    //---- v?rifier les ?ventuelles erreurs
    if(counted_barslt;0) {
    Alerte (Pas de Barres..);
    retour(-1);
    }
    //---- la derni?re mesure compt?e sera recompt?e
    for(int i=1; ilt;limit; i ) {
    TO=Ouvrir(NULL,0,i);
    C=iFerme(NULL,0,i);
    H=iHaut(NULL,0,i);
    L=iBas(NULL,0,i);

    O1=iOuvre(NULL,0,i-1);
    C1=iFerme(NULL,0,i-1);
    H1=iHaut(NULL,0,i-1);
    L1=iBas(NULL,0,i-1);
    O2=iOuvre(NULL,0,i 1);
    C2=iFerme(NULL,0,i 1);
    H2=iHaut(NULL,0,i 1);
    L2=iBas(NULL,0,i 1);


    texte=;
    if(((H-L)gt;4*(O-C))((C-L)/(0.001 H-L)gt;=0.75)((O-L)/(0.001 H-L)gt;=0.75)) text=Hang?;
    si(H==C)text=ACHETER?;
    si(C==L)text=VENDRE?;

    //Si nous avons trouv? une bougie sp?ciale, ?crivez dans le graphique
    si(texte?!=)
    {
    ObjectCreate(DoubleToStr(i,0) label, OBJ_TEXT, 0, Time[i], H);
    ObjectSetText(DoubleToStr(i,0) label, text, 15, Arial, Blue);
    PlaySound(wait.wav);
    }
    }
    }
    Cr?dit original ? VMesquita pour le code... Je l'ai tr?s peu modifi?.

  2. #2
    Codemeister, Oui, vous avez fourni le code et je vous remercie beaucoup pour votre temps et votre ?nergie. Le probl?me vient de moi et de mon incapacit? ? assembler les pi?ces pour former un code coh?rent. Bien s?r, je suis s?r que vous entendez tout le temps ? quel point il devrait ?tre facile de coder ceci ou cela. Je reviendrai ? la planche ? dessin pour tenter de comprendre comment les pi?ces doivent s'encha?ner. Connaissez-vous un livre, etc., qui vous commence petit et vous donne progressivement les ?l?ments dont vous avez besoin?? Tout ce que j'ai vu fait pas mal d'hypoth?ses sur des informations dont l'apprenant peut ne pas ?tre conscient. Le C est-il le langage de programmation le plus proche de MQL??

  3. #3

    Citation Envoy? par ;
    Bravo ? ceux qui ont appris ? programmer par eux-m?mes ! Je ne peux pas croire ? quel point c'est difficile. C'est ma derni?re tentative mais je ne comprends pas exactement ce que j'?cris.
    hey max ..... ne laissez pas ce soit votre derni?re tentative ..... et gardez ? l'esprit que plusieurs personnes sur ce forum ont pass? de nombreuses ann?es etou plusieurs milliers de dollars en argent universitaire pour apprendre ce que vous essayez apprendre en quelques mois par vous-m?me ....../--- si votre objectif est d'identifier un mod?le de chandelier et de placer des transactions en cons?quence, il serait peut-?tre pr?f?rable de simplement coder les exigences dans l'ea.... c'est plus simple et plus propre ...... pas clair sur votre d?finition d'un marteau et d'un marteau invers?, donc l'exemple ci-dessous repr?sente un mod?le engloutissant haussier ..... h Inserted Code bool bull() { if ((Fermer #91;2#93;lt;Ouvrir#91;2#93 (Ouvrir#91;1#93;lt;Fermer#91;2#93 (Fermer#91;1#93;gt;Ouvrir #91;2#93) retour(vrai); sinon retour(faux); }/---/--- vous pouvez ?galement utiliser des chiffres pour satisfaire diff?rents symboles... Code ins?r? NormalizeDouble(Close#91;1#93;,Digits);

  4. #4
    Tout d'abord, comme je vous l'ai d?j? dit, vous ne pouvez pas coder en dur et vous attendre ? ce que cela fonctionne. Par exemple, dans l'appel NormalizeDouble(), vous avez 5 qui ne fonctionne pas avec les paires Yen. Utilisez plut?t la variable pr?d?finie Chiffres. J'ai d?j? fourni ce code et il n'a pas ?t? utilis? correctement. bool?en marteau = MathAbs(High[1] - Close[1]) lt?; nps*Point?; Le reste du code est incompr?hensible pour moi. Vous devez indenter correctement le code et le mettre dans des balises de hachage lors de la publication.

  5. #5
    Bravo ? ceux qui ont appris ? programmer par eux-m?mes ! Je ne peux pas croire ? quel point c'est difficile. C'est ma derni?re tentative mais je ne comprends pas exactement ce que j'?cris. Ce qui suit continue de me donner des erreurs. Mon objectif est le suivant?: placez une fl?che et imprimez-la dans le fichier journal chaque fois que la cl?ture se situe ? moins de 0,00002 (0,002 sur JPY) du plus haut ou du plus bas. Si dans la plage haute, je voudrais qu'il signale si au-dessus du 21 ema et vice versa pour le bas. int start() { entier compteur=1?; for(int i=1; ilt;=Bars; i ) NormalizeDouble(Close[1],5); NormaliserDouble (??lev?[1],5); NormaliserDouble (Bas[1],5); double nps=2 bool High[1]-Close[1]lt;= nps*Point?; retour(0);

  6. #6
    Vous devez d'abord v?rifier votre code en pla?ant une instruction Print() chaque fois qu'un signal est g?n?r?. En supposant que ce n'est pas le probl?me, cela pourrait ?tre dans MT4. J'ai eu des probl?mes avec les objets lorsque MT4 est occup? ou que mon ordinateur est sous charge. Je n'ai pas vu d'objets retard?s, toujours ils n'ont jamais ?t? cr??s/supprim?s/mis ? jour. Supposons que le probl?me est d'abord le codage.

  7. #7
    Merci Hanovre et CodeMeister?! J'ai maintenant un probl?me en ce sens que le signal n'est pas plac? sur le graphique ? l'ouverture de la barre suivante. Dans un cas, il n'est apparu que 3 ou 4 mesures plus tard. Aucune suggestion?

  8. #8

    Citation Envoy? par ;
    Que signifie le nps ?
    C'est la tol?rance (dont vous parliez dans votre post pr?c?dent) en points. Un point est un dixi?me de pip, pour un courtier ? 5 chiffres. Avec un br0ker ? 5 chiffres, Point = .00001 pour les paires non-JPY et .001 pour les paires JPY. Par cons?quent, si vous d?finissez nps sur une tol?rance de 2, alors nps * Point sera de 2 points quelle que soit la paire, permettant ? votre indy de fonctionnent correctement sur toutes les paires.

  9. #9

  10. #10
    Vous devriez ?viter de coder en dur quoi que ce soit dans votre programme. Plut?t que de comparer ? .00002, comparez ? nps*Point, o? nps est d?fini sur 2 ou un certain nombre. Cela permettra au code de fonctionner sur les paires de yens ainsi que sur d'autres et facilitera les modifications. bool?en marteau = MathAbs(High[1] - Close[1]) lt?; nps*Point?;

Régles des messages

  • Vous ne pouvez pas cr?er de sujets
  • Vous ne pouvez pas r?pondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas ?diter vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Désactivé
  • Le code HTML est Désactivé
Le site d'sundytrading utilise des cookies
Le site d'sundytrading utilise des cookies pour vous assurer la meilleure expérience sur notre site ; certains sont déjà effectifs. Vous pouvez consulter plus de détails sur leurs usages ici. Veuillez cliquer sur le bouton à droite pour accepter nos cookies. Si vous continuez à utiliser le site internet d???sundytrading, nous considérerons que vous acceptez nos cookies.