Fonctions crosses over / crosses under

Forums ProRealTime forum Français Support ProOrder Fonctions crosses over / crosses under

Viewing 15 posts - 1 through 15 (of 16 total)
  • #79792

    Bonjour,

    je suis assez nouveau dans la programmation d’un EA et j’utilise les fonctions crosses over et crosses under sur 2 indicateurs  mais souvent il me semble qu’il ne réagit pas a cette condition. Si je regarde le charts de 1 min par exemple eur/usd en 1 jours j’entre manuellement sur une position 1-4 fois. Mon EA  ne réagit que rarement (1 fois par jour).

    Quelqu’un a ce même effet?

    Merci!
    Jérôme

    #79799

    Bonjour,

    Il m’arrive d’avoir des différences entre backtest et réel en raison du spread qui n’est pas fixe  sur le forex.

    Cordialement.

    #79801

    Bonjour noisette,

    merci beaucoup pour votre réponse, je n’avais pas pensé a cela.

    Bonne journée

    #79806

    Ne pas oublier que le code est lu qu’une seule fois par bougie à sa fermeture. Par ailleurs, un croisement de moyennes mobiles doit être confirmé 1 période dessus / 1 période dessous. Les différences sont-elles aussi constatées avec un backtest de la même stratégie ?

    #79811

    Bonjour Nicolas

    et merci pour votre réponse. J’aimerais que comme dans le fichier joint lorsque la condition 1 se passe (croisement à la hausse des traits-tillés MA) et la condition 2 se passe (croisement des deux lignes continues MA) j’ouvre une position. A cela s’ajoute d’autres contrôles mais ceux-ci fonctionne alors que l’exemple de l’image jointe de ce matin sur eur/usd ne s’est pas déclanché. Je suis entré manuellement sur cette position comme malheureusement beaucoup d’autres et je ne comprends pas bien pourquoi.

    Ou dois-je plutôt utiliser des opérateur de comparaison > entre 2 indicateurs?

    Merci beaucoup

    #79819

    Il n’y a pas d’images jointes ? 🙂

    Les opérateurs de comparaison sont une autre façon de procéder, mais le résultat serait le même qu’avec CROSSES OVER / UNDER.

    #79844

    ooops 🙂 Voilà

    crossesover

    #79847

    Apparemment l’ouverture d’une position fonctionne uniquement lorsque les 2 conditions sont très proches l’une de l’autre. Hier manuellement j’aurais ouvert 3-4 positions mon EA en a ouvert 1 seule.

    #79857

    Ok j’ai bien compris, mais :

    1. Les différences sont-elles aussi constatées avec un backtest de la même stratégie ? (différence temps réel / backtest) à vérifier svp
    2. Les périodes et type de moyennes mobiles, sont-elles bien les mêmes dans le code et sur le graphique ? (problème très courant, d’où la question..)
    3. Sans avoir lu le code difficile de comprendre de où peut provenir le problème, procédons dans l’ordre, car ce type d’instruction fonctionne correctement
    #79902

    Si le robot ne prend position que si les croisements ont lieu sur la même bougie, c’est que tu n’as pas programmé la mémorisation de la condition 1 X bougies en arrière de la condition 2.

    #79913
    1. Les différences sont-elles aussi constatées avec un backtest de la même stratégie ? (différence temps réel / backtest) à vérifier svp
      Oui les différences sont aussi constatés
    1. Les périodes et type de moyennes mobiles, sont-elles bien les mêmes dans le code et sur le graphique ? (problème très courant, d’où la question..)
      Oui se sont les mêmes
    1. Sans avoir lu le code difficile de comprendre de où peut provenir le problème, procédons dans l’ordre, car ce type d’instruction fonctionne correctement
      Bien entendu voici la partie ou je teste les croisements

    //MA
    MAa = Average[a](close)
    MAb = Average[b](close)

    //EMA
    EMAx = exponentialaverage[x](close)
    EMAy = exponentialaverage[y](close)

    Long1 = EMAx CROSSES OVER EMAy
    IF Long1 THEN
    CondLong1=1
    ENDIF

    Long2 = MAa CROSSES OVER MAb
    IF Long2 THEN
    CondLong2=1
    ENDIF

    IF cond1=1 AND cond2=1 THEN
    BUY 1 CONTRACT AT MARKET
    SET STOP TRAILING 20
    condLong1=0
    condLong2=0
    ENDIF

    // Condition for opening a Short Position
    Short1 = EMAx CROSSES UNDER EMAy
    IF Short1 THEN
    CondShort1=1
    ENDIF

    Short2 = MAa CROSSES OVER MAb
    IF Short2 THEN
    CondShort2=1
    ENDIF

    IF CondShort1=1 AND CondShort2=1 THEN
    Sellshort 1 CONTRACT AT MARKET
    SET STOP TRAILING 20
    CondShort1=0
    CondShort2=0
    ENDIF

    SET STOP pLOSS 20

     

    #79914

    Le bouton “Insert PRT code” est ton ami …

    1 user thanked author for this post.
    #79915

    Merci et désolé je suis  nouveau dans le forum:-)

    #79935

    Tu utilises des variables nommées “cond1” et “cond2” pour ouvrir des ordres d’achat (ligne 19) qui ne sont jamais renseignées, donc toujours égal à 0. Tu devrais utiliser les variables que tu utilises pour tester des croisements aux lignes 11 et 16 (CondLong1 et 2), je pense que ça ira mieux 🙂

    #79939

    Désolé c’est une erreure lorsque j’a copié/collé mon code dans le forum et modifié 2-3 choses mais c’est bien CondLong1 et 2 que j’utilise et justement le même problem. Quelqu’un peut le tester sur 1 min chart eur/usd et me dire si il a le même effet?

Viewing 15 posts - 1 through 15 (of 16 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login