Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    Help! Help!

    Bonjour,
    j'aurai besoin d'aide pour programmer l'instruction suivante:
    bloquer l'envoi de l'ordre d'achat/vente le même jour de la cloture d'une position.

    merci pour votre aide savante

  2. #2
    Membre Star kk2val est sur la route de la réputation...
    Date d'inscription
    January 2008
    Messages
    249
    Pouvoir de réputation
    7

    Citation Envoyé par dieudonné Voir le message
    Bonjour,
    j'aurai besoin d'aide pour programmer l'instruction suivante:
    bloquer l'envoi de l'ordre d'achat/vente le même jour de la cloture d'une position.

    merci pour votre aide savante
    Bonsoir..

    Tu peux préciser ta pensée??

    merci

    cldt kk2val

  3. #3
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    bonjour kk2val,
    précision sur la demande "j'aurai besoin d'aide pour programmer l'instruction suivante:
    bloquer l'envoi de l'ordre d'achat/vente le même jour de la cloture d'une position."
    par un exemple:
    pour un EA de type haussier, les différents indicateurs programmés lancent un ordre d'achat, puis ouverture position acheteuse ....si le cours de la paire évolue défavorablement et que le SL trailing stop est touché => fermeture de position Mercredi à 5h00 par exemple. ce je veux: meme si l'EA détecte qu'il peut lancer à nouveau un ordre d'achat => bloquer l'ordre toute la journée du mercredi jusqu'au lendemain 00h00

    Est-ce plus clair?

    Cordialement

  4. #4
    Membre Star kk2val est sur la route de la réputation...
    Date d'inscription
    January 2008
    Messages
    249
    Pouvoir de réputation
    7

    Citation Envoyé par dieudonné Voir le message
    bonjour kk2val,
    précision sur la demande "j'aurai besoin d'aide pour programmer l'instruction suivante:
    bloquer l'envoi de l'ordre d'achat/vente le même jour de la cloture d'une position."
    par un exemple:
    pour un EA de type haussier, les différents indicateurs programmés lancent un ordre d'achat, puis ouverture position acheteuse ....si le cours de la paire évolue défavorablement et que le SL trailing stop est touché => fermeture de position Mercredi à 5h00 par exemple. ce je veux: meme si l'EA détecte qu'il peut lancer à nouveau un ordre d'achat => bloquer l'ordre toute la journée du mercredi jusqu'au lendemain 00h00

    Est-ce plus clair?

    Cordialement
    Bonjour dieudonné...

    merci pour la précision...

    donc si je comprends bien ta demande ..tu veux bloquer tout trade après une perte ..pour redémarrer le jour suivant ..

    je pense qu'il faut pour cela un compteur de perte qui bloquerait les trades jusqu'à une heure paramétrable ou simplement jusqu'au jour suivant..

    le compteurs de perte.. (pour ma part) je l'utilise déjà dans plusieurs ea

    comme ceci :

    //==========================================+
    //| Nombre de pertes consécutives |
    //==========================================+
    int orders=HistoryTotal(); // historique du compte
    int losses=0; // nbre de pertesconsécutives
    for(int i=orders-1;i>=0;i--) // scan de l'historique du compte
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==fals e) {Print ("Error in history!"); break; }
    if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
    //----
    if(OrderProfit()>0) break; //si profit positif>> initialisation du compteur
    if(OrderProfit()<0) losses++; //incrémentation du compteur perte
    }

    à partir de là on peut très bien écrire

    if ( confitions Long && losses < 1)

    { prise de position "Long"}
    //=======================
    mme chose pour short
    //=======================

    ceci implique de laisser l'historique du compte sur la sélection "aujourd'hui"..le compteur des pertes sera initialisé à 0h00 .

    on peut aussi faire ceci :

    tjours à partir du compteur de perte .

    int dernier_trade;
    if (losses != 0) dernier_trade = Day();
    if (conditions long && Day() != dernier_trade)
    {prise de position "long"}

    si le compteurs des pertes n'est pas à 0..les trades ne seront autorisés que le jour suivant soit 0h00..

    voilà deux solutions simples..il en existe d'autres bien entendu.

    cldt
    kk2val

  5. #5
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    merci pour ces solutions,
    je suis plus que néophyte mais avec de la tenacité et l'aide de "grands frères" j'éspère progresser et apporter ma contribution à ce forum.
    autre sujet: très bien le concept d'un travail de groupe sur l'EA collabratif ZZ+

    Cordialemnt

  6. #6
    Membre Star kk2val est sur la route de la réputation...
    Date d'inscription
    January 2008
    Messages
    249
    Pouvoir de réputation
    7

    Citation Envoyé par dieudonné Voir le message
    merci pour ces solutions,
    je suis plus que néophyte mais avec de la tenacité et l'aide de "grands frères" j'éspère progresser et apporter ma contribution à ce forum.
    autre sujet: très bien le concept d'un travail de groupe sur l'EA collabratif ZZ+

    Cordialemnt
    bonsoir dieudonné..

    je ne suis pas un codeur..ni programmeur ..mais si je peux apporter le peu d'aide dont je suis capable et partager..ça peut faire avancer un peu ..

    le travail de Smn et tous les participants à ce programme ZZ + est tout à fait remarquable et je le salue bien

    cldt

    kk2val

  7. #7
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    mon premier code qui semble marcher dans les backtest.
    je n'ai pas besoin de paramétrer l'historique à "aujourd'hui".

    int orders = OrdersHistoryTotal();// Historique du compte
    int k;
    int clotures = 0;// nombre de pertes consécutives
    for(k = orders-1;k>=0;k--) // scan de l'historique du compte
    {
    if (OrderSelect(k,SELECT_BY_POS,MODE_HISTORY)==false)
    {
    Print ("Error in history!");
    break;
    }
    if(OrderSymbol()!=Symbol()) continue;
    datetime Cloture = OrderCloseTime();
    if((Day() != TimeDay(Cloture)) || (Month() != TimeMonth(Cloture)) || (Year() != TimeYear(Cloture))) continue ; // recherche du jour/mois/année de cloture identique au jour/mois/année courant
    clotures++; //incrémentation du compteur cloture
    }


    if(conditions Buy/Sell && clotures < 0) Action

    cela semble correct?

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact