Problèmes de fermeture, aidez-nous - page 2

 
Huckleberry:
si (1.4321 - 1.4361 - (20*2) <= 0), je suis désolé, mais je ne comprends pas.
SL=1.4361-(20*2) la valeur du stop loss
OrderClosePrice() ou Bid (Buy) ou Ask(Sell) est la valeur actuelle du marché.
Vous voulez fermer lorsque le marché actuel (1,4321) est égal ou inférieur (achat) au SL. Cela se produit lorsque Bid-SL <= 0
Lorsque Bid-SL > 0, c'est la condition initiale.
 
WHRoeder wrote >>
SL=1.4361-(20*2) la valeur du stop loss
OrderClosePrice() ou Bid (Buy) ou Ask(Sell) est la valeur actuelle du marché.
Vous voulez fermer lorsque le marché actuel (1,4321) est égal ou inférieur (achat) au SL. Cela se produit lorsque Bid-SL <= 0
Lorsque Bid-SL > 0, c'est la condition initiale.

Bonjour WHRoeder
Merci de m'avoir répondu. J'ai été confus dans la façon dont l'expression a été écrite. Avec ma vision en tunnel, je me concentrais sur le côté vente, avec une expression qui avait le signe '=' situé à gauche de l'expression. Je vais travailler avec cela et revenir. Je vous remercie. Le temps et les efforts que vous partagez ont été plus que généreux.
Au revoir
 
WHRoeder wrote >>
SL=1.4361-(20*2) la valeur du stop loss
OrderClosePrice() ou Bid (Buy) ou Ask(Sell) est la valeur actuelle du marché.
Vous voulez fermer lorsque le marché actuel (1,4321) est égal ou inférieur (achat) au SL. Cela se produit lorsque Bid-SL <= 0
Lorsque Bid-SL > 0, c'est la condition initiale.


Bonjour WHRoeder

Juste pour vous aider à rester à jour. J'ai modifié la réponse précédente.

J'ai également inséré l'expression dans le programme. Il y a tellement de façons d'interpréter la même idée.
Merci de m'avoir signalé la dernière. Mais voilà, cette expression n'a pas changé le résultat.
C'est comme si le programme ne regardait jamais la condition. Peut-être qu'il ne regarde pas au-delà de l'instruction 'for'.
Je regarde à nouveau le codage.
Merci pour tout.

 
////////////////////////////////////////////////////////////////////<         1>
// < Property >                                                   //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// </Property >                                                   //<          >
     
////////////////////////////////////////////////////////////////////<         2>
// < Content >                                                    //<          >
//                                                                //<          >
// < Structure             16 elements  in      4 domains       > //<          >
// < 1. Data                8 elements  in      2 domains      /> //<          >
// < 2. Code                8 elements  in      2 domains      /> //<          >
// </Structure             16 elements  in      4 domains       > //<          >
//                                                                //<          >
// < 1. Data                8 =       5 i       3 d       - s   > //<          >
// < 1.1. Input             7 =       4 i       3 d       - s  /> //<          >
// < 1.2. Buffer            1 =       1 i       - d       - s  /> //<          >
// </1. Data                8 =       5 i       3 d       - s   > //<          >
//                                                                //<          >
// < 2. Code                8 /         i      70 l       3 o   > //<          >
// < 2.1. Interface         5 /       - i      63 l       3 o  /> //<          >
// < 2.2. Special           3 /       - i       7 l       - o  /> //<          >
// </2. Code                8 /         i      70 l       3 o   > //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// </Content >                                                    //<          >
     
 
////////////////////////////////////////////////////////////////////<         3>
// < 1.1. Data : Input >                                          //<          >
//                                                                //<          >
// < 1.1. Input             7 =       4 i       3 d       - s   > //<          >
// <      1. Strategy       4 =       2 i       2 d       - s  /> //<          >
// <      2. Trading        3 =       2 i       1 d       - s  /> //<          >
// </1.1. Input             7 =       4 i       3 d       - s   > //<          >
//                                                                //<          >
// <      1. Strategy 4 >=========================================//<          >
                    int       iBasePeriod       = 20            ; //<          >
                    int       iBaseBar          = 1             ; //<          >
                    double    dFactorTP         = 2.0           ; //<          >
                    double    dFactorSL         = 2.0           ; //<          >
// </     1. Strategy 4 >=========================================//<          >
//                                                                //<          >
// <      2. Trading 3 >==========================================//<          >
                    int       iSlippage         = 1             ; //<          >
                    int       iMagic            = 1             ; //<          >
                    double    dLots             = 0.1           ; //<          >
// </     2. Trading 3 >==========================================//<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// </1.1. Data : Input >                                          //<          >
     
////////////////////////////////////////////////////////////////////<         4>
// < 1.2. Data : Buffer >                                         //<          >
//                                                                //<          >
// < 1.2. Buffer            1 =       1 i       - d       - s   > //<          >
// <      1. Exception      1 =       1 i       - d       - s  /> //<          >
// </1.2. Buffer            1 =       1 i       - d       - s   > //<          >
//                                                                //<          >
// <      1. Exception 1 >========================================//<          >
                    int       iTrap                             ; //<          >
