Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1709

 
Andrey I.R.O.V #:
Por favor me diga se alguém sabe como conectar o MT4 ou MT5 com PHP ? O robô comercial deve trabalhar no servidor, solicitar cotações a um corretor e criar/cancelar/monitorar ordens. O corretor só tem terminais MT4 e MT5, não tem API :) Ou sou estúpido e isso não acontece de jeito nenhum?

pode ser feito. Qualquer coisa pode ser feita.

Mas é garantido o abrandamento em php, ele não é projetado para tais propósitos.

E então a sintaxe do MQL é quase a mesma, conhecendo o php você pode dominar o mql em uma semana.

 
MakarFX #:
você não precisa de todos os códigos, apenas o OrderSend

por isso é muito simples

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

ou

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


A situação é que eu ainda conecto essas ou aquelas operações através de bool. E há muitos deles. Eu lhe disse, é mais fácil para mim remover desnecessariamente.

 
Alexey Viktorov #:

É mais fácil inserir uma impressão com as condições para abrir um pedido você mesmo. O mais provável é que as condições de abertura do pedido sejam salvas após a abertura do primeiro pedido. Por exemplo, o número de pedidos abertos == 0 e depois que o primeiro pedido foi aberto, este valor não mudou...

O significado do seu palpite é compreendido, provavelmente é assim que acontece, mas praticamente como encontrar essa "salvação". O código é enorme.

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

por isso é muito simples

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

ou

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


A situação é que eu ainda conecto essas ou aquelas operações através de bool. E há muitos deles. Estou lhe dizendo, é mais fácil para mim remover desnecessariamente.

Apenas uma nota: os lotes devem ser alinhados. Mesmo que seja apenas a multiplicação por um número inteiro.

 
Maxim Kuznetsov #:

apenas uma nota: Muitos têm de ser alinhados. Mesmo se apenas multiplicar por um número inteiro

o que é "alinhamento"? Obrigado, é claro, mas não é isso que me incomoda.

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

Entendo a essência de sua conjectura, provavelmente é assim que funciona, mas praticamente como encontrar este "salvar". O código é enorme.

Aqui estão as gravuras para ajudá-lo a encontrá-las...

 
Alexey Viktorov #:

As impressões o ajudarão a encontrá-las...

Bem, posso ver pela história no testador onde, quando e com que parâmetros. O que dá?

 
Maxim Kuznetsov #:

pode ser feito. Qualquer coisa pode ser feita.

Mas é garantido o abrandamento em php, ele não é projetado para tais propósitos.

E então a sintaxe do MQL é quase a mesma, conhecendo o php você pode dominar o mql em uma semana.

Obrigado pelas dicas, já está um pouco mais claro em minha cabeça como e o que fazer. Posso fazê-lo também em MQL, desde que seja em VPS
 

Rapazes, não é preciso ser redundante. Assim como remover dois pedidos com o mesmo preço, lote e tempo de abertura e é isso! Isso será suficiente! No testador, de 100.000 pedidos, aconteceram realmente 4 vezes. Ou seja, isso acontece muito raramente, mas por causa de um desses doublet, a estratégia se afastou.

 
Порт-моне тв tempo de abertura e é isso! Isso será suficiente! No testador, de 100.000 pedidos, aconteceram realmente 4 vezes. Ou seja, muito raramente acontece, mas um desses duplos aconteceu, e a estratégia se afastou por causa disso.

Faça isso e não haverá dobras.

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");}