Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Heiken Hashi Bar MTF trend following (Furynick ou Babs help)

  • furynick

    Pour ajouter une flèche il faut ajouter deux sources de données dans l'indicateur (chaque indic ne peut afficher que 8 sources de données), une pour les flèches d'achat, l'autre pour les flèches de vente.

    c'est pas simple de transformer un indic en EA, le plus rapide est d'utiliser l'indic dans un EA avec la fonction iCustom en utilisant directement les sources de données que tu as ajouté.

    Tu peux peut-être utiliser les générateurs d'EA en ligne pour ça.
  • Lorka85

    merci de ton aide fury, sincerement.

    aurais-je un espoire que tu puisse me faire cette ea en incluant l'indicateur avec icustom, ou que tu puisser me griffoner un copié/coller de code, que l'ea est les meme propriété que l'indicateur, avec la prise de position a la place du sens des alertes déjà incluse (qui fonctionne vraiment a merveille) ?

    je redonne le lien de cet indic : http://www.megaupload.com/?d=UCGUBFB0

    prend ton temps surtout, tu fait déjà tellement pour nous tous !
  • furynick

    Tu pourra remercier la varicelle de ma fille, j'ai dû prendre ma demie journée et la semaine prochaine de congés, j'aurais surement du temps pour te coder ça !
  • furynick

    J'ai publié sur mon site une base pour l'EA (seulement compilé pour le moment, je publierai la source une fois l'EA fonctionnel), est-ce que tu pourrais le faire tourner chez toi et me dire si les alertes de l'EA correspondent bien aux alertes de l'indic ?
  • furynick

    J'ai publié le code source de l'EA, j'ai eu confirmation de la validité des alertes alors j'ai ajouté le passage d'ordre.

    Il n'y a que l'ouverture, aucune gestion des ordres d'aucune sorte que ce soit n'est en place.
  • Lorka85

    absolument magnifique, woaaaaww ! merci furynick, pas que pour moi, mais aussi pour la communeauté !

    D'accord, il manque les variables TP et SL donc ? au pire je pourrais me débrouiller si c'est que ça, mais le code source dit donc, j'aurais jamais pus, et pourtant je programme en delphi depuis plus de 15 ans (pas tous les jours bien sur ^^) notement ce petit logiciel de prise de position aléatoire sur ce fil :
    http://www.forexagone.com/forum/t/6009-question-comment-es-tu-devenu-trader-a-plein-temps.html?page=2#posts

    Donc tu importe l'indicateur dans l'a c'est ça ? c'est important de ne pas changer le nom de l'indicateur ?
    visiblement je n'ai pas d'erreur, je vais voir avec le template et l'alert si il prend position dans le bon sens, CA serait "magique" pour moi :)

    Et le plus important : meilleur rétablissement a ta fille, quand j'ai eu la varicelle a 8 ans, j'avais un bouton pile sur la paupière droite, c'était d'un pénible :lol:
  • furynick

    Ben oui, tu peux ajouter les variable TP et SL mais je te conseilles d'utiliser la petite formule ci-dessous (que tu retrouvera dans tous mes EA) pour t'affranchir des 2/3/4 et 5 digits et fournir l'information directement en pips

    double TPpoints = TP * Point * MathPow(10, Digits % 2);
    double SLpoints = SL * Point * MathPow(10, Digits % 2);

    Tu peux ensuite mettre ces variables dans les ordersend en les précédent des Ask/Bid, par ex pour un Buy on a Bid + TPpoints et Bid - SLpoints
    Attention au spread, pour un buy on entre au Ask et on sort au Bid, il faut donc donner les objectifs sur le Bid. Inversement pour le sell, on entre au Bid et on sort au Ask
  • furynick

    Moi j'ai commencé le Basic au CM2 mais j'ai vraiment commencé le codage en Turbo Pascal en 96 je crois. Depuis ça a été C/C++, Java, Perl, Shell (excepté le csh), Awk, PHP, HTML, CSS, Javascript, LUA et depuis 6 mois le MQL4 (faudrait que je tripote un peu le MQL5 pour voir).
  • Lorka85

    Beau cerveau fury, j'espere que ça sera héréditaire pour ta pitchoune :)
    Dit moi j'ai vu dans la source de l'ea, tu fait un icustom sur l'indicateur heinken hashi smoothed, ca ne serait pas plutot sur l'indicateur has bar alert qu'il faudrai e faire ? (l'indicateur de ce topic) ?
    je ferais la modif moi meme hein c'est simple :) car la il m'a pas pris position le mignon.
  • Lorka85

    Bon l'ea semble prendre position, par contre il ne prend plus position lors de ma petite modif pour rajouter le stop loss et tp comme tu m'a indiqué, j'ai déclaré ces 2 variables au début :

    extern double TakeProfit=50.0;
    extern double StopLoss=50.0;


    et pour les commande d'achat vente j'ai mi :
    if (buySignal)
    if (OrderSend(Symbol(), OP_BUY, lotSize, Ask, 3, Ask-StopLoss, Ask+TakeProfit, NAME + " " + VERSION) > 0)
    buySignal = false;

    if (sellSignal)
    if (OrderSend(Symbol(), OP_SELL, lotSize, Bid, 3, Bid+StopLoss, Bid-TakeProfit, NAME + " " + VERSION) > 0)
    sellSignal = false;

    quesqui cloche ? ca ne prend plus position, sans metre d’erreur :'(
    Je commence a me passioner de programmation mq4 moi grace a toi ^^
  • julio (invité)

    Merci à vous deux pour ce travail .
    Quand je l installe sur ma plateforme MT4 ca ne marche pas . Suis je le seul ?
  • Lorka85

    Julio tu a un message d'erreur ? il te faut l'indicateur heinken ashi smoothed d'installer pour que ca marche.

    BABS, FURAX, fury, juste besoin d'une astuce en mq4 !
    en fait j'aimerais que l'ea verifie, avant de prendre position en buy par exemple, si une position deja ouverte en buy est en cours sur la pair, et si tel est le cas, il n'en prend pas une deuxième !

    En gros une sorte de condition IF a englober sur ce code de l'ea de prise de position :
    if (buySignal)
    if (OrderSend(Symbol(), OP_BUY, lotSize, Ask, 3, 0, 0, NAME + " " + VERSION) > 0)
    buySignal = false;

  • furynick

    Lorka,

    dans l'exemple que j'avais mis je t'avais indiqué de convertir les pips en points, étant donné que tu ne fais pas cette conversion, tu essaies de passer des nombre aberrants à l'OrderSend car Ask - StopLoss = 1.41 - 50 = -48.59 pour le stop loss et Ask + StopLoss = 51.41 ce qui est impossible (pour la valeur négative en tous cas, qui sait peut-être qu'un jour on aura 51$ pour 1€).

    De plus, tu ne tiens pas compte du spread dans tes ordres, détail que j'avais aussi précisé. Tu devrais donc avoir :
    extern double TakeProfit=50.0;
    extern double StopLoss=50.0;

    double TPpoints = TakeProfit * Point * MathPow(10, Digits % 2);
    double SLpoints = StopLoss * Point * MathPow(10, Digits % 2);

    if (buySignal)
    if (OrderSend(Symbol(), OP_BUY, lotSize, Ask, 3, Ask-SLPoints, Bid+TPPoints, NAME + " " + VERSION) > 0)
    buySignal = false;

    if (sellSignal)
    if (OrderSend(Symbol(), OP_SELL, lotSize, Bid, 3, Bid+SLPoints, Ask-TPPoints, NAME + " " + VERSION) > 0)
    sellSignal = false;

    Dans cet exemple j'ai exclus le spread des SL mais les ai inclus dans les TP.
  • furynick

    pour le iCustom, inutile d'utiliser le HAS Bar qui utilises 3 HAS, autant utiliser directement les HAS dans l'EA c'est plus direct.

    J'ai remis en ligne une version améliorée avec le TP/SL et la vérif d'ordre.
  • Lorka85

    Ok merci comme je te croyas absent je m'inquiété fury, tu m'aide beaucoups la !

    en fait pendant ton absence j'ai triché un peu en fusionnant un ea qui gere les stop loss, tp breakeven avec cet ea, avec succes, donc le (OrderSend(Symbol(), OP_BUY, lotSize, ask, 3, 0, 0, NAME + " " + VERSION) > 0) d'origine me suffisé :)

    je vous ferez partager ma version après, je vais piocher du code dans la nouvelle version de fury the magic man :)
  • julio (invité)

    Merci de ta réponse Lorka , effectivement je ne l'avais pas :o)
  • Lorka85

    bon j'avais peur au debut car je l'ai vu prendre 2 positions short, je pensais que le filtre de fury ne marchais pas, mais la depuis 10-12 positions (en tf 5 mn) il semble gérer a merveille, je test encore un peu :)
  • Lorka85

    J'ai le sentiment que le filtre de position fonctionne parfaitement bien mais, pas sur les pairs genre yen, avec 3 chiffre avant la virgule (EURjpy 113.72 par exemple) j’attends pour confirmer, mais ca te parle ce petit soucis fury ?
  • Lorka85

    argh... bon j'ai tester de longues heures cet EA et .. non, il n'est pas exactement comme l'indicateur HAS bar meme si les efforts de furynick sont CONSIDÉRABLES je le souligne, vraiment merci.

    En fait, fury, je t'invite a charger l'indicateur has bar alert sur un template vierge en timeframe 1 minute :
    http://www.megaupload.com/?d=UCGUBFB0
    Tu le paramètre en 2 - 1 - 3 - 2 pour le HAS et en timeframe, 1M 1M et 5M (pour ne pas que ton test dure longtemps)

    Ensuite tu charge ton dernier EA (que j'ai modifier pour qu'il donne une alerte au lieu des passages d'ordre avec marqué EA au début, plus pratique pour comparer, et modifié l'ordre des variables periods et method comme l'indicateur)
    http://www.megaupload.com/?d=VP0VEDWD
    Que tu paramètre comme le HAS BAR ci dessus. (2 - 1 - 3 - 2 et 1 - 1 - 5 )

    Et la tu peu comparer en attendant quelques minutes différentes alertes; tu pourra constaté que dans 80% des cas cela correspond, mais que des fois l'ea donne un message sans correspondre a la HAS bar, et inversement.

    Tu pourrais t'inspirer du code du has bar alert pour remplacer celle de ton EA ? ou a la limite un icustom sur le has bar alert directement ?

    Crois moi que de mon coté je viens de passer 2 heures a tenter de faire de cette indicateur un EA, il se charge bien mais rien ne se passe, je pense que tu a rarement vu quelqu'un de si motivé sur une méthode ^^
    Merci par avance, et meilleur rétablissement a ta pitchoune.


  • furynick

    Ôtes-moi d'un doute, tu as bien placé les bon paramètres pour l'EA ?
    HAS bar
    2, 1, 3, 2, 1, 5, 15
    MTF HAS EA
    1, 5, 15, 1, 2, 2, 3