// </     1. Exception 1 >========================================//<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// </1.2. Data : Buffer >                                         //<          >
     
 
////////////////////////////////////////////////////////////////////<         5>
// < 2.1. Code : Interface >                                      //<          >
//                                                                //<          >
// < 2.1. Interface         5 /       - i      63 l       3 o   > //<          >
// <      1. iSignalOpen              - i      12 l       1 o  /> //<          >
// <      2. iSignalClose             - i      12 l       1 o  /> //<          >
// <      3. iGetTrade                - i      11 l       1 o  /> //<          >
// <      4. iTryOpen                 - i      14 l       - o  /> //<          >
// <      5. iTryClose                - i      14 l       - o  /> //<          >
// </2.1. Interface         5 /       - i      63 l       3 o   > //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// </2.1. Code : Interface >                                      //<          >
     
////////////////////////////////////////////////////////////////////<         6>
// < 2.1.1. Code : Interface : iSignalOpen >                      //<          >
//                                                                //<          >
int       iSignalOpen ()     //       - i      12 l       1 o     //<          >
{                                                                 //<          >
int       iResult = EMPTY                                       ; //<          >
//                                                                //<          >
int       iIndexH = iHighest ( 0 , 0  , MODE_HIGH , iBasePeriod , //<          >
                                                    iBaseBar  ) ; //<          >
int       iIndexL = iLowest  ( 0 , 0  , MODE_LOW  , iBasePeriod , //<          >
                                                    iBaseBar  ) ; //<          >
//                                                                //<          >
double    dHigh   = High    [ iIndexH ]                         ; //<          >
double    dLow    = Low     [ iIndexL ]                         ; //<          >
//                                                                //<          >
double    dAsk    = MarketInfo        ( Symbol () , MODE_ASK  ) ; //<          >
double    dBid    = MarketInfo        ( Symbol () , MODE_BID  ) ; //<          >
//                                                                //<          >
if      ( dAsk    > dHigh )             iResult   = OP_BUY      ; //<          >
if      ( dBid    < dLow  )             iResult   = OP_SELL     ; //<          >
//                                                                //<          >
return  ( iResult )                                             ; //<          >
}                                                                 //<          >
// </2.1.1. Code : Interface : iSignalOpen >                      //<          >
     
 
////////////////////////////////////////////////////////////////////<         7>
// < 2.1.2. Code : Interface : iSignalClose >                     //<          >
//                                                                //<          >
int       iSignalClose ()    //       - i      12 l       1 o     //<          >
{                                                                 //<          >
int       iResult = EMPTY                                       ; //<          >
//                                                                //<          >
double    dATR    , dDelta  , dLoss   , dProfit                 ; //<          >
//                                                                //<          >
dATR    = iATR    ( 0 , 0 ,   iBasePeriod , iBaseBar )          ; //<          >
dDelta  = OrderClosePrice () - OrderOpenPrice  ()               ; //<          >
//                                                                //<          >
if      ( OrderType ()     == OP_BUY  )                           //<          >
        { dProfit =  dDelta ; dLoss   = -dDelta               ; } //<          >
else if ( OrderType ()     == OP_SELL )                           //<          >
        { dProfit = -dDelta ; dLoss   =  dDelta               ; } //<          >
else      return  ( EMPTY )                                     ; //<          >
//                                                                //<          >
if      ( dLoss   > dATR    * dFactorSL )        iResult = TRUE ; //<          >
if      ( dProfit > dATR    * dFactorTP )        iResult = TRUE ; //<          >
//                                                                //<          >
return  ( iResult )                                             ; //<          >
}                                                                 //<          >
// </2.1.2. Code : Interface : iSignalClose >                     //<          >
     
////////////////////////////////////////////////////////////////////<         8>
// < 2.1.3. Code : Interface : iGetTrade >                        //<          >
//                                                                //<          >
int       iGetTrade ()       //       - i      11 l       1 o     //<          >
{                                                                 //<          >
int                 iResult = EMPTY                             ; //<          >
//                                                                //<          >
for     ( int i   = OrdersTotal () - 1 ; i >= 0 ; i -- )          //<          >
        {                                                         //<          >
          if      ( OrderSelect ( i , SELECT_BY_POS ) == TRUE   ) //<          >
          if      ( OrderMagicNumber      ()          == iMagic ) //<          >
                  {                                               //<          >
                    iResult = OrderTicket ()                    ; //<          >
                    break                                       ; //<          >
                  } // if                                         //<          >
        } // for                                                  //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
return            ( iResult )                                   ; //<          >
}                                                                 //<          >
// </2.1.3. Code : Interface : iGetTrade >                        //<          >
     
 
////////////////////////////////////////////////////////////////////<         9>
// < 2.1.4. Code : Interface : iTryOpen >                         //<          >
//                                                                //<          >
int       iTryOpen ()        //       - i      14 l       - o     //<          >
{                                                                 //<          >
int       iCommand          = iSignalOpen ()                    ; //<          >
if      ( iCommand         == EMPTY   ) return                  ; //<          >
//                                                                //<          >
if      ( iCommand         == OP_BUY  )                           //<          >
        { int       iColor  = Blue    ; int iMode = MODE_ASK  ;   //<          >
          string    sType   = "Buy"                           ; } //<          >
else    {           iColor  = Red     ;     iMode = MODE_BID  ;   //<          >
                    sType   = "Sell"                          ; } //<          >
double    dPrice  = MarketInfo        ( Symbol () , iMode     ) ; //<          >
//                                                                //<          >
OrderSend  ( Symbol ()  , iCommand    , dLots       , dPrice  ,   //<          >
             iSlippage  , 0 , 0 , ""  , iMagic  , 0 , iColor  ) ; //<          >
//                                                                //<          >
          iTrap   = GetLastError    ()                          ; //<          >
if      ( iTrap  == 0 )                                           //<          >
          Alert ( sType , " Was a Big Success"                ) ; //<          >
else      Alert ( sType , " open exception "    , iTrap       ) ; //<          >
}                                                                 //<          >
// </2.1.4. Code : Interface : iTryOpen >                         //<          >
     
