Problemi di chiusura, per favore aiutatemi - pagina 2

 
Huckleberry:
se (1,4321 - 1,4361 - (20*2) <= 0), mi dispiace, ma non capisco.
SL=1.4361-(20*2) il valore di stop loss
OrderClosePrice() o Bid (Acquisto) o Ask (Vendita) è il valore attuale del mercato.
Si vuole chiudere quando il mercato attuale (1.4321) è a o sotto (comprare) lo SL. Questo avviene quando Bid-SL <= 0
Quando Bid-SL > 0, questa è la condizione iniziale.
 
WHRoeder wrote >>
SL=1.4361-(20*2) il valore di stop loss
OrderClosePrice() o Bid (Acquisto) o Ask (Vendita) è il valore attuale del mercato.
Si vuole chiudere quando il mercato attuale (1.4321) è a o sotto (comprare) lo SL. Questo avviene quando Bid-SL <= 0
Quando Bid-SL > 0, questa è la condizione iniziale.

Ciao WHRoeder
Grazie per avermi risposto. Mi sono confuso nel modo in cui è stata scritta l'espressione. Con la mia visione a tunnel, mi stavo concentrando sul lato della vendita, con un'espressione che aveva il segno '=' a sinistra dell'espressione. Lavorerò con questo e tornerò. Grazie. Il tempo e lo sforzo che condividete sono stati più che generosi.
Saluti
 
WHRoeder wrote >>
SL=1.4361-(20*2) il valore di stop loss
OrderClosePrice() o Bid (Acquisto) o Ask (Vendita) è il valore attuale del mercato.
Si vuole chiudere quando il mercato attuale (1.4321) è a o sotto (comprare) lo SL. Questo avviene quando Bid-SL <= 0
Quando Bid-SL > 0, questa è la condizione iniziale.


Ciao WHRoeder

Solo per aiutarti a tenerti aggiornato. Ho modificato la risposta di prima.

Ho anche inserito l'espressione nel programma. Ci sono tanti modi di interpretare la stessa idea.
Grazie per avermi indicato l'ultimo. Ma ecco, questa espressione non ha cambiato il risultato.
È come se il programma non guardasse mai la condizione. Forse non guarda oltre l'istruzione 'for'.
Sto guardando di nuovo il codice.
Grazie di tutto.

 
////////////////////////////////////////////////////////////////////<         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
     
File:
1_18.mq4  27 kb