Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1199

 
Vitaly Muzichenko:

Forse non capisco qualcosa, ma dovresti usarelong tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); sostituisci il nome della linea, non l'indice, altrimenti non avrai risultati.

Sì, grazie mille. Ho aggiunto una linea in loop e funziona ))))

   for(int i = 0; i < vlines; i++)
   {
      vlines_name[i]    = ObjectName(ChartID(),i,0,OBJ_VLINE);
      long tml          = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME);
      vlines_arr[i][0]  = tml;
      vlines_arr[i][1]  = (long)i;
   }
 

Ciao: Il compito è quello di visualizzare le candele di 2 strumenti sul grafico, ma uno strumento manca di candele in alcuni punti. Dovremmo passare attraverso le barre dello strumento con tutti i dati, confrontando il tempo delle barre di 2 strumenti e quando troviamo una discrepanza, il ciclo dovrebbe continuare per 1 strumento e fermarsi per un altro finché i tempi delle barre non corrispondono, in modo che il grafico abbia valori vuoti dove mancano le barre. Come fare?

 
Come faccio a piazzare un Esperto sul mercato?
Il problema è che quando si aggiunge un esperto, devo selezionare il tipo di esperto. Il mio Expert appartiene al tipo "neuronet", lo scelgo, lo aggiungo, e poi si scopre che è impossibile utilizzare API esterne per ottenere dati in Expert Advisor.
E come può funzionare una rete neurale sul computer dell'utente finale? O dovrei allegare un manuale per l'installazione di Tensoflow + Keras + Ta-Lib + un paio di script in python?

Come si risolve questa questione nella pratica? Sicuramente qualcuno ha fatto degli esperti di reti neurali.
 

Buon pomeriggio a tutti! Si prega di consigliare o correggere il codice. Si richiede di disegnare un istogramma sulla barra zero, altezza 500, colore rosso.

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Red
#property indicator_style1  0
#property indicator_width1  1
#property indicator_minimum 0.0


double                    ExtBuffer[];
double                    ExtColorsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- buffers   
   SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtColorsBuffer,INDICATOR_COLOR_INDEX);
   
//----
  }
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  ExtBuffer[0]=500;
  ExtColorsBuffer[0]=Red;
   
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 
EfDim:

Buon pomeriggio a tutti! Si prega di consigliare o correggere il codice. Si richiede di disegnare un istogramma sulla barra zero, altezza 500, colore rosso.

La barra zero è quella più a sinistra. Tassi correnti_totale-1

 
Alexey Viktorov:

Barra zero, questa è la barra più a sinistra. Tassi correnti_totale-1

Grazie amico!
 

Ciao!

Per favore, aiutatemi a risolvere un problema.

//----------БЛОК 1---------
if(x)
 {
   func_1(a,b);
   ......
 }
//-----------БЛОК 2--------
if(z)
 {
  func(c,d);
  ....
 } 
//---------------------

Questi blocchi devono funzionare nei seguenti modi:

1)Normale, cioè come scritto, controllo delle condizioni di blocco in modo sequenziale

2)Blocco 1: il controllo della condizione x viene annullato e il codice all'interno non viene eseguito; Blocco 2: il controllo della condizione z viene annullato e il codice all'interno viene eseguito incondizionatamente

3)Blocco 1: il controllo della condizione x viene annullato e il codice all'interno viene eseguito incondizionatamente; Blocco 2: il controllo della condizione z viene annullato e il codice all'interno non viene eseguito

Il cambio di modalità deve essere fatto manualmente, nelle impostazioni dell'EA.

(Ho avuto abbastanza immaginazione solo per switch, tre varianti di esecuzione, ma poi il codice si ripete, e vorrei evitarlo. È possibile?).

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 

Buon pomeriggio.

C'è un codice come questo:

         // Нормализация входных данных
         Print(TimeToString((datetime)vlines_arr[i][0]));
         Print("размер buf_Dsl = ",ArraySize(buf_Dsl));
         ArrayPrint(buf_Dsl);
         double d1         = 0.0;
         double d2         = 1.0;
         double x_min      = buf_Dsl[ArrayMinimum(buf_Dsl)];
         double x_max      = buf_Dsl[ArrayMaximum(buf_Dsl)];
         for(int n = 0; n < ArraySize(buf_Dsl); n++)
         {
            inp_Dsl[n]=(((buf_Dsl[n]-x_min)*(d2-d1))/(x_max-x_min))+d1; // array out of range
         }

Non so perché sta combattendo...

2019.09.04 06:00
размер buf_Dsl = 6
 -7.25207 -12.75148 -14.52521 -13.95145 -12.49837  -3.17857
array out of range in '.....' (143,20)
Come posso uscire dalla matrice?
 
Сергей Таболин:

Buon pomeriggio.

C'è un codice come questo:

Non so perché si acciglia...

Come si fa ad andare oltre la matrice?

In realtà è maledetto ainp_Dsl[n]

 
Vladimir Karputov:

In realtà èinp_Dsl[n] ad essere maledetto.

Giusto. Non ha impostato la dimensione... Grazie.