Errori, bug, domande - pagina 2534

 
Alexey Navoykov:
L'inline è una reliquia, secondo me. Il compilatore inlinea tutto bene da solo, quindi non c'è bisogno di sovraccaricare il codice. E in MQL questo specificatore non è niente, aggiunto solo per compatibilità (non so per cosa, se si potesse dichiarare una tale macro da soli).
E chi può garantire che il compilatore ha inlineato 100500 chiamate della funzione GetTo() in un ciclo, se la chiamata è preceduta da if(qualcosa) e questo qualcosa è falso una volta in cinque anni?
Trovo più facile scrivere in linea che cercare nel codice del disassemblatore per controllarlo.
 
Vladimir Simakov:
Chi può garantire che il compilatore inlini 100500 chiamate a GetTo() in un ciclo, se la chiamata è preceduta da if(qualcosa) e questo qualcosa è falso una volta in cinque anni?
Trovo più facile scrivere in linea che guardare il codice del disassemblatore per controllarlo.
Mi scusi, sta smontando i codici ex4, ex5?
 
Artyom Trishkin:
Scusa, stai smontando i codici ex4, ex5?

Artyom, come moderatore per favore aiutami con questo, ho scritto prima :

"Per gli amministratori del sito:

Non ho trovato dove, sto scrivendo qui

Necessità di cambiare i dettagli del venditore nel profilo.

come fare?

Ho scritto un messaggio molto tempo fa nell'account del venditore, nessuna risposta.

forse c'è un altro modo?

"

 
Andrey Egorov:

Artyom, come moderatore per favore aiutami con questo, ho scritto prima :

"Per gli amministratori del sito:

Non ho trovato dove, sto scrivendo qui

Necessità di cambiare i dettagli del venditore nel profilo.

come fare?

Ho scritto un messaggio molto tempo fa nell'account del venditore, nessuna risposta.

forse c'è un altro modo?

"

Scrivete a questo thread (+ passate la vostra richiesta all'amministrazione):

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • 2010.03.08
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
Artyom Trishkin:
Mi scusi, smonta i codici ex4, ex5?
No. C'è una complessità fondamentale?
Da non confondere con la decompilazione - sono cose diverse.
 
Vladimir Simakov:
No. C'è una complessità fondamentale?
Da non confondere con la decompilazione - sono cose diverse.

Ho fatto una domanda specifica. Hai dato una risposta specifica.

E "confondere qualcosa con qualcosa" è una tua invenzione. Per favore non si preoccupi - lo so, e non sono confuso, e le sue altre domande sono ridondanti qui.

 
Vladimir Simakov:
E chi può garantire che il compilatore ha intarsiato 100500 chiamate alla funzione GetTo() in loop, se questa chiamata è preceduta da if(qualcosa) e questo qualcosa è falso una volta in cinque anni?
Trovo più facile scrivere in linea che guardare il codice del disassemblatore per controllarlo.

E sei riuscito a ottimizzare molto con le tue inline in modalità Release? )

p.s. Non eri tu quello che stava giocando con gli allineamenti l'altro giorno?

 

Amici miei, potete dirmi cosa sta facendo? Tutto ha funzionato bene per un mese, ma ho osato caricare un deposito e ora ho un errore - il karma è nero :(

Ecco la chiamata dell'indicatore dall'Expert Advisor

//+------------------------------------------------------------------+
//|значение Regressor Номера буферов: 0 - Up, 1 - Center, 2 - Low    |
//+------------------------------------------------------------------+
double Regressorf(int Bufer,int index)
  {
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_Regressor,Bufer,index,1,MA)<0)
     {
      Print("handle_Regressor: Bufer=",Bufer," index=",index);
      PrintFormat("Failed to copy data from the handle_Regressor indicator, error code %d",GetLastError());
      return(0.0);
     }
   Print("handle_Regressor: Bufer=",Bufer," index=",index," arr=",MA[0]);
   return MA[0];
  }

Da luglio ho testato attivamente tutto su un account reale sotto i miei occhi, non c'era nessun errore, e ora ce l'ho :(

2019.08.15 20:51:11.827 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=1 index=627
2019.08.15 20:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=0 index=627
2019.08.15 20:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=2 index=627
2019.08.15 20:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:54:17.867 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=1 index=627

Cosa può essere? Allo stesso tempo l'indicatore stesso funziona visivamente, la reinizializzazione dell'EA ha risolto il problema.

 

Buon pomeriggio!

Potrebbe essere una domanda stupida, ma non riesco a capire cosa sto sbagliando. Ho iniziato a imparare MQL5 ed è sorto il primo problema. Non posso utilizzare lo script per l'apertura immediata di un ordine (acquisto/vendita, qualsiasi ordine). Ho appena preso il codice pronto da MQL5 Reference e ho provato ad eseguirlo (allegando lo script alla finestra del grafico). Non ha funzionato. Durante la compilazione non si sono verificati errori, ovviamente. Non posso allegarlo al grafico. Forse è tutto ovvio, ma sono in perdita.

#define  EXPERT_MAGIC 123456   // MagicNumber эксперта
//+------------------------------------------------------------------+
//| Открытие позиции Buy                                             |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- объявление и инициализация запроса и результата
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
//--- параметры запроса
   request.action   =TRADE_ACTION_DEAL;                     // тип торговой операции
   request.symbol   =Symbol();                              // символ
   request.volume   =0.1;                                   // объем в 0.1 лот
   request.type     =ORDER_TYPE_BUY;                        // тип ордера
   request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
   request.deviation=5;                                     // допустимое отклонение от цены
   request.magic    =EXPERT_MAGIC;                          // MagicNumber ордера
//--- отправка запроса
   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());     // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
  }

Per favore consigliatemi, cosa c'è di sbagliato? O il codice è corretto e io sono solo maldestro?

 
Kelser05:

Buon pomeriggio!

Potrebbe essere una domanda stupida, ma non riesco a capire cosa sto sbagliando. Ho iniziato a imparare MQL5 ed è sorto il primo problema. Non posso utilizzare lo script per l'apertura immediata di un ordine (acquisto/vendita, qualsiasi ordine). Ho appena preso il codice pronto da MQL5 Reference e ho provato ad eseguirlo (allegando lo script alla finestra del grafico). Non ha funzionato. Durante la compilazione non si sono verificati errori, ovviamente. Non posso allegarlo al grafico. Forse tutto è chiaro, ma sono in perdita.

Per favore, ditemi cosa c'è che non va? O il codice è corretto e io sono solo maldestro?


Cosa c'è scritto nel diario?
Motivazione: