Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
si (1,4321 - 1,4361 - (20*2) <= 0), lo siento, pero no entiendo.
OrderClosePrice() o Bid (Buy) o Ask(Sell) es el valor actual del mercado.
Usted quiere cerrar cuando el mercado actual (1.4321) está en o por debajo (compra) del SL. Eso ocurre cuando Bid-SL <= 0
Cuando Bid-SL > 0, esa es la condición inicial.
SL=1.4361-(20*2) el valor del stop loss
OrderClosePrice() o Bid (Compra) o Ask (Venta) es el valor actual del mercado.
Usted quiere cerrar cuando el mercado actual (1,4321) está en o por debajo (compra) del SL. Eso ocurre cuando Bid-SL <= 0
Cuando Bid-SL > 0, esa es la condición inicial.
Gracias por responder. Me confundí en la forma de escribir la expresión. Con mi visión de túnel, me estaba concentrando en el lado de la venta, con una expresión que tenía el signo '=' situado a la izquierda de la expresión. Trabajaré con esto y volveré. Gracias. El tiempo y el esfuerzo que compartes ha sido más que generoso.
Saludos
SL=1.4361-(20*2) el valor del stop loss
OrderClosePrice() o Bid (Compra) o Ask (Venta) es el valor actual del mercado.
Usted quiere cerrar cuando el mercado actual (1,4321) está en o por debajo (compra) del SL. Eso ocurre cuando Bid-SL <= 0
Cuando Bid-SL > 0, esa es la condición inicial.
Hola WHRoeder
Sólo para ayudarte a estar al día. He editado la respuesta anterior.
También he insertado la expresión en el programa. Hay muchas maneras de interpretar la misma idea.
Gracias por señalar la última. Pero he aquí que esta expresión no ha cambiado el resultado.
Es como si el programa nunca mirara la condición. Tal vez no mira más allá de la declaración 'for'.
Vuelvo a mirar la codificación.
Gracias por todo.
////////////////////////////////////////////////////////////////////< 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