Ayuda con

 

Publi

Página 1 de 402 12 ÚltimoÚltimo
Resultados 1 al 10 de 13

Tema: Ayuda con

  1. #1
    Hola a todos. He estado tratando de resolver esto por un tiempo pero no he podido. Algo de ayuda con esto estaría bien. El código siguiente es el que implementa mis transacciones largas, pero sigo recibiendo el error OrderSend 4051 suma de lotes no válida para la función OrderSend. He probado diferentes métodos pero nada parece funcionar. Al usar este código dentro de las dimensiones de mi lote, estoy tratando de obtener muchas dimensiones que solo van a arriesgar mi porcentaje por operación, pero utilizando una pérdida de pérdida variable como referencia. El stoploss varía de comercio a comercio ya que es el mínimo más bajo en 50 velas atrás. Si conoce una forma más simple o mejor que también sería valorada.

    Editar: estoy buscando incorporar la administración de riesgodinero en mis transacciones usando este método.

    Código de variables:
    Código insertado extern int Risk_Percent = 3;/Porcentaje de la cuenta a riesgo por operación. Dual LowestShift = iLowest (Símbolo (), PERIOD_H1, MODE_LOW, 50, 1);/Encuentra la vela usando el más bajo no en 50 velas atrás. Double Lowest = iLow (Symbol (), PERIOD_H1, LowestShift);/Encuentra el mínimo de la vela utilizada por LowestShift double Buy_Take_Profit = ((Bid-Lowest) Ask);/Para hacer el intercambio 1: 1
    Código de ejecución:
    Código insertado if (Condition1 gt; Condition2) if (Condition3 lt; Condition4) if (Condition5 lt; Bid) if (getOpenOrders () == 0) double Buy_Lots = NormalizeDouble (((AccountBalance () * (Risk_Percent100))(((Bid-Lowest) * 100000) * (MarketInfo (Symbol (), MODE_TICKVALUE)))), 2); Buy_Order = OrderSend (Symbol (), OP_BUY, Buy_Lots, Ask, 30, Lowest, Buy_Take_Profit, NULL, 2000,0, clrGreen);

  2. #2
    Pls hacer una publicación en el tamaño de la orden. Inserted Code double Buy_Lots También asegúrese de que sea más grande que su corredor lo permita. Por ejemplo, quizás desee enviar 0.005 lotes, lo que no es posible (límite de MT4), o 0.05, sin embargo, su corredor requiere un mínimo de 0.1 lotes. También use Equity, no Balance, tal vez también revise el margen libre

  3. #3
    Gracias. Yo hago eso y soy im. Parece que la parte donde Risk_Percent está dividido entre 100 me devuelve 0 en la impresión. Si cambio el riesgo a 100, entonces me da. Sin embargo, parece que no necesita darme un decimal. Comprobaré el mínimo del lote, pero creo que lo anterior es la razón principal detrás del error. Aún un mínimo y un máximo no son malas cosas para planear. Lo cambiaré a equidad. ¿Por qué debería mirar el margen libre?

  4. #4

    Cita Iniciado por ;
    Gracias por la respuesta. He estado haciendo exactamente eso y estoy volviendo con información adicional. Parece que el área donde Risk_Percent está dividido por 100 me da en la impresión. Si cambio el riesgo a 100 entonces me da. Sin embargo, parece que no quiere darme un decimal. Comprobaré el mínimo del lote pero creo que lo anterior es la razón del error. Todavía un mínimo y un máximo no son malas cosas para planificar. Lo cambiaré. ¿Por qué tendría que verificar el margen libre?
    Ernie11- Risk_Percent debe definirse como un doble doble Risk_Percent = 0.30;/Porcentaje de la cuenta a riesgo por operación.

  5. #5
    Gracias por la respuesta. Lo obtuve funcionando ejecutando Risk_Percent * 0.01 en lugar de Risk_Percent100. No entiendo por qué uno funciona y el otro no, ambos dan exactamente la misma respuesta. Si dejara Risk_Percent en un doble, ¿no podría modificarlo en el cuadro de entrada? Siempre sería un valor? Quiero implementar una parada final en particular, pero también tengo una pequeña cantidad de dificultades con ella. Me gustaría que comience una parada final una vez que llega a Xpercent entre OpenOrderPrice y Take_Profit. ¿Puedes echarle un vistazo por favor? Los elementos en negrita son los únicos que cambié de una parada final normal. Factores: Código insertado extern int Start_Trailing_Stop_Percent = 70; extern int Trailing_Stop = 100; double LowestShift = iLowest (Símbolo (), PERIOD_H1, MODE_LOW, 50, 1); double HighestShift = iHighest (Símbolo (), PERIOD_H1, MODE_HIGH, 50, 1); double Lowest = iLow (Símbolo (), PERIOD_H1, LowestShift); double Maximum = iHigh (Symbol (), PERIOD_H1, HighestShift); double Buy_Take_Profit = ((Bid-Lowest) Ask); double Sell_Take_Profit = (Bid- (Mayor-Preguntar)); Trailing Stop: Código insertado para (int I = 0; ilt; OrdersTotal (); I ) {//Seleccione Open trades if (OrderSelect (I, SELECT_BY_POS, MODE_TRADES) == false) {}/Realice la supervisión de parada en Buy Trade if (OrderType () == OP_BUY OrderSymbol () == Símbolo ()) {if (Trailing_Stopgt; 0) {# 91; b # 93; if (Bidgt; -LRB - (((Start_Trailing_Stop_Percent * 0.01) * (Buy_Take_Profit- OrderOpenPrice ())))) OrderOpenPrice ()) {# 91;b # 93; if (OrderStopLoss () lt; Bid-Point * Trailing_Stop) {if (OrderModify (OrderTicket (), OrderOpenPrice (), Bid-Point * Trailing_Stop, OrderTakeProfit (), 0, clrGreen)) return; else {}}}}}/Realizar seguimiento de supervisión en Vender comercio si (OrderType () == OP_SELL OrderSymbol () == Símbolo ()) {if (Trailing_Stopgt; 0) {# 91; b # 93; if (Asklt) ; (OrderOpenPrice () - ((((Start_Trailing_Stop_Percent * 0.01) * (OrderOpenPrice () - Sell_Take_Profit)))))) {# 91;b # 93; if ((OrderStopLoss () gt; (Ask Point * Trailing_Stop)) || (OrderStopLoss () == 0)) {if (OrderModify (OrderTicket (), OrderOpenPrice (), Ask Point * Trailing_Stop, OrderTakeProfit (), 0, clrRed)) return; else {}}}}}}

  6. #6

    Cita Iniciado por ;
    Gracias por la respuesta. Lo hice funcionar haciendo Risk_Percent * 0.01 en lugar de Risk_Percent100. No sé por qué uno trabaja y el otro no, ambos ofrecen la misma respuesta. Si hiciera del Risk_Percent un doble, ¿no podría modificarlo desde el cuadro de entrada? ¿Siempre sería un valor fijo? Deseo ejecutar una parada especial, pero también tengo un poco de problemas con ella. Quiero que comience una parada final una vez que llegue al X% entre OpenOrderPrice y Take_Profit. Puedes echar un vistazo por favor. Los componentes en negrita ...
    Ernie11- Sí, puedes agregar el externo que lo enfrenta. En cuanto a la parada de monitoreo, no consideraría trabajar en ella sin todo el código de EA.

  7. #7
    1 Adjunto (s) Me uniré al EA. Todo eso es una impresión que puse tratando de solucionar el problema. Noté que OrderOpenPrice () en la Lógica de Compra no es exactamente igual al precio abierto cuando se realiza una prueba retrospectiva. Gracias por tomarse el tiempo para verificarlo.
    https://www.forexycfds.com/attachmen...2088120550.mq4

  8. #8
    1 Adjunto (s)
    Cita Iniciado por ;
    Adjuntaré el EA. Todo lo que es una impresión que lugar al intentar solucionar problemas. Noté que OrderOpenPrice () de Buy Logic no es el mismo que el precio disponible cuando backtesting. Gracias por tomarse el tiempo para verificarlo. archivo
    Ernie11- He hecho algunas modificaciones a él - parece funcionar en el ST.
    https://www.forexycfds.com/attachmen...5186796309.mq4

  9. #9
    Hola ciber1. Gracias por la ayuda, acabo de ejecutarlo una vez para ver si funciona y lo hace. La primera vez que implemente el componente de administración de dinero, veré cómo funciona eso. Se supone que debe ayudar para que una transacción no sea más grande que la otra.

  10. #10
    Hola ciber1. Noté que estoy obteniendo un poco de OrderModify 130s de ejecutarlo. ¿Sabes por qué? También mueve el stoploss en el% ingresado pero no lo rastrea desde allí, intentaré traer este componente con todo lo que escribió.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.