Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 332

 
Basicprof:

Perché quando creo una freccia.Create(0, "ArrowCheck",0,TimeCurrent(),1.14565) daMQL5Standard Library l'oggetto viene creato e immediatamente cancellato.

Molto probabilmente, non avete disconnesso(Detach()) l'oggetto grafico dall'oggetto freccia.
 

Ciao a tutti!

Il compito è quello di trovare un analogo di rates_total in un Expert Advisor.

Trasferire una matrice da un indicatore a un Expert Advisor. Numerazione secondo il numero della barra nella storia 1 -> tassi_totale

ArraySetAsSeries(Lx_Indikator,false);

Il problema: quando il parametro - barre non corrisponde alla dimensione dell'array nell'indicatore, i valori si confondono nell'output.

 int bars=Bars(_Symbol,_Period);
 int copy=CopyBuffer(MA_handle,0,0,bars,Lx_Expert);

Anche se per logica, ho bisogno di dati a partire daLx_Expert[1], quindi la dimensione dell'array copiato non ha importanza, ma si scopre che è così.

2017.10.09 20:35:03.055 Indicatore (EURUSD,M5) range = 14165
2017.10.09 20:35:04.303 Indicatore (EURUSD,M5) LxIndikator[1] 1507552800.0
2017.10.09 20:35:04.303 Indicatore (EURUSD,M5) LxIndikator[2] 1.173416294117647
2017.10.09 20:35:04.304 Indicatore (EURUSD,M5) LxIndikator[3] 1.0
2017.10.09 20:35:04.304 Esperto (EURUSD,M5) barre = 14000
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[1] 1,17194
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[2] 14152.0

2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[3] 85.0



 
Top2n:

Problema: quando il parametro - barre non corrisponde alla dimensione dell'array nell'indicatore, l'output è confuso dai valori.

Sincronizzate il numero di barre tra l'indicatore e l'Expert Advisor?

 

Ciao, potresti dirmi come selezionare l'ultimo ordine nel ciclo dell'ordine?

for(int i=1; i<OrdersTotal(); i++)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

È così che si seleziona il primo se c'è un prossimo. Come faccio a selezionare l'ultimo ordine? Se qualcuno lo sa, per favore scriva!

 
vikzip:

Ciao, potresti dirmi come selezionare l'ultimo ordine nel ciclo dell'ordine?

È così che si seleziona il primo se c'è un prossimo. Come faccio a selezionare l'ultimo ordine? Se qualcuno lo sa, per favore scriva!


Cercate di andare da questa parte.

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

L'ultimo non funziona così?

if(OrderSelect(OrdersTotal(),SELECT_BY_POS))  
 
Aleksey Vyazmikin:

Prova in questo modo

L'ultimo non funziona così?

Almeno consigliare correttamente... Avete bisogno di OrdersTotal()-1.
 
Alexey Kozitsyn:
Almeno consigliare correttamente... Avete bisogno di OrdersTotal()-1.

Così ho chiarito se funziona così o no ;)

Non lo so esattamente, perché non ho mai avuto a che fare con i mandati io stesso - lavoro con una classe per ordine.

 
Aleksey Vyazmikin:

Così ho chiarito se funziona così o no ;)

Non lo so esattamente, perché non ho avuto a che fare con i mandati io stesso - lavoro con una classe per ordine.

Per te e per la persona che volevi aiutare: non funziona così. Otterrete un errore.

Ed è auspicabile occuparsene, perché è la base per lavorare con tutti gli array in mql.

 

Grazie per il vostro aiuto! Quindi la cosa giusta da fare sarebbe scrivere?

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS))                   //Выбор последнего??
   {    
 
vikzip:

Grazie per il vostro aiuto! Quindi la cosa giusta da fare sarebbe scrivere?

Trova il codice che ti serve qui

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...