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

 
jamalhan2016:
こんにちは、私はいくつかの助けを必要としますか?mql4からmql5へアカウントを移行するにはどうすればよいですか?

mt5口座を開設し、その口座からmt5口座(ブローカー)に送金することが必要です。

 
Koldun Zloy:

DLLからは無理です。忘れてください。無理なんです!それだけなんです。

3年でプログラミングを覚えたのに、mqlは今と変わらないなんて、残念で不思議な感じです。確かに優先順位は低いが、ゆっくりと(非常にゆっくりと、ゆっくりと)この問題は研究されるべきだろう。

 
Stanislav Korotky:

これはある種の反面教師です(別のサーバーの話も出ています)。今年に入ってから1回以上、前回は1ヶ月前にMetaQuotes-Demoで新しいデモ口座が普通に作成されました。

また、サーバーが削除された場合、なぜアカウント開設ウィザードに表示され、Pingが送信されるのでしょうか?最後のステップでだけ、ジャムが発生する。

モバイル端末で 口座を開設しました。最初はターミナルでmql5アカウントにログインする必要があり、その後デモアカウントが追加されました。追加するのに1時間かかりましたが、うまくいきました。
 
Valeriy Yastremskiy:
モバイル端末で 口座を開設しました。最初はターミナルでmql5のアカウントを認証して、その後デモ口座が追加されました。追加するのに1時間かかりましたが、うまくいきました。

今、私のPCでは問題なく(瞬時に)動作しています。

 
mql4が配列を作成する場合、サードパーティ(他のプログラミング言語)の手段でmql4の配列のサイズを変更 することは可能ですか?
 
こんにちは!

原始的な話題かもしれませんが、何度検索しても答えが見つかりませんでした。

以前に手動で設定したチャート上の特定のタイプのオブジェクト(例えば4-5)をプログラムで見つけ、その名前、座標、その他のプロパティをバッファに保存し、EAでさらに使用する方法を教えてください。

あるいは、グラフ上にマウスで配置した直後に、グラフオブジェクトの名前、座標、その他のプロパティをプログラムバッファまたは変数の単純なセットに読み込む方法、どちらがより簡単でしょうか。
このオブジェクトのプロパティを手動またはマウスで調整し、このデータを最終データとして記録し、さらにEAで利用することを想定している。
 
vladmirad:
こんにちは! 原始的でつまらない話題を持ち出しているかもしれませんが、いくら調べても答えが出てきません。チャート上に手動で設定した特定のタイプのオブジェクト(例えば4-5)を見つけ、その名前、座標、その他のプロパティをバッファに保存してEAでさらに使用する方法を教えてください。あるいは、グラフ上にマウスで配置した直後に、グラフオブジェクトの名前、座標、その他のプロパティをプログラムバッファまたは変数の単純なセットに読み込む方法、どちらがより簡単でしょうか。このオブジェクトのプロパティを手動またはマウスで調整し、このデータを最終データとして記録し、さらにEAで利用することを想定している。






Study - MQL4 Reference Guide / Graphic Objects / ObjectFind()は指定した名前のオブジェクトを検索し、ObjectGet()はプロパティ(例:エンドポイントのラインの価格)を返し、ObjectSet()はプロパティを変更します。ここでも、オブジェクトには名前が必要です。オブジェクトを扱う 関数はたくさんあります。もちろん、ループを通して正しく計算する必要がありますから、すぐにできることではありません。オブジェクトの名前を返すことができるのかどうか、実際には、名前はユーザーから与えられ、それを配列に保存して後でコピーすることで負荷を軽減することができます。

 
vladmirad:
こんにちは! 原始的な話題かもしれませんが、何度調べても答えが見つかりませんでした。以前に手動で設定したチャート上の特定のタイプのオブジェクト(例えば4-5)をプログラムで見つけ、その名前、座標、その他のプロパティをバッファに保存し、EAでさらに使用する方法を教えてください。あるいは、グラフ上にマウスで配置した直後に、グラフオブジェクトの名前、座標、その他のプロパティをプログラムバッファまたは変数の単純なセットに読み込む方法、どちらがより簡単でしょうか。このオブジェクトのプロパティを手動またはマウスで調整し、このデータを最終データとして記録し、さらにEAで利用することを想定している。






こんにちは。
OnChartEvent()https://www.mql5.com/ru/docs/event_handlers/onchartevent
必要なイベントがいくつかあります:
CHARTEVENT_OBJECT_CREATE グラフィカルオブジェクトの作成
CHARTEVENT_OBJECT_CHANGE プロパティダイアログを使ってグラフィカルオブジェクトのプロパティを変更
CHARTEVENT_OBJECT_DELETE グラフィカルオブジェクトを削除
https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents
OnChartEvent() ハンドラですべてのパラメータにログ付けして、グラフィカル オブジェクトの追加/変更/削除時に値を確認することができます。そうすることで、どこに行けばいいのかの方向性が見えてきます。
 
vladmirad:
こんにちは! 原始的な時代遅れの話題を提起しているかもしれませんが、何度検索しても答えが見つかりませんでした。チャート上に手動で設定した特定のタイプのオブジェクト(例えば4-5)を見つけ、その名前、座標、その他のプロパティをバッファに保存して、EAでさらに使用するにはどうしたらよいですか?あるいは、グラフ上にマウスで配置した直後に、グラフオブジェクトの名前、座標、その他のプロパティをプログラムバッファまたは変数の単純なセットに読み込む方法、どちらがより簡単でしょうか。このオブジェクトのプロパティを手動またはマウスで調整し、このデータを最終データとして記録し、さらにEAで利用することを想定している。






以下のように、指定されたタイプのオブジェクトを座標で検索し、ログに記録することができます。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart(){
  int total = ObjectsTotal(0, subwin, type);
  int i = 0;
  string name;
  datetime time1, time2;
  double price1, price2;
  for(; i < total; i++) {
    name = ObjectName(0, i, subwin, type);
    Print("Object: \"", name, "\"");
    time1 = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME, 0);
    time2 = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME, 1);
    price1 = ObjectGetDouble(0, name, OBJPROP_PRICE, 0);
    price2 = ObjectGetDouble(0, name, OBJPROP_PRICE, 1);
    Print("Time1: ", TimeToString(time1), "; Price1: ", DoubleToString(price1, Digits()), "; Time2: ", TimeToString(time2), "; Price2: ", DoubleToString(price2, Digits()), ".");
  }
}

任意のデータをファイルに保存することができます。そして、Expert Advisorに適切なオブジェクトを追加するローダーを作成し、ファイルからデータをそれらにロードします。しかし、少なくとも特定のタスクのためのソースコードをスケッチし、ここで公開するのです。

ファイル:
ObjGet.mq5  4 kb
 
Seric29:

Study - MQL4 Reference Guide / Graphic Objects / ObjectFind()は指定した名前のオブジェクトを検索し、ObjectGet()はプロパティ(例:エンドポイントのラインの価格)を返し、ObjectSet()はプロパティを変更します。ここでも、オブジェクトには名前が必要です。オブジェクトを扱う 関数はたくさんあります。もちろん、ループを通して正しく計算する必要がありますから、すぐにできることではありません。オブジェクトの名前を返すことができるかどうかはわかりません。実際には、名前はユーザーによって与えられ、それを配列に保存して後でコピーすることで負荷を軽減することができます。

アドバイスありがとうございます!これらの機能は承知しています。
しかし、その名前が先験的にわからないのに、どうやってチャート上のオブジェクトを自動的に検出し、そのパラメータを読み取ることができるのだろうか。
チャート上にマウスでオブジェクトを描くと、システムがそのオブジェクトに名前を付けます。

もちろん、オブジェクトの特性表から必要なデータをすべて手入力で整理することは難しくないが、ではなぜ自動化したのか。
しかし、プログラム的にどのようにオブジェクトの名前を渡せば、指定したすべての関数が使えるようになるのか、私にはまだよくわかりません...。