Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    un coup de main svp ? un coup de main svp ?

    Salut a tous,

    j'ai une question qui me prends la tête depuis quelque jours

    on faite je voulais fermer les positions en attente des que le gain est atteint
    jusqu’à la ça marche puis de passer des ordre sellstop et buystop de nouveau mais le probleme c'est que il arrête pas de les ouvrir et de supprimer les ordre sellstop et buystop tout le temps .

    Quelqu'un peut m'aider ? merci

    for(int c=0;c<OrdersTotal();c++)
    {
    OrderSelect(c, SELECT_BY_POS, MODE_TRADES);
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol()){

    if (OrderProfit()>=Gain){
    OrderClose(OrderTicket(),OrderLots(),Ask,0,Green);
    ObjectSetText( "lblChgBg", "ggg", 1000, "Webdings",Lime );
    for (int n = OrdersTotal();n >= 0; n--)
    {
    OrderSelect (n, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol()==Symbol() && (OrderType () == OP_BUYSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());
    if (OrderSymbol()==Symbol() && (OrderType () == OP_SELLSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());


    OrderSend(Symbol(),OP_SELLSTOP,Lots,Ask-0.0007,3,0,0," auto ",100,0,Green);
    OrderSend(Symbol(),OP_BUYSTOP,Lots,Bid+0.0007,3,0, 0," auto ",100,0,Green);
    }}}}
    Dernière modification par dany31000 ; 26/05/2011 à 21h55.

  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 dany31000 Voir le message
    Salut a tous,

    j'ai une question qui me prends la tête depuis quelque jours

    on faite je voulais fermer les positions en attente des que le gain est atteint
    jusqu’à la ça marche puis de passer des ordre sellstop et buystop de nouveau mais le probleme c'est que il arrête pas de les ouvrir et de supprimer les ordre sellstop et buystop tout le temps .

    Quelqu'un peut m'aider ? merci

    for(int c=0;c<OrdersTotal();c++)
    {
    OrderSelect(c, SELECT_BY_POS, MODE_TRADES);
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol()){

    if (OrderProfit()>=Gain){
    OrderClose(OrderTicket(),OrderLots(),Ask,0,Green);
    ObjectSetText( "lblChgBg", "ggg", 1000, "Webdings",Lime );
    for (int n = OrdersTotal();n >= 0; n--)
    {
    OrderSelect (n, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol()==Symbol() && (OrderType () == OP_BUYSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());
    if (OrderSymbol()==Symbol() && (OrderType () == OP_SELLSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());


    OrderSend(Symbol(),OP_SELLSTOP,Lots,Ask-0.0007,3,0,0," auto ",100,0,Green);
    OrderSend(Symbol(),OP_BUYSTOP,Lots,Bid+0.0007,3,0, 0," auto ",100,0,Green);
    }}}}
    Bonsoir..

    Avant d'essayer de résoudre ton pb de pos..il serait de "bon ton" de terminer ton dernier file..par ex " ça marche pas" ou "ça me gonfle de vous répondre"..
    personne n'attend de merci et le partage est le maître mot..mais tout de mme..

    on vient..on prend..on se tire...Fastoche!!

    bien à toi

    Kk2val

  3. #3
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    Bonjour Kk2val

    Avant de dire n'importe quoi, j'ai pas terminer le dernier file car je n'ai pas trouvé la solution ta formule n'a pas marché donc je cherché sur d'autre forum !!! Des que je trouve la solution je répons il faut laisser le temps

    en attentant j'avais d'autre question a poser il est ou le mal !

  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 dany31000 Voir le message
    Bonjour Kk2val

    Avant de dire n'importe quoi, j'ai pas terminer le dernier file car je n'ai pas trouvé la solution ta formule n'a pas marché donc je cherché sur d'autre forum !!! Des que je trouve la solution je répons il faut laisser le temps

    en attentant j'avais d'autre question a poser il est ou le mal !
    Bonjour Dany

    Bé justement.. dis "ça marche pas"!..

    c'est sans doute ..pas utilisé au bon endroit..car ça marche sur les EA où je l'utilise..

    Kk2val

  5. #5
    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 dany31000 Voir le message
    Salut a tous,

    j'ai une question qui me prends la tête depuis quelque jours

    on faite je voulais fermer les positions en attente des que le gain est atteint
    jusqu’à la ça marche puis de passer des ordre sellstop et buystop de nouveau mais le probleme c'est que il arrête pas de les ouvrir et de supprimer les ordre sellstop et buystop tout le temps .

    Quelqu'un peut m'aider ? merci

    for(int c=0;c<OrdersTotal();c++)
    {
    OrderSelect(c, SELECT_BY_POS, MODE_TRADES);
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol()){

    if (OrderProfit()>=Gain){
    OrderClose(OrderTicket(),OrderLots(),Ask,0,Green);
    ObjectSetText( "lblChgBg", "ggg", 1000, "Webdings",Lime );
    for (int n = OrdersTotal();n >= 0; n--)
    {
    OrderSelect (n, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol()==Symbol() && (OrderType () == OP_BUYSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());
    if (OrderSymbol()==Symbol() && (OrderType () == OP_SELLSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());


    OrderSend(Symbol(),OP_SELLSTOP,Lots,Ask-0.0007,3,0,0," auto ",100,0,Green);
    OrderSend(Symbol(),OP_BUYSTOP,Lots,Bid+0.0007,3,0, 0," auto ",100,0,Green);
    }}}}
    Bonjour Dany..

    si je puis me permettre..

    tu as dans la mme section.."OrderDelete" et "OrderSend" pour le mme type d'ordre avec le mme magic..ça te fait une mitraillette à ordres..

    cdlt

  6. #6
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    exactement, mais comment je peux lui dire de me supprimer les ordres en attente puis qu'il me lance les nouveaux ordres ?

  7. #7
    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 dany31000 Voir le message
    exactement, mais comment je peux lui dire de me supprimer les ordres en attente puis qu'il me lance les nouveaux ordres ?
    certainement en mettant une condition pour les ouvrir..car quand ta condition close est avérée..elle l'est aussi pour tes "open" pendant au moins le chandelier en cours..et ça se "mord la queue"..

    A mon humble avis..il faudrait mettre l'ouverture de tes ordres dans une autre section..

    tu peux également ne pas supprimer tes ordres en attente ..mais les modifier

    à la clôture de tes ordres en cours

    je n'ai pas de bout de code à te donner là dessus..mais juste l'idée..

    cdlt

    kk2val

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

    //+------------------------------------------------------------------+
    //| essai_dany.mq4 |
    //| Copyright © 2009, MetaQuotes Software Corp. |
    //| MetaTrader 4 Trading Platform / MetaQuotes Software Corp. |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2009, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"

    extern double Lots= 0;
    extern double Gain= 0;

    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {


    if(/*tes conditions Open &&*/OrdersTotal() < 2 )
    {

    OrderSend(Symbol(),OP_SELLSTOP,Lots,Ask-0.0007,3,0,0," auto ",100,0,Green);
    OrderSend(Symbol(),OP_BUYSTOP,Lots,Bid+0.0007,3,0, 0," auto ",100,0,Green);
    }

    //----
    for (int c = OrdersTotal();c >= 0; c--)
    {
    OrderSelect(c, SELECT_BY_POS, MODE_TRADES);
    if((OrderType()==OP_SELL || OrderType()==OP_BUY) && OrderSymbol()==Symbol())

    //là.. j'ai un peu modifié pour prendre en compte les op_buy
    {

    if (OrderProfit()>=Gain||MathAbs(OrderProfit())>=Gain )

    //là ..la deuxième partie sert de sl.sinon on garde les ordres en cours

    {
    OrderClose(OrderTicket(),OrderLots(),OrderClosePri ce(),0,Green);

    //OrderClosePrice() prend en compte les buy et sell

    ObjectSetText( "lblChgBg", "ggg", 1000, "Webdings",Lime );
    for (int n = OrdersTotal();n >= 0; n--)
    {
    OrderSelect (n, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol()==Symbol() && (OrderType () == OP_BUYSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());
    if (OrderSymbol()==Symbol() && (OrderType () == OP_SELLSTOP && OrderMagicNumber()==100)) OrderDelete (OrderTicket ());

    }}}}
    //----
    return(0);
    }
    //+------------------------------------------------------------------+


    voilà..jute une idée..

    en test ça fonctionne ..après ..il faut aménager selon ce qu'on veut comme sortie

    cdlt
    Kk2val

  9. #9
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    salut,

    je vais essayé pour voir ce que ça donne ,

    merci

Discussions similaires

  1. besoin d'un coup de main..
    Par kk2val dans le forum Programmation
    Réponses: 2
    Dernier message: 04/07/2010, 06h46
  2. Réponses: 7
    Dernier message: 22/06/2010, 15h49
  3. Un coup de main SVP
    Par hanzooo dans le forum Programmation
    Réponses: 2
    Dernier message: 26/01/2010, 10h27
  4. un petit coup de main svp
    Par cmoh45 dans le forum Systèmes de Trading Auto
    Réponses: 8
    Dernier message: 23/12/2008, 11h55
  5. Besoin également d’un coup de main
    Par flo1402 dans le forum Systèmes de Trading Auto
    Réponses: 3
    Dernier message: 25/11/2008, 09h28

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