Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1709

 
Andrey I.R.O.V #:
Por favor, dime si alguien sabe cómo conectar MT4 o MT5 con PHP? El robot de trading debe trabajar en el servidor, solicitar cotizaciones a un broker y crear/cancelar/supervisar órdenes. El broker sólo tiene terminales MT4 y MT5, no tiene API :) ¿O soy un estúpido y no pasa nada?

se puede hacer. Todo se puede hacer.

Pero está garantizado que se ralentizará en php, no está diseñado para tales fines.

Y luego la sintaxis de MQL es casi la misma, sabiendo php puedes dominar mql en una semana.

 
MakarFX #:
no necesitas todo el código, sólo el de OrderSend

así que es bastante simple

ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "open buy order", Magic, 0, Blue);

o

ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "open Sell order", Magic, 0, Red);


La situación es que sigo conectando esas o esas operaciones a través de bool. Y tengo muchos. Te dije que es más fácil para mí eliminar lo innecesario.

 
Alexey Viktorov #:

Es más fácil insertar una impresión con las condiciones de apertura de una orden usted mismo. Lo más probable es que las condiciones de apertura de la orden se guarden después de abrir la primera orden. Por ejemplo, el número de órdenes abiertas == 0 y después de abrir la primera orden, este valor no ha cambiado...

Se entiende el sentido de tu conjetura, probablemente así sea pero prácticamente cómo encontrar ese "ahorro". El código es enorme.

 
Порт-моне тв #:

así que es bastante simple

ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "open buy order", Magic, 0, Blue);

o

ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "open Sell order", Magic, 0, Red);


La situación es que sigo conectando esas o esas operaciones a través de bool. Y tengo muchos. Te digo que para mí es más fácil eliminar lo innecesario.

Sólo una nota: los lotes deben estar alineados. Aunque sólo sea una multiplicación por un número entero.

 
Maxim Kuznetsov #:

Sólo una nota: los lotes tienen que estar alineados. Incluso si sólo se multiplica por un número entero

¿qué es la "alineación"? Gracias, por supuesto, pero eso no es lo que me preocupa.

 
Порт-моне тв #:

Entiendo lo esencial de tu conjetura, probablemente sea así, pero prácticamente cómo encontrar ese "ahorro". El código es enorme.

Aquí están las huellas para ayudarle a encontrarlas...

 
Alexey Viktorov #:

Las huellas le ayudarán a encontrarlas...

Bueno, puedo ver en el historial del probador dónde, cuándo y con qué parámetros. ¿Qué pasa?

 
Maxim Kuznetsov #:

se puede hacer. Todo se puede hacer.

Pero está garantizado que se ralentizará en php, no está diseñado para tales fines.

Y luego la sintaxis de MQL es casi la misma, sabiendo php puedes dominar mql en una semana.

Gracias por los consejos, ya tengo un poco más claro en mi cabeza cómo y qué hacer. También puedo hacerlo en MQL, siempre que sea un VPS
 

Chicos, no hace falta ser redundante. Como eliminar dos pedidos con el mismo precio, lote y hora de apertura y ¡ya está! Será suficiente. En el probador de 100000 pedidos ocurrió realmente 4 veces. Es decir, ocurre muy raramente, pero debido a uno de esos dobletes, la estrategia se alejó.

 
Порт-моне тв hora de apertura y ¡ya está! Eso será suficiente. En el probador de 100000 pedidos ocurrió realmente 4 veces. Es decir, ocurre muy raramente, pero uno de esos dobles ocurrió, y la estrategia se alejó por ello.

Hazlo y no habrá duplicación.

if(OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "открыт ордер на покупку", Magic, 0, Blue))
   {Print("OpenBuy");}
if(OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "открыт ордер на продажу", Magic, 0, Red))
   {Print("OpenSell");}
Razón de la queja: