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

 

Admin ciao

Per favore ditemi - COME funziona l'indicatore VOLUME (costruito nel terminale mt-4) ??????

Ho notato che:

- mostra il volume totale dei tick della barra,

- e colora le barre dell'istogramma con colori diversi.... e il colore della barra NON corrisponde SEMPRE al colore della barra (!)

Per esempio - una barra è BULL (verde), e la barra dell'istogramma è colorata in verde, poi in rosso ..... PERCHÉ COSÌ ????????

Come capire questa "spazzatura" (ind.volume) ????????

........... qui in rete (nemmeno nell'aiuto del terminale mt-4) - ho letto che questo indicatore VOLUME colora la barra del grafico con colori diversi a seconda di quanti tick sono scesi e quanti sono saliti .......

anche ??????

---------------------------------
Ma poi c'è una domanda POPOLARE = se guardiamo il grafico TICK (per esempio Euro-Dollaro), vediamo che le oscillazioni di prezzo Bid e ASK = DIVERSE ... il Bid oscilla su e giù più spesso.... l'Ask più spesso su e giù .....
LA DOMANDA BID = l'ind.VOLUME tiene conto delle fluttuazioni individuali di Bid e Ask?

====================

Mi vengono in mente solo pensieri diversi:

Pensiero #1:

ind.VOLUME conta SOLO le oscillazioni di Bid, = quanti tick sono saliti e quanti sono scesi (?!), e visualizza il risultato come colore dell'istogramma = se c'è stato più down, anche su una barra verde = l'istogramma stick sarà ROSSO (!).

Pensiero #2:

ind.VOLUME conta UNO = quanti tick erano su Asc e quanti tick erano su Bid (!)
Es. = l'Ask era 185 ticks, e il Bid = 245 ticks
Allora un semplice confronto = 245 > 185 , il che significa che il grafico a barre sarebbe colorato di ROSSO (anche su una barra a toro)
........... ma questo = COLORABILITÀ al colore normale della barra = se Close è inferiore a Open = barra ROSSA (e viceversa)........ allora DOVE LOGICA ind.VOLUME ????????

Non ho altre ragioni, perché non so come leggere il codice dell'indicatore (!)

.............. ADMIN - PER FAVORE COMPRENDETE COSA E COME conta l'ind.VOLUME (???!?!!)

Grazie )

Справка по MetaTrader 5
Справка по MetaTrader 5
  • www.metatrader5.com
Поддерживаются четыре режима исполнения торговых ордеров: немедленный (Instant Execution), по запросу (Request Execution), по рынку (Market Execution) и биржевой (Exchange). В распоряжении трейдера все виды ордеров, включая рыночные, отложенные и стоп-ордера. Такое разнообразие в выборе ордеров и режимов их исполнения позволяет трейдеру...
 
Igor Makanu:

Ho inviato una linea alla volta in un ciclo, ho aggiunto le linee a un array nella dll, e poi ho applicato l'array di linee chiamando un'altra funzione

// Передача в DLL массива строк.

#include <TypeToBytes.mqh> // https://www.mql5.com/ru/code/16280

void DLL( const uchar &Bytes[] )
{
  ArrayPrint(Bytes);
  
  const int Size = ArraySize(Bytes);  
  string Str = NULL;
  
  for (int i = 0; i < Size; i++)
    if (Bytes[i])
      Str += CharToString(Bytes[i]);
    else
    {
      Print(Str);
      
      Str = NULL;
    }
}

void OnStart()
{
  const string Str[] = {"123", "4567"};
  
  DLL(_R(Str).Bytes);    
}
 
Vitaliy Kostrubko:

Admin ciao

Per favore ditemi - COME funziona l'indicatore VOLUME (incorporato nel terminale mt-4) ??????

Ho notato che:

- mostra il volume totale dei tick della barra,

- e colora le barre dell'istogramma con colori diversi.... e il colore della barra NON corrisponde SEMPRE al colore della barra (!)

Per esempio - una barra è BULL (verde), e la barra dell'istogramma è colorata in verde, poi in rosso ..... PERCHÉ COSÌ ????????

Come capire questa "spazzatura" (ind.volume) ????????

........... qui in rete (nemmeno nell'aiuto del terminale mt-4) - ho letto che questo indicatore VOLUME colora il grafico a barre con colori diversi a seconda di quanti tick sono scesi e quanti sono saliti .......

anche ??????

---------------------------------
Ma poi c'è una domanda POPOLARE = se guardiamo il grafico TICK (per esempio Euro-Dollaro), vediamo che le oscillazioni di prezzo Bid e ASK = DIVERSE ... il Bid oscilla su e giù più spesso.... l'Ask più spesso su e giù .....
LA DOMANDA BID = l'ind.VOLUME tiene conto delle fluttuazioni individuali di Bid e Ask?

====================

Mi vengono in mente solo pensieri diversi:

Pensiero #1:

ind.VOLUME conta SOLO le oscillazioni di Bid, = quanti tick sono saliti e quanti sono scesi (?!), e visualizza il risultato come colore dell'istogramma = se c'è stato più down, anche su una barra verde = l'istogramma stick sarà ROSSO (!).

Pensiero #2:

L'ind.VOLUME conta SOLO = quanti tick erano su Asc e quanti tick erano su Bid (!)
Es. = l'Ask era 185 ticks, e il Bid = 245 ticks
Allora un semplice confronto = 245 > 185 , il che significa che il grafico a barre sarebbe colorato di ROSSO (anche su una barra a toro)

Non ho altri pensieri perché non so come leggere il codice dell'indicatore (!)

.............. ADMIN - SI PREGA DI CAPIRE COSA E COME conta l'ind.VOLUME (????!!!)

Grazie )

Dipende dal valore relativo alla barra precedente. Un valore maggiore del precedente sarà verde. Meno di questo, sarà rosso.

 
Ciao a tutti!
aiutatemi a collegare Alert
all'indicatore!
è un istogramma stocastico! Ho bisogno che Alert sia attivato quando attraversa la linea 0 su e giù!

File:
 
fxsaber:

Non volevo eseguire VS2017, ma ho provato diversi modi, ma non riesco a scoprire la dimensione dell'array di stringhe, così come la dimensione della memoria occupata dall'intero array, ho provato sia attraverso sizeof() che attraverso safe Marshal.SizeOf() - ancora si blocca suun errore critico quando si determina la dimensione della memoria occupata

Conoscendo il numero di elementi, potete passare l'array di stringhe, ecco un esempio:

// MQL5

#property strict

#import "tstdllstring.dll"
#import
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string s[10];
   for(int i=0;i<10;i++)
      s[i]="qwerty";
   tst::Replace(s,ArraySize(s));
   for(int i=0;i<10;i++)
      Print(s[i]);
  }
// C# VS2107
using System;

namespace tstdllstring
{
    public static class tst
    {
        public static void Replace(ref string[] s,int arraysize)
        {
            for (int i = 0; i < arraysize; i++)
            {
                string tmp = s[i];
                s[i] = tmp+ "123456789";
            }
        }
    }
}

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) qwerty123456789


SZY: non mi ricordo già, ma sembra che ci sia ancora un problema se si passano diversi tipi di dati e stringhe come parametri quando si chiamano funzioni dll, sembra che non si possano avere più array di stringhe e molti int .... anche se potrei sbagliarmi - sono confuso con la chiamata di codice non gestito da sotto MQL4 - lì è difficile indovinare quando e come funziona, tutto è molto sensibile a qualsiasi cambiamento... Non pensavo che avrei detto questo... ma MQL5 è la potenza! - si integra con C# in "2 click" - mi piacciono le soluzioni semplici! ;)

File:
 
      h=FileOpen("NS_w_"+Symbol()+Period()+"."+ext+"",FILE_WRITE|FILE_CSV,";");
                  for(int z6=0;z6<((vhodyClose+vhodyOpen+vhodyHigh+vhodyLow+vhodyVolume)*neiro);z6++)
                  {
                     double o=w[z6];
                     FileWrite(h,o);
                  }
                FileClose(h); //return;

Questo è il modo in cui salvo i valori dell'arrayw[z6] in un file txt

   int handle;
   handle = FileOpen(FileName1, FILE_CSV|FILE_READ,";");
   if(handle>0)
   {  
      //FileReadArray(handle, w, 0, ((vhodyClose+vhodyOpen+vhodyHigh+vhodyLow+vhodyVolume)*neiro));
      FileReadArray(handle, w);
      int size=ArraySize(w);
         //--- распечатаем данные из массива
         for(int ii2=0;ii2<size;ii2++)
           {
           Print("w = ",w[ii2]);
           }
         Print("Total data = ",size);
         //--- закрываем файл   
      FileClose(handle);
   }

Questo è il modo in cui cerco di trasferire i dati dal file di testo all'arrayw[], ma con un altro Expert Advisor. Ma ottengo degli zeri. Per favore aiutatemi a modificare il codice, ho bisogno di ottenere i dati corretti dal file.

 
Alexey Viktorov:

Dipende dal valore relativo alla barra precedente. Un valore superiore al precedente sarà verde. Meno di questo, sarà rosso.

Si scopre che è tutto molto semplice!

Credevo che ci fosse di mezzo la "matematica superiore"! )????! :)

Capito, grazie )

 
Vitaliy Kostrubko:

Si scopre che è tutto molto semplice!

Credevo che ci fosse di mezzo la "matematica superiore"! )????! :)

Capito, grazie )

Dieci anni fa, se non di più, ho fatto una domanda simile. Solo sull'indicatore AO)).

E qualcosa di simile alle tue ipotesiqui
TicksVolume
TicksVolume
  • www.mql5.com
Индикатор показывает изменение цены в пунктах и сколько раз за период произошло изменение в течение выбранного периода, к сожалению только от момента запуска до момента остановки. Входящих параметров не имеет. Возможно использование для определения скорости и/или ускорения изменения цены. На скрине видно, что Volume равно 44, индикатор...
 

Qualcuno ha lavorato con i colori in questo formato?

C'128,128,128'
C'0x00,0x00,0xFF'


Il primo C'128,128,128' capisco che è l'intensità delle componenti di colore. Ma cosa fanno le lettere nel secondo? L'ho preso da MQL5 Reference nella descrizione del tipo di colore.


C'è la possibilità in MQL5 di rendere la linea dell'indicatore molto multicolore? Per esempio, la linea RSI, il cui colore sarà influenzato dal valore RSI, cioè, il valore RSI può influenzare l'intensità di uno dei componenti del colore? ...Spero che mi abbiate capito))

 
Alexandr Sokolov:

Qualcuno ha lavorato con i colori in questo formato?


Il primo C'128,128,128' capisco che è l'intensità delle componenti di colore. Ma cosa fanno le lettere nel secondo? L'ho preso da MQL5 Reference nella descrizione del tipo di colore.


C'è la possibilità in MQL5 di rendere la linea dell'indicatore molto multicolore? Per esempio, la linea RSI, il cui colore sarà influenzato dal valore RSI, cioè il valore RSI può influenzare l'intensità di uno dei componenti del colore? ...spero che mi abbiate capito))

1. Il secondo esempio è la rappresentazione esadecimale dei numeri.
2. Può
Motivazione: