Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 900

 
Sile Si:

Senza dubbio il consigliere collegato a si modifica vtbr

Se si attacca un EA a vtbr non modifica il si, lavora solo sul proprio strumento


Ha qualche spiegazione per questo?

Non c'è nessuna modifica nel codice, tranne questa:

Allega le linee di log che mostrano la modifica (non risparmiare le linee - prendi + 3 dall'alto e dal basso)


Aggiunto.

E mostrare OnInit().

 
Vladimir Karputov:

Allega le linee di log che mostrano la modifica (non risparmiare le linee - prendi + 3 in alto e in basso)


Aggiunto.

E mostrare OnInit().

Situazione: cancello T/R manualmente, EA lo rimette.

NDP

int OnInit()
  {
   if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
     {
      //Alert("Automated trading is forbidden in the program settings for ",__FILE__);
      return(false);
     }
   входить=входить_;
   handle_iCustom=iATR(Symbol(),ATRtimeframe,ATRper);
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

//
   handle_iCustom_2=iATR(Symbol(),ATRtimeframeStep,ATRperStep);

   if(handle_iCustom_2==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }
//

   handle_iMA=iMA(Symbol(),Time_Frame_MA,Period_MA,0,MODE_SMA,PRICE_CLOSE);
//--- if the handle is not created 
   if(handle_iMA==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

   m_hline_name_buy=Symbol()+" "+m_hline_name_buy;
// m_hline_name_sell=Symbol()+" "+m_hline_name_sell;

   HLineCreate(0,m_hline_name_buy,0,0.0,clrLime,2);
//---
//---
   if(InpLot<=0.0)
     {
      Print("The \"Lot\" can't be smaller or equal to zero");
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   if(!m_symbol.Name(Symbol())) // sets symbol name
      return(INIT_FAILED);
   RefreshRates();

   string err_text="";
   if(!CheckVolumeValue(InpLot,err_text))
     {
      Print(err_text);
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
   if(IsFillingTypeAllowed(SYMBOL_FILLING_FOK))
      m_trade.SetTypeFilling(ORDER_FILLING_FOK);
   else if(IsFillingTypeAllowed(SYMBOL_FILLING_IOC))
      m_trade.SetTypeFilling(ORDER_FILLING_IOC);
   else
      m_trade.SetTypeFilling(ORDER_FILLING_RETURN);
//---
   m_trade.SetDeviationInPoints(m_slippage);
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   m_adjusted_point=m_symbol.Point()*digits_adjust;
   ExtZeroLevel=InpZeroLevel*m_adjusted_point;
   ExtTrailingStop=InpTrailingStop*m_adjusted_point;
   ExtTrailingStep=InpTrailingStep*m_adjusted_point;
//-
   ExtTakeProfit=TakeProfit*m_adjusted_point;
   ExtSL=StopLoss*m_adjusted_point;
   ExtStep=InpStep*m_symbol.Point();
//---
   return(INIT_SUCCEEDED);
  }
 
Sile Si:

Situazione: cancello il T/P manualmente, l'EA viene rimesso su.

Si prega di dare informazioni: testo completo di EA, su quale server si connette, quanto equilibrio, quale build di terminale. Vorrei controllare.

Solo una cosa: se si prova NON su MetaQuotes-Demo, ma sul server di scambio - qui senza di me.

 
Vladimir Karputov:

Per favore dammi qualche informazione: il testo completo dell'EA, a quale server ti connetti, quanto è il saldo, quale build del terminale. Vorrei controllare.

Solo una cosa: se state testando NON su MetaQuotes-Demo, ma su un server di scambio - qui senza di me.

Questo è FORTS. E se il problema si verifica solo in un posto e con un futuro specifico, forse è più facile passare attraverso il debugger? Mi dispiace, mi sono confuso. Sembra che il debugger non funzioni su Expert Advisors.

 
Sergey Savinkin:

Questo è FORTS. E se il problema si verifica solo in un posto e con un particolare futuro, forse è più facile passare attraverso il debugger?

 
Sile Si:

Situazione: cancello il T/P manualmente, il consulente lo rimette dentro.

Eseguite questo codice:ListPositions.

Controlla che il tipo di posizione (COMPRA o VENDI) e il nome del simbolo corrispondano. Bisogna anche specificare il NOME del server di trading e il BILD del terminale.

 
Vladimir Karputov:

Eseguite questo codice:ListPositions.

Controlla che il tipo di posizione (COMPRA o VENDI) e il nome del simbolo corrispondano. Dovete anche specificare NOME del server di trading e BILD del terminale.

Risultato:

rn

costruireopen-broker ultimo, 1881. Su vtbr imposta T/R=0 e sullo strumento di qualcun altro si, imposta T/R che dovrebbe essere su vtbr.

Vladimir Karputov:. Sul server di scambio - qui senza di me.

A chi rivolgersi?

 
Sile Si:

Risultato:

Costruire l'ultimoopen-broker.

Chi devo contattare?

Ho un conto presso FORTS bx. Puoi mandarmi l'EA e le sue impostazioni? Se non volete "illuminare" la logica dell'EA, potete inviarmi qualsiasi versione tagliata, a condizione che si possa simulare un errore. E i forti chiuderanno tra due ore.

E una descrizione dettagliata di come simulare un errore.
 
Sergey Savinkin:

Ho un conto FORTS bx. Puoi inviarmi l'EA e le impostazioni. Se non si vuole rendere la logica dell'EA "leggera", si può buttare dentro qualsiasi versione tagliata, purché si possa simulare un errore. E Forti chiuderà tra due ore.

Cosa nascondere, ingresso da MA, media) Guarda il PM, per favore.

C'è un sacco di roba extra all'interno che è rimasta dopo aver lavorato su un conto di copertura.

 
Sile Si:

Risultato:

costruireopen-broker ultimo, 1881. Su vtbr mette T/P=0 e sullo strumento di qualcun altro, si, mette T/P che dovrebbe essere su vtbr.

Chi devo contattare?

Grazie per il chiarimento.

Se usi un codice molto simile ai miei esempi, mandami il tuo EA. Ora sto registrando gli scambi in modo più dettagliato. Lo guarderò e correggerò il codice. Lo controllerò più tardi.

Motivazione: