[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 233

 
Gracias. Lo investigaré.
 

Hola Estimados Gurús de MT4.

¿Pueden decirme cómo evitar la situación cuando OrderSend devuelve -1, pero el pedido se abre?

 
ftrw:

¿Pueden decirme cómo evitar la situación en la que OrderSend devuelve -1, pero el pedido se abre?

Pruebe a utilizar esta función - Función OpenPosition() para la conexión.
 
artmedia70:
Para una posición abierta a 1500, una toma a 1570 estaría bien (si no se tiene en cuenta el StopLoss), pero para una posición abierta a 1600, una toma a 1570 causaría el error 130 - stops equivocados. Al fin y al cabo, una Toma no puede ser inferior al precio de apertura de una Compra. Esto ya es un StopLoss.
Para dos posiciones has definido tu punto de equilibrio, pero ¿para tres-cuatro-cinco?
Primero debe definir la fórmula de equilibrio para las posiciones unidireccionales, y luego puede crear una lógica.

Estoy de acuerdo en que debemos hacer un StopTLoss en una orden con un precio de 1600

en la apertura de la orden se inicia la función:

ticketBuy = OpenPendingOrderBuy(0, iLots, Ask, slip, Bid, 0, 0, EAName + "-" + NumOfTradesBuy, MagicNumber, 0, Lime)
todos los demás pedidos tendrán la misma apertura
 
Vinin:

Cuando fijamos o cambiamos el TakeProfit, todo depende de cuándo lo fijamos o cambiamos. Se calcula a partir del precio actual.

recuento entre órdenes: ((Ask - OrderBuy2) - swop - ...) + ((Ask - OrderBuy1) - swop - ...) = Beneficio, obtenemos el número de puntos que podemos perder ya que están en el lado positivo

((Pedido - PedidoCompra3) -/+ intercambio -/+ ...) + ((Ask - OrderBuy2) - swop - ...) + ((Ask - OrderBuy1) - swop - ...) = Beneficios

Ask = 1620; Ask = 1760; OrderBuy3 = 1700

((1620 - 1500) - 4 - 6) + ((1620 - 1600) - 4 - 6) = 120; para 3 o más añadimos ((1760 - 1700) - 4 - 6) + ((1760 - 1500) - 4 - 6) + ((1760 - 1600) - 4 - 6) = 450

LoteCompra1 = 0,01; LoteS = 0,01

LoteOrdenCompra2 = 0,02; LoteS = 0,03

LoteOrdenCompra3 = 0,03; LoteS = 0,06

Total LotesS = LoteCompra1 + LoteCompra2 = 0,03; para 3 o más añadimos

Y aquí tenemos que entender cuántos lotes tenemos que pasar, lo que comería 120 puntos o la suma de la ganancia en dinero.

Para obtener StopProfit

Ask - StopProfit * Point = LineTakeProfit para OrderBuy1 y LineStopLoss para OrderBuy2

LotesS = 0,06

Así es como yo lo veo.

 
Roman.:
Pruebe a utilizar esta función - Función OpenPosition() para la conexión.

Muchas gracias. La idea está clara, la probaré.
 
trol222:

¿Puede alguien aclarar este punto? Aquí está el enlace https://www.mql5.com/ru/code/8102. El script (Asesor Experto adjunto) . ¿Por qué al calcular cualquier cosa en el mismo archivo de excel (CSV) cuando lo cierras (por supuesto escribe donde guardar - pincho en el mismo archivo (en lugar de él)) y cuando vuelves a abrir el terminal y el archivo desaparecen todos los cálculos?

Bueno, en primer lugar es CSV, no es el mejor formato para guardar los cálculos, y en segundo lugar el script sobrescribe este archivo.
 
PapaYozh:



¡¡¡¡Está trabajando!!!! =))))) realmente no es como debería ser, pero estoy muy contento =))) mi más profunda gratitud =))))
 
belck:

recuento entre órdenes: ((Ask - OrderBuy2) - swop - ...) + ((Ask - OrderBuy1) - swop - ...) = Beneficio, obtenemos el número de puntos que podemos perder ya que están en el lado positivo

((Pedido - PedidoCompra3) -/+ intercambio -/+ ...) + ((Ask - OrderBuy2) - swop - ...) + ((Ask - OrderBuy1) - swop - ...) = Beneficios

Ask = 1620; Ask = 1760; OrderBuy3 = 1700

((1620 - 1500) - 4 - 6) + ((1620 - 1600) - 4 - 6) = 120; para 3 o más añadimos ((1760 - 1700) - 4 - 6) + ((1760 - 1500) - 4 - 6) + ((1760 - 1600) - 4 - 6) = 450

LoteCompra1 = 0,01; LoteS = 0,01

LoteOrdenCompra2 = 0,02; LoteS = 0,03

LoteOrdenCompra3 = 0,03; LoteS = 0,06

Total LotesS = LoteCompra1 + LoteCompra2 = 0,03; para 3 o más añadimos

Y aquí tenemos que entender cuántos lotes tenemos que pasar, lo que comería 120 puntos o la suma de la ganancia en dinero.

Para obtener StopProfit

Ask - StopProfit * Point = LineTakeProfit para OrderBuy1 y LineStopLoss para OrderBuy2

LotesS = 0,06

Así es como yo lo veo

He visto la respuesta a tu pregunta una vez. Incluso lo encontraré ahora. Aquí:


¿Cómo calcular cuántos puntos (en puntos) puede bajar el precio en condiciones de mercado negativas?


fórmula de enlace: Lote=Dinero/(Stoplos*Tick)
Dinero - ganado/perdido
Stoplos - en puntos de broker
Tick - MarketInfo(Symbol(), MODE_TICKVALUE)
A partir de aquí, gira como quieras:
Stoplos=Dinero / (Lote*Tick)
Dinero=Lote*Stoplos*Tick

Si tienes algún código, puedes utilizarlo también:

Cálculo del nivel de CUE para un conjunto de un instrumento:

total de lotes = posición total (SP)

valor del tick = ST

Beneficio SP = ST

La fórmula de cálculo es bastante sencilla:

KP = PSP / (ST * SP)

En el que averiguamos el número de pips(KP) hasta el nivel de la CU en relación con el precio actual(TP) del símbolo.

Y sustituyendo KP en la fórmula CU = TC - KP * Punto obtenemos el nivel de precios CU.

En función de la dirección de la JV, se elige si se suma o se resta al TC.
 

El terminal no ve el historial



240
vitali_yv 04.10.2011 09:47
Buen día. Tengo dos ordenadores con Win 7. En uno de ellos tengo el terminal con comillas del 2007, todo funciona bien pero no tengo conexión con el servidor. He portado este terminal a otro ordenador completamente - no me he conectado al servidor, no he hecho ninguna manipulación - es más, ese terminal se inicia con 2-3 minutos, y el historial comienza con 2011, los archivos HST son de sólo lectura. Por favor, aconseja dónde cavar.