MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 925

 

안녕하세요 관리자

알려주십시오 - VOLUME 표시기는 어떻게 작동합니까(MT-4 터미널에 내장됨) ??????

나는 그가:

- 막대의 총 눈금 볼륨을 보여줍니다.

- 히스토그램 막대의 색상을 다른 색상으로 지정합니다.... 막대의 색상이 막대의 색상과 항상 일치하지는 않습니다(!).

예를 들어 - 막대가 BULLISH(녹색)이고 히스토그램 막대가 녹색으로 변한 다음 빨간색으로 변합니다. ..... WHY ????????

이 "bandurina"(ind.volume)를 이해하는 방법 ????????

.............. 여기 인터넷에서 (MT-4 터미널 의 도움이 아닌 경우에도) - 이 ind.VOLUME이 몇 틱이 다운되었는지에 따라 히스토그램 스틱의 색상이 다르다는 것을 읽었습니다. , 그리고 얼마나 UP .......

또한 ??????

----------------------------------
그러나 일반적인 질문이 발생합니다. = TICK 차트(예: Euro-Dollar)를 보면 Bid 및 Ask 가격 변동 = DIFFERENT ...라는 것을 알 수 있습니다. 그러면 Bid가 더 자주 위아래로 변동합니다 ... 위아래로 자주 물어봐.....
SAM QUESTION = ind.VOLUME은 Bid 및 Ask의 개별 변동을 고려합니까 ???

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

다른 생각이 떠오릅니다.

생각 #1 :

ind.VOLUME은 Bid에 의한 변동만을 계산합니다. = 틱이 몇 개, DOWN이 몇 개였습니까(?!), 결과는 히스토그램 스틱의 색상으로 표시됩니다. = 더 많이 다운된 경우 녹색에서도 막대 = 히스토그램 막대가 빨간색(!)으로 표시됩니다.

생각 #2:

ind.VOLUME counts SEPARATELY = Ask에 의한 틱 수 및 Bid(!)에 의한 틱 수
예. = Ask는 185틱이었고 Bid = 245틱이었습니다.
그런 다음 간단한 비교 = 245 > 185는 히스토그램 막대를 빨간색으로 색칠하는 것을 의미합니다(강세 막대에서도)
........... 하지만 그것은 = 막대의 일반적인 색상과 매우 유사합니다 = 닫기가 열기보다 낮으면 = 막대는 빨간색입니다(반대의 경우도 마찬가지) .. .... 그러면 무엇 논리 내부 볼륨입니까????????

표시기(!)의 코드를 읽을 수 없기 때문에 다른 생각은 없습니다.

.............. 관리자 - 이해를 도와주세요 - 산업 볼륨이 무엇을 어떻게 계산하는지(???!!!)

덕분에)

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

한 번에 한 줄씩 주기로 보내고 dll의 배열에 줄을 추가한 다음 다른 함수를 호출하여 줄 배열을 적용합니다.

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

안녕하세요 관리자

알려주십시오 - VOLUME 표시기는 어떻게 작동합니까(MT-4 터미널에 내장됨) ??????

나는 그가:

- 막대의 총 눈금 볼륨을 보여줍니다.

- 히스토그램 막대의 색상을 다른 색상으로 지정합니다.... 막대의 색상이 막대의 색상과 항상 일치하지는 않습니다(!).

예를 들어 - 막대가 BULLISH(녹색)이고 히스토그램 막대가 녹색으로 변한 다음 빨간색으로 변합니다. ..... WHY ????????

이 "bandurina"(ind.volume)를 이해하는 방법 ????????

.............. 여기 인터넷에서 (MT-4 터미널 의 도움이 아닌 경우에도) - 이 ind.VOLUME이 몇 틱이 다운되었는지에 따라 히스토그램 스틱의 색상이 다르다는 것을 읽었습니다. , 그리고 얼마나 UP .......

또한 ??????

----------------------------------
그러나 일반적인 질문이 발생합니다. = TICK 차트(예: Euro-Dollar)를 보면 Bid 및 Ask 가격 변동 = DIFFERENT ...라는 것을 알 수 있습니다. 그러면 Bid가 더 자주 위아래로 변동합니다 ... 위아래로 자주 물어봐.....
SAM QUESTION = ind.VOLUME은 Bid 및 Ask의 개별 변동을 고려합니까 ???

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

다른 생각이 떠오릅니다.

생각 #1 :

ind.VOLUME은 Bid에 의한 변동만 계산합니다. = 틱이 몇 번이고 DOWN이 몇 번인지(?!), 결과는 히스토그램 스틱의 색상으로 표시됩니다. = 다운이 더 있으면 녹색 막대에도 표시됩니다. = 히스토그램 막대가 빨간색(!)이 됩니다.

생각 #2:

ind.VOLUME counts SEPARATELY = Ask에 의한 틱 수 및 Bid(!)에 의한 틱 수
예. = Ask는 185틱이고 Bid = 245틱입니다.
그런 다음 간단한 비교 = 245 > 185는 히스토그램 막대를 빨간색으로 색칠하는 것을 의미합니다(강세 막대에서도)

표시기(!)의 코드를 읽을 수 없기 때문에 다른 생각은 없습니다.

.............. 관리자 - 이해를 도와주세요 - 산업 볼륨이 무엇을 어떻게 계산하는지(???!!!)

덕분에)

이전 막대에 대한 상대적인 값에 따라 다릅니다. 값이 이전 값보다 크면 녹색이 됩니다. 적으면 빨간색이 됩니다.

 
안녕하세요!
표시기에 경고 를 고정하는 데 도움이!

이것은 히스토그램 스토캐스틱입니다! 경고가 라인 0을 위아래로 교차할 때 작동해야 합니다!

파일:
 
fxsaber :

문제는 크게 다르지 않고 원하지 않았지만 VS2017을 시작했습니다. 다른 방법으로 시도했지만 문자열 배열의 크기와 메모리 크기를 찾을 수 없습니다. 전체 배열이 점유하고 있으므로 sizeof()와 안전한 Marshal.SizeOf()를 통해 모두 시도했습니다. 점유된 메모리의 크기를 결정할 때 치명적인 오류가 발생 하면 충돌이 발생합니다.

요소의 수를 알면 문자열 배열을 쉽게 전달할 수 있습니다. 예를 들면 다음과 같습니다.

 // 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) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789

2019.07.24 19:43:53.867 tst____ (EURUSD,H1) 쿼티123456789


추신: 이미 기억은 안나지만 dll 함수를 호출할 때 다양한 데이터 유형과 문자열을 매개 변수로 전달하면 여전히 문제가 있는 것 같습니다. 여러 문자열 배열과 많은 int를 가질 수 없는 것 같습니다... 내가 틀릴 수도 있지만 - MQL4에서 비관리 코드를 호출하는 것과 혼동합니다 - 일반적으로 언제 어떻게 작동하는지 추측하기 어렵고 모든 것이 변경 사항에 매우 민감합니다... 내가 말할 것이라고 생각하지 않았습니다... 그러나 MQL5는 힘입니다! - "2번의 클릭"으로 C#과 통합됩니다. - 저는 간단한 솔루션을 좋아합니다! ;)

파일:
 
      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;

w[z6] 배열의 값을 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);
   }

이것이 내가 텍스트 파일에서 배열 w[]로 데이터를 전송하는 방법이지만 다른 조언자를 사용합니다. 그리고 나는 0을 얻는다. 코드를 다시 작성하려면 파일에서 올바른 데이터를 가져와야 합니다.

 
Alexey Viktorov :

이전 막대에 대한 상대적인 값에 따라 다릅니다. 값이 이전 값보다 크면 녹색이 됩니다. 적으면 빨간색이 됩니다.

모든 것이 매우 간단하다는 것이 밝혀졌습니다 ??!!

그리고 나는 이미 생각했습니다-적어도 일종의 "고등 수학"이 거기에서 사용됩니다! )????! :)

이해했습니다, 감사합니다)

 
Vitaliy Kostrubko :

모든 것이 매우 간단하다는 것이 밝혀졌습니다 ??!!

그리고 나는 이미 생각했습니다-적어도 일종의 "고등 수학"이 거기에서 사용됩니다! )????! :)

이해했습니다, 감사합니다)

10년 전 나는 비슷한 질문을 한 적이 있습니다. AO 표시기에 의해서만.)))

그리고 여기 에서 귀하의 가정과 유사한 것
TicksVolume
TicksVolume
  • www.mql5.com
Индикатор показывает изменение цены в пунктах и сколько раз за период произошло изменение в течение выбранного периода, к сожалению только от момента запуска до момента остановки. Входящих параметров не имеет. Возможно использование для определения скорости и/или ускорения изменения цены. На скрине видно, что Volume равно 44, индикатор...
 

이 형식의 색상으로 작업한 사람이 있습니까?

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


나는 또한 첫 번째 C'128,128,128'을 이해했습니다. 이것은 색상 구성 요소의 강도입니다 . 그리고 두 번째 버전에서 문자는 무엇을합니까? 색상 유형 설명의 MQL5 편집기 도움말에서 가져왔습니다.


또한 MQL5에서 표시기 라인을 매우 다양한 색상으로 만들 수 있습니까? 예를 들어, 색상이 RSI 값의 영향을 받는 RSI 라인, 즉 RSI 값이 색상 구성 요소 중 하나의 강도에 영향을 미칠 수 있습니까? ... 날 이해 해주길 바래))

 
Alexandr Sokolov :

이 형식의 색상으로 작업한 사람이 있습니까?


나는 또한 첫 번째 C'128,128,128'을 이해했습니다. 이것은 색상 구성 요소의 강도입니다 . 그리고 두 번째 버전에서 문자는 무엇을합니까? 색상 유형 설명의 MQL5 편집기 도움말에서 가져왔습니다.


또한 MQL5에서 표시기 라인을 매우 다양한 색상으로 만들 수 있습니까? 예를 들어, 색상이 RSI 값의 영향을 받는 RSI 라인, 즉 RSI 값이 색상 구성 요소 중 하나의 강도에 영향을 미칠 수 있습니까? ... 날 이해 해주길 바래))

1. 두 번째 예는 숫자의 16진수 표현입니다.
2. 할 수 있다