Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1222

 
Aleksey Mavrin:

Necessario)

Alexey, grazie!

Dite gentilmente a una persona inesperta:
che ruolo dovrebbe (potrebbe) avere la cartella MQL5/Sounds nella nostra vita? (la mia domanda è all'inizio della pagina 1221)

 

Potete dirmi perché la barra cambia la sua posizione sul grafico solo quando arriva un nuovo tick? MT5, build Just2Trade del 5 giugno

#include <Controls\Dialog.mqh>
#include <Controls\Button.mqh>
CAppDialog Main;
CBmpButton nadpr, nadlos, nadot;
CBmpButton podpr, podlos, podot;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,true);
   Main.Create(0,"Main",0,50,50,260,130);
   Main.Run();
      
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Main.Destroy(reason);
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события   
                  const long& lparam,   // параметр события типа long 
                  const double& dparam, // параметр события типа double 
                  const string& sparam)  // параметр события типа string
{
  Main.OnEvent(id,lparam,dparam,sparam);
}
 
Nikita Chernyshov:

Potete dirmi perché la barra cambia la sua posizione sul grafico solo quando arriva un nuovo tick? MT5, build Just2Trade del 5 giugno

Confronta il tuo codice e l'esempio del pannello della cartella standard [data folder]\MQL5\Experts\Examples\Controls\Controls.mq5

 

Buon pomeriggio, una domanda per gli intenditori:

Sto cercando di costruire una costruzione del genere - una funzione, quattro variabili sono alimentate da link come parametri e un array da cui i dati saranno ottenuti all'interno della funzione per calcolare queste quattro variabili. Ci sono due array di questo tipo (da passare nella funzione) nel programma - gli estremi superiore e inferiore dello zigzag. La funzione dovrebbe calcolare i punti per disegnare la linea di tendenza.

La domanda - come controllare quale dei due array è usato in una particolare iterazione, per applicare + o - al calcolo?

Se la formulazione è imbarazzante, chiedete ancora, vi spiegherò con piacere. In allegato qui c'è uno schema di costruzione.

//+------------------------------------------------------------------+ 
//| Вычисляем значения точек привязки трендовых линий                | 
//+------------------------------------------------------------------+ 
void CalculateTrendPoints(datetime &time_1, double &price_1, 
                          datetime &time_2, double &price_2, double &zigbuf[])  
{
   int ind_time_1, ind_time_2;
   int size_zigbuf = ArraySize(zigbuf);
   for(int i = 0; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
      price_1    = zigbuf[i];
      ind_time_1 = i;
   for(int i = ind_time_1 + 1; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
      price_2    = zigbuf[i];
      ind_time_2 = i;

   //Дальше будут расчеты, в которых в зависимости от того для чего используется функция
   //(построение ТрЛайн для верхних пиков или для нижних)будет применяться 
+ или - , < или >. 
   //Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), 
   //Вопрос не сложный - как это написать???   
} 

Significa che il parametrozigbuf[] avrà solo due opzioni da sostituire - o ZigzagPeakBuffer[] oZigzagBottomBuffer[]. Come posso controllare all'interno della funzione, quale delle opzioni è attualmente impostata?


 

Finora ho inventato per determinare quale degli array è coinvolto - confrontando il valore trovato, quale corrisponde, quello è nostro. Ma sicuramente c'è una soluzione più bella e più breve.

Conoscenza - diteci per favore!!!

//+------------------------------------------------------------------+ 
//| Вычисляем значения точек привязки трендовых линий                | 
//+------------------------------------------------------------------+ 
void CalculateTrendPoints(datetime &time_1, double &price_1, 
                          datetime &time_2, double &price_2, double &zigbuf[])  
{
   int ind_time_1 = 0;
   int ind_time_2 = 0;
   int size_zigbuf = ArraySize(zigbuf);
   for(int i = 0; i < size_zigbuf; i++)
      {
         if(zigbuf[i] != EMPTY_VALUE)
            price_1    = zigbuf[i];
            ind_time_1 = i;
            break;
      }
   for(int i = ind_time_1 + 1; i < size_zigbuf; i++)
      {
         if(zigbuf[i] != EMPTY_VALUE)
            {
               if(zigbuf[i] == ZigzagPeakBuffer[i] && zigbuf[i] > price_1)
                  {
                     price_2    = zigbuf[i];
                     ind_time_2 = i;
                     break;
                  }
               if(zigbuf[i] == ZigzagBottomBuffer[i] && zigbuf[i] < price_1)
                  {
                     price_2    = zigbuf[i];
                     ind_time_2 = i;
                     break;
                  }
            }
      }
   //Дальше будут расчеты, в которых в зависимости от того для чего используется функция
   //(построение ТрЛайн для верхних пиков или для нижних)будет применяться + или - , < или >.
   //Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), 
   // Вопрос не сложный - как это написать???   
}
 

Ciao a tutti))


Domanda: OBJ_FIBO non dà una finestra pop-up sul grafico (OBJPROP_TOOLTIP) quando si traccia. Tutto è organizzato graficamente tramite OBJPOP_TXT/ Come si può e si può fare una finestra pop-up in FIBO tramite tooltip?

Scopo: quando si passa il mouse sul livello Fibo, per far apparire una finestra come in HLINE (come esempio).

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
kopeyka2:

Ciao a tutti))


Domanda: OBJ_FIBO non dà una finestra pop-up sul grafico (OBJPROP_TOOLTIP) quando si traccia. Tutto è organizzato graficamente tramite OBJPOP_TXT/ Come si può e si può fare una finestra pop-up in FIBO tramite tooltip?

Scopo: quando si passa il mouse sul livello Fibo, far apparire una finestra come HLINE (per esempio).

Utilizzare la proprietà OBJPROP_TEXT

ObjectSetString(chart_ID,name,OBJPROP_TEXT,"Это всплывающая подсказка");
 
Come mi sbarazzo dei prodotti demo che non uso? Continuo a ricevere messaggi dal sistema "Nuova versione ........".
 
Sergey Voytsekhovsky:

Finora ho inventato per determinare quale degli array è coinvolto - confrontando il valore trovato, quale corrisponde, quello è nostro. Ma sicuramente c'è una soluzione più bella e più breve.

Persone che sanno - per favore ditemelo!!!

Perché vi inventate i vostri problemi? Saranno sufficienti così com'è.

Basta fare due funzioni separate.

 
Potete dirmi come ottenere un arrayMqlParam da un file impostato?