MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 925

 

アドミンこんにちは

教えてください - VOLUMEインジケーター(mt-4端子内蔵)はどのように機能するのでしょうか?

私はそれに気づいた。

- は、バーの総ティック量を示します。

- ヒストグラムのバーを異なる色で着色する。また、バーの色は常にバーの色と一致するわけではありません(!)。

例えば、バーがBULL(緑)で、ヒストグラムのバーが緑、赤・・・と色分けされる。なぜそうなのか?

この "ジャンク"(ind.volume)をどう理解すればいいのか ?

.............ここネットで(mt-4端末のヘルプ にもない) - 私はこの指標VOLUMEの色の棒グラフがダウンしていたどのように多くのティックに応じて異なる色で、アップしたことを読んで.............。

も?

---------------------------------
しかし、その後、POPULARの質問があります=我々はTICKチャート(例えばユーロドル)を見た場合、我々はBidとASKの価格のスイング= DIFFERENTを参照してください...Bidが上下に振れる回数が増える...。アスクの上下の頻度が高い・・・・・・。
ビッドの質問 = ind.VOLUMEは、個々のビッド、アスクの変動を考慮していますか?

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

ただ、さまざまな考えが浮かんできます。

思考その1.

ind.VOLUMEは、Bidの振動だけをカウントし、=何ティックが上がって、何ティックが下がったか(!)、その結果をヒストグラムスティックの色で表示します=緑のバーでも下が多ければ、=ヒストグラムスティックは赤になります(!)。

思考その2。

ind.VOLUMEのカウントはONLY=Ascで何ティック、Bidで何ティック(!)だったのか。
例:アスクが185ティック、ビッド=245ティックだった場合
単純に比較すると、245 > 185 となり、バーチャートは赤色になります(強気バーでも)。
........................................................................................でも、これは=通常のバーカラーに色鮮やかな=もしクローズがオープンより低い=バー赤(および逆)...そして何 ロジック ind.VOLUME ?・・・・・・・・?

他に理由がないのは、インジケータコードの読み方がわからないから(!)。

ADMIN - ind.VOLUMEが何を、どのようにカウントしているのか理解してください(?)

ありがとうございます )

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

ループで1行ずつ送信し、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端子内蔵)はどのように機能するのでしょうか?

私はそれに気づいた。

- は、バーの総ティック量を示します。

- ヒストグラムのバーを異なる色で着色する。また、バーの色は常にバーの色と一致するわけではありません(!)。

例えば、バーがBULL(緑)で、ヒストグラムのバーが緑、赤・・・と色分けされる。なぜそうなのか?

この "ジャンク"(ind.volume)をどう理解すればいいのか ?

.............ここネットで(mt-4端末のヘルプ にもない) - 私はこの指標VOLUMEの色の棒グラフがダウンしていたどのように多くのティックに応じて異なる色で、アップしたことを読んで.............。

も?

---------------------------------
しかし、その後、POPULAR質問です=私たちはTICKチャート(例えばユーロドル)を見てみると、我々はBidとASKの価格のスイング= DIFFERENTを参照してください...。Bidが上下に揺れる回数が増える...。アスクの上下の頻度が高い・・・・・・。
ビッドの質問 = ind.VOLUMEは、個々のビッド、アスクの変動を考慮していますか?

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

ただ、さまざまな考えが浮かんできます。

思考その1.

ind.VOLUMEは、Bidの振動だけをカウントし、=何ティックが上がって、何ティックが下がったか(!)、その結果をヒストグラムスティックの色で表示します=緑のバーでも下が多ければ、=ヒストグラムスティックは赤(!)になります。

思考その2。

ind.VOLUMEのカウントはONLY=Ascで何ティック、Bidで何ティック(!)だったのか。
例:アスクが185ティック、ビッド=245ティックだった場合
単純に比較すると、245 > 185 となり、バーチャートは赤色になります(強気バーでも)。

インジケータコードの読み方を知らないので、他に思い当たる節がありません。

ADMIN - ind.VOLUMEが何を、どのようにカウントしているのか理解してください(?)

ありがとうございます )

前のバーとの相対的な値に依存します。よりも大きい値が緑色で表示されます。それ以下だと赤になります。

 
皆さんこんにちは!
インジケータにAlertを
付けるのを手伝ってください
ストキャスティックヒストグラムです! 0ラインを上下に越えた時にAlertを発動させたい のです。

ファイル:
 
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[] 配列にデータを転送する方法ですが、別のExpert Advisorで試して います。でも、ゼロが出るんです。私はファイルから正しいデータを取得する必要があります、コードを修正するために私を助けてください。

 
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'は、色成分の強 さだと理解しています。しかし、2枚目では文字はどうなっているのでしょうか?MQL5 Referenceのカラータイプの説明で出てきましたね。


MQL5では、インジケーターの線を非常に多色化することは可能ですか?例えば、RSIライン、その色はRSI値によって影響を受けるでしょう、すなわち、RSI値は色成分の一つの強さに影響を与えることができますか? ...あなたが私を理解したことを願って))

 
Alexandr Sokolov:

このフォーマットでカラーを扱ったことのある方はいらっしゃいますか?


最初のC'128,128,128'は、色成分の強 さだと理解しています。しかし、2枚目では文字はどうなっているのでしょうか?MQL5 Referenceのカラータイプの説明で出てきましたね。


MQL5では、インジケーターの線を非常に多色化することは可能ですか?例えば、RSIライン、その色はRSI値によって影響を受けるでしょう、つまり、RSI値は色成分の一つの強さに影響を与えることができますか? ...ご理解いただけたでしょうか?))

1.2つ目の例は、16進数による数字の表現である。
2.可能