////////////////////////////////////////////////////////////////////<        10>
// < 2.1.5. Code : Interface : iTryClose >                        //<          >
//                                                                //<          >
int       iTryClose ()       //       - i      14 l       - o     //<          >
{                                                                 //<          >
int       iCommand          = iSignalClose ()                   ; //<          >
if      ( iCommand         == EMPTY   ) return                  ; //<          >
//                                                                //<          >
if      ( OrderType ()     == OP_BUY  )                           //<          >
        { int       iColor  = Red                             ;   //<          >
          string    sType   = "Buy"                           ; } //<          >
else    {           iColor  = Blue                            ;   //<          >
                    sType   = "Sell"                          ; } //<          >
if ( OrderProfit () > 0 ) string sV = "Take" ; else sV = "Stop" ; //<          >
//                                                                //<          >
OrderClose ( OrderTicket () , OrderLots () , OrderClosePrice () , //<          >
             iSlippage                              , iColor  ) ; //<          >
//                                                                //<          >
          iTrap   = GetLastError    ()                          ; //<          >
if      ( iTrap  == 0 )                                           //<          >
          Alert ( sType , " closed with Hard "  , sV          ) ; //<          >
else      Alert ( sType , " close exception "   , iTrap       ) ; //<          >
}                                                                 //<          >
// </2.1.5. Code : Interface : iTryClose >                        //<          >
     
 
////////////////////////////////////////////////////////////////////<        11>
// < 2.2. Code : Special >                                        //<          >
//                                                                //<          >
// < 2.2. Special           3 /       - i       7 l       - o   > //<          >
// <      1. init                     - i       1 l       - o  /> //<          >
// <      2. deinit                   - i       1 l       - o  /> //<          >
// <      3. start                    - i       5 l       - o  /> //<          >
// </2.2. Special           3 /       - i       7 l       - o   > //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// </2.2. Code : Special >                                        //<          >
     
////////////////////////////////////////////////////////////////////<        12>
// < 2.2.1. Code : Special : Init >                               //<          >
//                                                                //<          >
int       init    ()         //       - i       1 l       - o     //<          >
{                                                                 //<          >
          Alert   ( ""     , "Start " , UninitializeReason () ) ; //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
}                                                                 //<          >
// </2.2.1. Code : Special : Init >                               //<          >
     
 
////////////////////////////////////////////////////////////////////<        13>
// < 2.2.2. Code : Special : Deinit >                             //<          >
//                                                                //<          >
int       deinit  ()         //       - i       1 l       - o     //<          >
{                                                                 //<          >
          Alert   ( ""     , "Stop "  , UninitializeReason () ) ; //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
}                                                                 //<          >
// </2.2.2. Code : Special : Deinit >                             //<          >
     
////////////////////////////////////////////////////////////////////<        14>
// < 2.2.3. Code : Special : Start >                              //<          >
//                                                                //<          >
int       start   ()         //       - i       5 l       - o     //<          >
{                                                                 //<          >
// < 2.2.3.1. Main routine 3 >````````````````````````````````````//<          >
int       iTicket           = iGetTrade ()                      ; //<          >
//                                                                //<          >
if      ( iTicket < 0 )       iTryOpen  ()                      ; //<          >
else                          iTryClose ()                      ; //<          >
// </2.2.3.1. Main routine 3 >````````````````````````````````````//<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
//                                                                //<          >
// < 2.2.3.2. Exception handler 2 >```````````````````````````````//<          >
          iTrap   =           GetLastError ()                   ; //<          >
if      ( iTrap   > 0   )     Alert  ( "Exception " , iTrap   ) ; //<          >
// </2.2.3.2. Exception handler 2 >```````````````````````````````//<          >
}                                                                 //<          >
// </2.2.3. Code : Special : Start >                              //<          >
////////////////////////////////////////////////////////////////////<         0> 
     






Adjust MetaEditor window to see 25 lines x 80 columns.
Use <Page Up> and <Page Down> to scroll the content.

State: Ready for optimization
Last edit: 2010.03.15 11:48

 Works fine on "EURUSD" D1 with original settings
     
Dossiers :
1_18.mq4  27 kb