Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 804

 
fxsaber:

Stampa il risultato di OrderCheck e la sua struttura completa. Fate lo stesso con OrderSend.

Imposta conti demo su dieci diversi server di trading. E prova il tuo codice lì. Il più delle volte non viene presa in considerazione qualche caratteristica particolare del server di trading, che viene riprodotta quando si controlla nel Mercato.

E non dimenticate di emettere LastError. Tutto questo insieme vi permetterà di capire le cause dell'errore molto rapidamente.


Grazie, farò una prova!
 
Andrii Djola:

Aiutatemi a capire la situazione, ho un EA nello Strategy Tester, tutto va senza errori o problemi su un conto demo, anche nessun problema, ma quando carico l'EA nel mercato, l'Autotester scrive:

Il problema è stato studiato in lungo e in largo. Leggete attentamente l'articolo, si chiama qualcosa come "quali test dovrebbe superare l'EA...".

È tutto descritto lì.

 

Chiedo aiuto per risolvere questo problema. Quando si apre un ordine nel mercato con un volume maggiore di 1 su Moex, si verifica uno strano fenomeno: l'ordine viene scambiato sul mercato e le informazioni sulla negoziazione arrivano parzialmente, per cui OnTrade() viene chiamato prima - come faccio a controllare se voglio aspettare che arrivino tutte le informazioni sull'ordine scambiato?

 
Vladimir Karputov:
Domanda sulla funzione OnTradeTransaction, esempio come catturare la chiusura di una posizione.



Grazie, è venuto fuori che lo stavo facendo bene e la stampa è sbagliata. Il lunedì è più saggio del venerdì, o qualcosa del genere)

Come posso ottenere il prezzo dell'ORDER_TYPE_BUY_LIMIT più vicino tra tutti quelli impostati, in ORDER_PRICE_CURRENT?


 
lil_lil:

Grazie, è venuto fuori che lo stavo facendo bene e la stampa è sbagliata. Il lunedì è più saggio del venerdì, o qualcosa del genere)

Come posso conoscere il prezzo dell'ORDER_TYPE_BUY_LIMIT più vicino tra tutti quelli impostati, a ORDER_PRICE_CURRENT?



Bypassare l'intera lista degli ordini pendenti, selezionare gli ordini pendenti per simbolo corrente, per magik (opzionale), selezionare solo gli ordini pendenti del tipo richiesto:

TIPO D'ORDINE_ACQUISTO_LIMITE

TIPO DI ORDINE_VENDITA_LIMITE

//+------------------------------------------------------------------+
//|                                             Find the nearest.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//---
#include <Trade\OrderInfo.mqh>
COrderInfo     m_order;                      // pending orders object
#property script_show_inputs
//--- input parameters
input ENUM_ORDER_TYPE   order_type=ORDER_TYPE_BUY_LIMIT;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ulong order_ticket=ULONG_MAX;
   double order_distance=DBL_MAX;

   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
      if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==Symbol()/* && m_order.Magic()==m_magic*/)
            if(m_order.OrderType()==order_type)
              {
               double distance=MathAbs(m_order.PriceCurrent()-m_order.PriceOpen());
               if(distance<order_distance)
                 {
                  order_distance=distance;
                  order_ticket=m_order.Ticket();
                 }
              }
   if(order_ticket!=ULONG_MAX && order_distance!=DBL_MAX)
      Comment("Order ",EnumToString(order_type),
              ", ticket ",IntegerToString(order_ticket),
              ", distance ",DoubleToString(order_distance,Digits()));
  }
//+------------------------------------------------------------------+
File:
 
Vladimir Karputov:

Bypassare l'intera lista degli ordini pendenti, selezionare gli ordini pendenti per simbolo corrente, per magik (opzionale), selezionare solo gli ordini pendenti del tipo richiesto:


Grazie, è corso dal fabbro, ha cliccato l'annuncio).

 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 

Non riesco a risolvere un semplice problema.

Nell'EA, quando si ottiene la maniglia dell'indicatore...

int OnInit()
  {
//--- Получить хэндл индикатора Envelopes_upper для отрисовки верхней линии
   EnvHandle_upper=iEnvelopes(NULL,0,Period_upper,0,MODE_SMA,PRICE_MEDIAN,Deviation_upper);

....terminal disegna entrambe le linee, ma io ho bisogno solo della linea superiore.

Come disabilitare il disegno di questa linea? Cioè cambiare il suo colore in CLR_NONE, o lo stile della linea in DRAW_DONE?

 
Puoi dirmi come sottoscrivere il segnale dal tuo telefono? Non c'è un pulsante "iscriviti" sul sito, l'ho guardato tutto... E in mt5 non c'è niente di niente sui segnali (
 
VSPro:
Per favore consigliatemi come posso abbonarmi al segnale dal mio telefono? Il mio dispositivo non ha un pulsante "iscriviti" sul mio sito web... Ho provato ad aprire tutto. In MT5 non c'è niente di niente sui segnali (

Non si può. Devi iscriverti da un computer desktop Windows, e MetaTrader 5 deve essere installato su questo computer.

Motivazione: