SENS DU DERNIER TRADE

Forums ProRealTime forum Français Support ProOrder SENS DU DERNIER TRADE

  • This topic has 6 replies, 2 voices, and was last updated 6 years ago by avatar4801.
Viewing 7 posts - 1 through 7 (of 7 total)
  • #54562

    Bonsoir à tous

    Afin d’ éviter 2 trades successifs de même sens, je ne trouve rien du style ” LASTTRADE IS LONG” ou ” LASTTRADE IS SHORT ”  je plante sur :

    Comment coder:    Le dernier trade était long

                                       Le dernier trade était short

    Merci si vous avez une idée . Bon week-end

    #54611

    Un début de réponse : 

    https://www.prorealcode.com/topic/add-condition-referencing-last-trade-direction/

    Il y aurait toutefois d’autres façons de procéder suivant les cas de figures, fait nous savoir si cette solution te convient, merci. 

    #54806

    Merci Nicolas et  Robertogozzi

    J’ ai testé sans succès avec le code qui suit. Le code ne génère aucun trade.

    DEFPARAM CumulateOrders = False // Cumul des positions désactivé

    indicator1 = WeightedAverage[20](close)

    ONCE LastTradeDirection = 0
    IF LongOnMarket THEN
    LastTradeDirection = 1 //1 = dernier trade était LONG
    ELSIF ShortOnMarket THEN
    LastTradeDirection = 2 //2 = dernier trade était SHORT
    ENDIF

    // Conditions pour ouvrir une position acheteuse
    // La moyenne 20 était baissière et devient haussière:
    c1 = (indicator1[2] >= indicator1[1])
    c2 = (indicator1 > indicator1[1])
    IF c1 AND c2 and LastTradeDirection = 2 THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    // Conditions pour fermer une position acheteuse
    IF LONGONMARKET THEN
    SELL AT (TRADEPRICE + 0.0050)LIMIT
    ENDIF

    // Conditions pour ouvrir une position short
    // La moyenne 20 était haussière et devient baissière:
    c3 = (indicator1[2] <= indicator1[1])
    c4 = (indicator1 < indicator1[1])
    IF c3 and c4 AND LastTradeDirection = 1 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF
    // Conditions pour fermer une position short:
    IF SHORTONMARKET THEN
    EXITSHORT AT (TRADEPRICE – 0.0050)LIMIT
    ENDIF

    Merci et bonne soirée à tous.

    #55489

    Bonjour Nicolas

    J’ ai utilisé le symbole <> pour écrire à nouveau le code comme tu le demandes dans tes réponses.

    J’ ai testé sans succès avec l’ utilisation du lien transmis. Le code ne génère aucun trade.

    Je n’ ai rien trouvé pour coder: ” le dernier trade était long”

                                                              ” le dernier trade était short”

    Merci  .

     

     

    #55493

    Tu enregistres correctement ici la notion du trade en cours entre tes lignes 6 et 10, tout est ok jusque là. Ensuite c’est ta gestion de la variable qui pose problème puisque tu testes si celle-ci est égal à 2 pour ouvrir un order d’achat ou si elle est égale à 1 pour ouvrir un nouvel ordre de vente. Hors cette variable vaut 0 tant qu’il n’y a pas eu d’ordre, donc rien ne s’ouvrira jamais.

    Dans ce cas de figure, tu peux ajouter une condition en plus pour tester si ‘LastTradeDirection’ vaut OU BIEN 0, si oui alors tes lignes 17 et 29 seront lus par l’interpréteur de codes.

    Exemple pour ta ligne 16:

    Attention aux parenthèses ! Je te laisse faire de même pour les conditions d’entrées en VAD.

     

    #55567

    Bonjour à tous et merci Nicolas, je m’ y met dès mon boulot fini.

     

    #55617

    Bonsoir tout le monde.

    Le code corrigé fonctionne bien, c’ est OK (merci Nicolas)

    Je croyais que cela serait sympa sur le Forex, mais les backtests en faisant varier un stop loss, la Moyenne mobile et l’ objectif gain donnent des résultats mauvais.

    Merci  prorealcode, de m’ éviter des trades d’ illusion. j’ ai testé seulement en daily.

     

Viewing 7 posts - 1 through 7 (of 7 total)

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