Domande da un "manichino" - pagina 91

 
x100intraday:

Ho trovato quello che mi interessava qui (non ho trovato niente del genere nell'aiuto): http://zulman.googlecode.com/svn/trunk/MT5/Indicators/ColorCandles.mq5. È corretto combinare nel vostro indicatore ciò che chiedevo, o non proprio, ma in questo esempio è praticato e funziona senza problemi.

Chi ha detto che non si può fare così? È scritto nella guida che si può copiare in un buffer di indicatori. Da un altro indicatore.
 
Rosh:
Chi ha detto che non si può fare? Nell'aiuto si dice che si può copiare nel buffer dell'indicatore. Da un altro indicatore.
È così semplice. Avevo iniziato a copiare gli errori usando la costruzione di cui sopra e proprio lì è sorto un sospetto: forse è proibito? Quando ho guardato il riferimento per chiarimenti, ho scoperto che contiene molti esempi di SetIndexBuffer+CopyBuffer+INDICATOR_DATA, ma insieme a INDICATOR_CALCULATIONS non ho trovato alcun esempio e ho deciso che questa potrebbe essere una sfumatura che dovrebbe essere studiata più a fondo. Ma si è rivelato più semplice.
 

Gente, non riesco a capire perché ci sono accordi nel primo caso e nessun accordo nel secondo?

void OnTick()
{
//double TIK = SymbolInfoDouble(_Symbol,SYMBOL_BID);
OPEN();
}
void OPEN()
  {
   MqlTradeRequest mrequest;                            
   MqlTradeResult mresult;                                   
      mrequest.action = TRADE_ACTION_DEAL;              
      mrequest.symbol = _Symbol;                      
      mrequest.volume = 1;    
      mrequest.price = SymbolInfoDouble(_Symbol,SYMBOL_BID);                   
      mrequest.sl = 0;                                 
      mrequest.tp = 0;                               
      mrequest.deviation = 5;                             
      mrequest.type= ORDER_TYPE_SELL;                   
      mrequest.type_filling = ORDER_FILLING_FOK;  
      OrderSend(mrequest,mresult);                       
  }

void OnTick()
{
double TIK = SymbolInfoDouble(_Symbol,SYMBOL_BID);
OPEN();
}
void OPEN()
  {
   MqlTradeRequest mrequest;                            
   MqlTradeResult mresult;                                   
      mrequest.action = TRADE_ACTION_DEAL;              
      mrequest.symbol = _Symbol;                      
      mrequest.volume = 1;    
      mrequest.price = SymbolInfoDouble(_Symbol,SYMBOL_BID);                   
      mrequest.sl = 0;                                 
      mrequest.tp = 0;                               
      mrequest.deviation = 5;                             
      mrequest.type= ORDER_TYPE_SELL;                   
      mrequest.type_filling = ORDER_FILLING_FOK;  
      OrderSend(mrequest,mresult);                       
  }
 

heh, ti ho fatto una domanda? prova a copiare il codice ed eseguirlo nel tester))) forse le mie mani sono sbagliate)) infatti, in teoria, la linea

double TIK = SymbolInfoDouble(_Symbol,SYMBOL_BID);

non influenzerebbe l'operatività di Expert Advisor.

 
AUser:

heh, ti ho fatto una domanda? prova a copiare il codice ed eseguirlo nel tester))) forse le mie mani sono sbagliate)) infatti, in teoria, la linea

non influenzerebbe l'operatività di Expert Advisor.

Sono d'accordo, ma è meglio fornire dettagli per la riproduzione. Scrivete al Service Desk, per favore.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
AUser:

heh, ti ho fatto una domanda? prova a copiare il codice ed eseguirlo nel tester))) forse le mie mani sono sbagliate)) infatti, in teoria, la linea

non influenzerebbe l'operatività di Expert Advisor.

La struttura di MqlTradeRequest ha più campi di quelli che usate, e quindi contengono spazzatura.
Il punto è che la variabile mrequest è locale (è nello stack) e la presenza o l'assenza di altri locali
le variabili che si trovano nello stack influenzano il contenuto dei campi non inizializzati.
In un caso si è "fortunati" e appaiono valori adatti a OrderSend, mentre in un altro caso no.

Usate ZeroMemory per azzerare completamente la struttura.
 

Se si guarda alle piattaforme in generale, l'importazione di DLL è una cosa? Un'eccezione disponibile in MQL o la norma?

 
220Volt:

Se si guarda alle piattaforme in generale, le importazioni di DLL sono cosa? Un'eccezione disponibile in MQL o la norma?

è un complimento a MQL o non sapete come sono le altre piattaforme?
 
sergeev:
è un complimento a MQL o non conosci altre piattaforme?
È una domanda aperta, mi sto chiedendo se vale la pena trasferire la base dei miei sviluppi in una DLL, per una transizione flessibile. Non mi piace la prospettiva di riscrivere tutto ogni volta
 
220Volt:
Mi sto chiedendo se dovrei spostare la base del mio lavoro nella DLL, per una transizione flessibile.
O sei preoccupato che il supporto DLL sia disattivato?