新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 925

 

管理员你好

请告诉我--音量指示器(内置在mt-4终端)是如何工作的??????。

我注意到,它:

- 显示条形图的总勾股量。

- 并将直方图的条形图涂成不同的颜色....。而且条形图的颜色并不总是与条形图的颜色相对应(!)。

例如 - 一个条形图是BULL(绿色),直方图条形图的颜色是绿色,然后是红色 .....为何如此????????

如何理解这个 "垃圾"(ind.volume)????????

........... 这里的网络(甚至在mt-4终端帮助 中也没有)--我读到这个指标VOLUME颜色条形图根据有多少点下降和有多少点上升而呈现不同的颜色.......。

还??????

---------------------------------
但是,有一个大众化的问题=如果我们看TICK图(例如欧元-美元),我们看到买入价和卖出价的波动=不同的......标的上下波动更频繁....。问得多了,上上下下.....
竞价问题 = ind.VOLUME是否考虑到个人的出价和要价的波动?

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

只是脑海中出现了不同的想法。

思考#1 :

ind.VOLUME只计算Bid振荡,=有多少点是上升的,有多少点是下降的(?),并将结果显示为柱状图棒的颜色=如果有更多的下降,即使是在绿色柱子上=柱状图棒将是红色(!)。

思考#2。

ind.VOLUME只计算=有多少点是在Asc上,有多少点是在Bid上(!)。
例如,=卖出价为185点,买入价=245点。
那么一个简单的比较=245>185,这意味着柱状图将被染成红色(即使是在牛市中)。
...........,但这= COLORABILITY到正常的条形图颜色=如果收盘价低于开盘价=条形图红色(反之亦然)........,那么是什么? LOGIC ind.VOLUME ????????

我没有其他原因,因为我不知道如何阅读指标代码(!)。

..............管理员 - 请理解ind.VOLUME是如何计数的(????!!)。

谢谢 )

Справка по 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:

管理员你好

请告诉我--音量指示器(内置在mt-4终端)是如何工作的??????。

我注意到,它:

- 显示条形图的总勾股量。

- 并将直方图的条形图涂成不同的颜色....。而且条形图的颜色并不总是与条形图的颜色相对应(!)。

例如 - 一个条形图是BULL(绿色),直方图条的颜色是绿色,然后是红色.....。为何如此????????

如何理解这个 "垃圾"(ind.volume)????????

........... 这里的网络(甚至在mt-4终端帮助 中也没有)--我读到这个指标VOLUME颜色条形图根据有多少点下降和有多少点上升而呈现不同的颜色.......。

还??????

---------------------------------
但是,有一个大众化的问题=如果我们看TICK图(例如欧元-美元),我们看到买入价和卖出价的波动=不同的......标的上下波动更频繁....。问得多了,上上下下.....
竞价问题 = ind.VOLUME是否考虑到了Bid和Ask的单独波动?

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

只是脑海中出现了不同的想法。

思考#1 :

ind.VOLUME只计算Bid振荡,=有多少点是上升的,有多少点是下降的(?),并将结果显示为柱状图棒的颜色=如果有更多的下降,即使是在绿色柱子上=柱状图棒将是红色(!)。

思考#2。

ind.VOLUME计数一=有多少个点在Asc上,有多少个点在Bid上(!)。
例如,=卖出价为185点,买入价=245点。
那么一个简单的比较=245>185,这意味着柱状图将被染成红色(即使是在牛市中)。

我没有其他想法,因为我不知道如何阅读指标代码(!)。

..............管理员 - 请理解ind.VOLUME的计数方式和方法(????!!)

谢谢 )

这取决于相对于前一个条形图的数值。大于前一个数值的将是绿色。少于这个数字,它将是红色的。

 
大家好!
,帮我把警报
附加到指标上。
,这是一个随机直方图。我需要警报在它上下穿过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) 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: 我已经不记得了,但是如果你在调用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[] 数组的方法,但用的是另一个专家顾问但我得到的是零。请帮助我修改代码,我需要从文件中获得正确的数据。

 
Alexey Viktorov:

这取决于相对于前一个条形图的数值。比前一个数值高的将是绿色。少于这个数字,它将是红色的。

原来这一切是如此的简单!?

我以为这里面涉及到一些 "高等数学"!)????!:)

明白了,谢谢 )

 
Vitaliy Kostrubko:

原来这一切是如此的简单!?

我以为这里面涉及到一些 "高等数学"!)????!:)

明白了,谢谢你 )

十年前,如果不是更早的话,我也问过一个类似的问题。只有在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.第二个例子是数字的十六进制表示法。
2.可以
原因: