[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 23

 
WindSW:

Mi código facilita la determinación del número de iteraciones mediante ArrayRange.

¿Por qué obtengo 0 cuando escribo xDelH[countDH][0]=HBar[countH][0]; (aunque HBar[countH][0] ya está llena y tiene su propio valor)? ¿Puedo hacer esto?

¿Cómo se comprueba el valor de xDelH[countDH][0] después de esta operación de asignación?
 
Por favor, dígame qué función recuerda el precio de Take Profit de la última orden abierta
 
Frostr:
Por favor, dígame qué función recuerda el precio de Take Profit de la última orden abierta

Si necesita recordarlo con exactitud, simplemente guarde el valorde TakeProfit en una variable cada vez que abra una orden.
 

Sólo necesito

//promedio calculando el precio medio
double averageprice = NormalizeDouble(sum/allots, Digits);
//modificar todas las órdenes de la serie moviendo el mismo TakeProfit para cada orden abierta
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//tomar beneficios para una orden de COMPRA
si ( OrderType() == OP_BUY) tp = precio medio + TP * Punto;
//tomar beneficios para una orden de VENTA
si ( OrderType() == OP_SELL) tp = precio medio - TP * Punto;
//modificar la orden perteneciente a la serie
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

modificar las órdenes antiguas, cambiar su TakeProfit por el TakeProfit de la nueva orden abierta (si el precio cierra la última orden en el Stop entonces todas las órdenes anteriores se cerrarán también)

 
Frostr:

Sólo necesito

/promedio calculando el precio medio
double averageprice = NormalizeDouble(sum/allots, Digits);
//modificar todas las órdenes de la serie moviendo el mismo TakeProfit para cada orden abierta
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Beneficio para la orden de COMPRA
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point;
//tomar beneficios para una orden de VENTA
if ( OrderType() = OP_SELL) tp = averageprice - TP * Point;
//modificar una orden que pertenece a la serie
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

modificar las órdenes antiguas, cambiar su TakeProfit por el TakeProfit de una nueva orden abierta (si el precio cierra la última orden en el stop, todas las órdenes anteriores también se cerrarán)


Los anteriores se cerrarán si se establece un único stoploss para toda la serie. Si deja el stop loss diferente para cada orden (sin cambiarlo), entonces sólo se cerrará una orden. El valor de TakeProfit para otras órdenes de la serie tendrá que ser recalculado o fijado igual al valor anterior.
 
paladin80:
¿Cómo se comprueba el valor de xDelH[countDH][0] después de esta operación de asignación?

A través de la impresión
 

¡¡¡Buenos días!!! ya sabes, hago dos pedidos con este lugar - por diseño, uno con un tope y otro sin. ¡¡¡¡En el probador, ambos son borrados!!!!

 if   (Svetsja_1 &&  !Svetsja_2  && !Svetsja_3  &&  !Orderbuy ){
    //стоп лосс 25 п. профит 30 п;стоп лосс 25 п. тралится по MA 20    
         
        RefreshRates();
          OrderSend (Symbol( ), OP_BUY, lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   NormalizeDouble( Ask+( 30*Point),Digits), NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates(); 
          OrderSend (Symbol( ), OP_BUY,  lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   0, NULL, 450, 0, CLR_NONE); }
            Error=GetLastError(); Orderbuy=1; 
            if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}   }  } }

No tengo ni idea de lo que está pasando aquí.


 
Dimka-novitsek:

¡¡¡Buenos días!!! ya sabes, hago dos pedidos con este lugar - por diseño, uno con un tope, el otro sin. ¡¡¡¡En el probador, ambos son borrados!!!!

No tengo ni idea de lo que está pasando aquí.



Fíjate bien, has puesto stoploss para los dos y takeprofit para uno solo. Así que es como escribiste: ambos se cerrarán en stoploss y sólo uno se cerrará en takeprofit.
 
Dimka-novitsek:

¡¡¡Buenos días!!! ya sabes, hago dos pedidos con este lugar - por diseño, uno con un tope y otro sin. ¡¡¡¡En el probador, ambos son borrados!!!!

No tengo ni idea de lo que está pasando aquí.

Probablemente es demasiado pronto para que te lo "fumes" - ¡PODRÍA SER SUSPENDIDO! :)))
 
Sí, ¡¡¡gracias!!! Era yo el que venía directamente de la calle al ordenador y estaba totalmente confundido.
Razón de la queja: