Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 925

 

Olá administrativo

Por favor me diga - COMO o indicador VOLUME (construído no terminal mt-4) funciona ??????

Eu notei que :

- mostra o volume total do tick da barra,

- e colorir as barras do histograma em diferentes cores.... e a cor da barra NÃO corresponde SEMPRE à cor da barra (!)

Por exemplo - uma barra é BULL (verde), e a barra de histograma é colorida em verde, depois em vermelho ..... POR QUE ASSIM ????????

COMO entender este "lixo" (ind.volume) ????????

........... aqui na rede (nem mesmo no terminal mt-4 Help ) - Li que este indicador VOLUME cores barras gráficas de barras em cores diferentes dependendo de quantos ticks estavam para baixo e quantos estavam para cima .......

também ??????

---------------------------------
Mas depois há uma questão POPULAR = se olharmos para o gráfico TICK (por exemplo, Euro-Dólar), vemos que as oscilações de preços Bid e ASK = DIFERENTE ... a licitação balança para cima e para baixo mais vezes.... o Ask mais vezes para cima e para baixo .....
A PERGUNTA DE Licitações = o ind.VOLUME leva em conta as flutuações individuais da licitação, e pergunta ???

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

Apenas pensamentos diferentes vêm à mente :

Pensamento #1 :

ind.VOLUME conta SOMENTE as oscilações do Bid, = quantos ticks estavam para cima e quantos estavam para baixo (?!) , e mostra o resultado como um bastão de histograma cor = se houvesse mais para baixo, mesmo em uma barra verde = o bastão de histograma será VERMELHO (!).

Pensamento nº 2:

ind.VOLUME conta UM = quantos carrapatos estavam em Asc e quantos carrapatos estavam em Bid (!)
Por exemplo = o Ask foi 185 ticks, e o Bid = 245 ticks
Então uma simples comparação = 245 > 185 , o que significa que o gráfico de barras seria colorido em VERMELHO (mesmo em uma barra de touro)
........... mas isto = COLORABILIDADE à cor normal da barra = se Fechado é menor que Aberto = barra VERMELHO (e vice-versa)........ então ONDE LOGIC ind.VOLUME ????????

Não tenho outro motivo, porque não sei ler o código indicador (!)

.............. ADMIN - POR FAVOR, POR FAVOR, POR FAVOR O QUE E COMO o ind.VOLUME conta (???!?!?!)

Obrigado )

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

Enviei uma linha de cada vez em um loop, adicionei as linhas a uma matriz na dll e depois apliquei a matriz de linhas chamando outra função

// Передача в 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:

Olá administrativo

Por favor me diga - COMO o indicador VOLUME (construído no terminal mt-4) funciona ??????

Eu notei que :

- mostra o volume total do tick da barra,

- e colorir as barras do histograma em diferentes cores.... e a cor da barra NÃO CORRESPONDE SEMPRE à cor da barra (!)

Por exemplo - uma barra é BULL (verde), e a barra de histograma é colorida em verde, depois em vermelho ..... POR QUE ASSIM ????????

COMO entender este "lixo" (ind.volume) ????????

........... aqui na rede (nem mesmo no terminal mt-4 Help ) - Li que este indicador VOLUME cores barras gráficas de barras em cores diferentes dependendo de quantos ticks estavam para baixo e quantos estavam para cima .......

também ??????

---------------------------------
Mas depois há uma questão POPULAR = se olharmos para o gráfico TICK (por exemplo, Euro-Dólar), vemos que as oscilações de preços Bid e ASK = DIFERENTE ... a licitação balança para cima e para baixo mais vezes.... o Ask mais vezes para cima e para baixo .....
A PERGUNTA DE Licitações = o ind.VOLUME leva em conta as flutuações individuais da licitação, e pergunta ???

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

Apenas pensamentos diferentes vêm à mente :

Pensamento #1 :

ind.VOLUME conta SOMENTE as oscilações do Bid, = quantos ticks estavam para cima e quantos estavam para baixo (?!) , e mostra o resultado como um bastão de histograma cor = se houvesse mais para baixo, mesmo em uma barra verde = o bastão de histograma será VERMELHO (!).

Pensamento nº 2:

O ind.VOLUME conta SOMENTE = quantos carrapatos estavam em Asc e quantos carrapatos estavam em Bid (!)
Por exemplo = o Ask foi 185 ticks, e o Bid = 245 ticks
Então uma simples comparação = 245 > 185 , o que significa que o gráfico de barras seria colorido em VERMELHO (mesmo em uma barra de touro)

Não tenho outros pensamentos, pois NÃO SABIA como ler o código indicador (!)

.............. ADMIN - POR FAVOR, POR FAVOR, POR FAVOR O QUE E COMO a ind.VOLUME conta (????!!!)

Obrigado )

Depende do valor em relação à barra anterior. Um valor maior do que o anterior será verde. Menos do que isso, será vermelho.

 
Olá a todos!
me ajude a anexar Alerta
ao indicador!
é um histograma estocástico! Preciso que o Alerta seja acionado quando ele cruzar a linha 0 para cima e para baixo!

Arquivos anexados:
 
fxsaber:

Eu não queria rodar o VS2017, mas tentei diferentes maneiras, mas não consigo descobrir o tamanho da matriz de cordas, assim como o tamanho da memória ocupada por toda a matriz, tentei tanto através do sizeof() quanto através do seguro Marshal.SizeOf() - ainda assim você irá travar emum erro crítico ao determinar o tamanho da memória ocupada

Conhecendo o número de elementos, você pode passar o conjunto de cordas, aqui está um exemplo:

// 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: Não me lembro já, mas parece que ainda há um problema se você passar tipos e strings diferentes como parâmetros ao chamar funções dll, parece que você não pode ter múltiplos conjuntos de strings e muitos int's .... embora eu possa estar errado - estou confuso em chamar código não gerenciado sob MQL4 - lá é difícil adivinhar quando e como funciona, tudo é muito sensível a qualquer mudança... Eu não pensei que diria isto... mas a MQL5 é o poder! - integra-se com C# em "2 cliques" - eu gosto de soluções simples! ;)

Arquivos anexados:
 
      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;

É assim que eu salvo valores de arrayw[z6] para arquivo 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);
   }

É assim que tento transferir dados do arquivo de texto para a matrizw[], mas com outro Expert Advisor. Mas eu recebo zeros. Por favor, ajude-me a modificar o código, eu preciso obter os dados corretos do arquivo.

 
Alexey Viktorov:

Depende do valor em relação à barra anterior. Um valor maior do que o anterior será verde. Menos do que isso, será vermelho.

Acontece que é tudo tão simples...!

Eu pensei que havia alguma "matemática superior" envolvida! )????! :)

Consegui, obrigado )

 
Vitaliy Kostrubko:

Acontece que é tudo tão simples...!

Eu pensei que havia alguma "matemática superior" envolvida! )????! :)

Entendi, obrigado )

Há dez anos, se não mais, eu fiz uma pergunta semelhante. Somente no indicador AO)).

E algo semelhante às suas suposiçõesaqui
TicksVolume
TicksVolume
  • www.mql5.com
Индикатор показывает изменение цены в пунктах и сколько раз за период произошло изменение в течение выбранного периода, к сожалению только от момента запуска до момента остановки. Входящих параметров не имеет. Возможно использование для определения скорости и/или ускорения изменения цены. На скрине видно, что Volume равно 44, индикатор...
 

Alguém já trabalhou com cores neste formato?

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


O primeiro C'128,128,128' que eu entendo é a intensidade dos componentes de cor. Mas o que as cartas fazem na segunda? Consegui da MQL5 Reference na descrição do tipo de cor.


Existe a possibilidade na MQL5 de tornar a linha indicadora muito multicolorida? Por exemplo, a linha RSI, cuja cor será afetada pelo valor RSI, ou seja, o valor RSI pode afetar a intensidade de um dos componentes da cor? ...Espero que você tenha me entendido))

 
Alexandr Sokolov:

Alguém já trabalhou com cores neste formato?


O primeiro C'128,128,128' que eu entendo é a intensidade dos componentes de cor. Mas o que as cartas fazem na segunda? Consegui da MQL5 Reference na descrição do tipo de cor.


Existe a possibilidade na MQL5 de tornar a linha indicadora muito multicolorida? Por exemplo, a linha RSI, cuja cor será afetada pelo valor RSI, ou seja, o valor RSI pode afetar a intensidade de um dos componentes da cor? ...espero que você me tenha entendido))

1. O segundo exemplo é a representação hexadecimal dos números.
2. Pode