初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 188 1...181182183184185186187188189190191192193194195...1504 新しいコメント Automated-Trading 2014.02.06 08:01 #1871 Vikon:こんにちは。グラフィカルなオブジェクトをどの間隔で表示するのかがわからないすべてのタイムフレームでありがとうございます。OBJ_ALL_PERIODS=2097151 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов www.mql5.com Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов - Документация по MQL5 Artyom Trishkin 2014.02.06 08:16 #1872 C-4: MQL4で行われているような、未使用の関数や変数に関するメッセージを取得するキーがコンパイラにあるかどうか、誰か知っていますか?mql4ではどうなっているのでしょうか?未使用の関数に関する警告を表示しないことについて質問されたレナートは、表示しないと答えた。プラガブル・ライブラリの使用に関連して。以前は旧ビルドにありました。今はそうではありません。EA本体で使っていない機能を探すのは、とても不便です。未使用の変数については、関数本体で見つかった場合のみ説明し、start() や OnTick() では説明しない。 Yury Reshetov 2014.02.06 08:49 #1873 artmedia70:mql4ではどうなっているのですか?未使用の関数に関する警告を表示しないことについて質問されたレナートは、表示しないと答えた。プラグインライブラリを使用しているため。以前は旧ビルドにありました。今はそうではありません。EA本体で使っていない機能を探すのは、とても不便です。未使用の変数については、関数本体で見つかった場合のみ説明し、start() や OnTick() では説明しない。OOPでは関数ではなく、メソッドだからです。各ライブラリには多くのメソッドを持つクラスがあり、そのうちのいくつかは使われていないかもしれません。また、クラスは他のライブラリも参照しており、その中のいくつかのメソッドは使用されていません。その結果、使われないメソッドが大量に発生する可能性があります。コンパイルされたコードの量から判断して、コンパイラは自動的に未使用のメソッドを排除している。つまり、自分で探しても意味がない。この作業はコンパイラがやってくれるからだ。 Vasiliy Sokolov 2014.02.06 09:29 #1874 Reshetov:なぜなら、OOPでは関数ではなく、メソッドだからです。各ライブラリには多くのメソッドを持つクラスがあり、そのうちのいくつかは使われていないかもしれません。さらに、クラスは他のライブラリも参照し、そのライブラリのメソッドの一部も未使用である。その結果、未使用のメソッドが大量にスタックされる可能性があります。コンパイルされたコードの大きさから判断して、コンパイラは自動的に未使用のメソッドを排除している。つまり、この仕事はコンパイラがやってくれるので、自分で探しても意味がないのです。 これは問題ではありません。問題は、まさにクラス内の 未使用のメソッドを見つけることです。私自身は500以上のメソッドを持っています。相互関係は非常に複雑です。ランタイムコードは避けられない。使わなくなったものをざっと見てみるのはとても有効かもしれませんね。 Artyom Trishkin 2014.02.06 09:34 #1875 Reshetov:なぜなら、OOPでは関数ではなく、メソッドだからです。各ライブラリには多くのメソッドを持つクラスがあり、そのうちのいくつかは使われていないかもしれません。さらに、クラスは他のライブラリも参照し、そのライブラリのメソッドの一部も未使用である。その結果、未使用のメソッドが大量にスタックされる可能性があります。コンパイルされたコードの大きさから判断して、コンパイラは自動的に未使用のメソッドを排除している。つまり、この仕事はコンパイラがやってくれるので、自分で探しても意味がないのです。 由利 これは当然です。しかし、ソースコードをお客さんに渡すとなると、きれいにしたいものです。そして、紆余曲折のプロセスが始まる。テンプレートはそれほど多くなく、特定のTCクラス用にいくつか用意されています。この件に関係ない関数を片付けなければならない。EA本体の中だけで未使用の関数や変数を指し示す「魔法のボタン」が欲しいです。 Andrei Savchenko 2014.02.06 11:07 #1876 前問の議論は終わっているかと思います。トピックが終了し、質問をするのに適切なタイミングを知ることは困難です。ヒントを教えてください。St_handleとMA_handleの 計算結果を1つの2次元配列に埋める方法がわからず、1次元配列にしか 渡すことができません。/+------------------------------------------------------------------+ //| 11.mq5 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property indicator_separate_window #property indicator_minimum 0 #property indicator_maximum 100 #property indicator_buffers 1 #property indicator_plots 1 //--- plot Label1 #property indicator_label1 "Label1" #property indicator_type1 DRAW_LINE #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- input parameters input int Input1=0; input int Input2=0; //--- indicator buffers double Label1Buffer[]; double MA[10000][400]; int St_handle; int MA_handle; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int Kp =51; // с Kp начанается К% на Kp_end заканчивается int Kp_end =400;// с Kp начанается К% на Kp_end заканчивается int MAp =2; // с MAp начанается D% на MAp_end заканчивается int MAp_end=31; // с MAp начанается D% на MA_end заканчивается ENUM_STO_PRICE price_field=1; // цена расчета стохастика 0 Low/High 1 Close/Close St_handle=iStochastic(NULL,0,Kp,1,1,MODE_EMA,price_field); for(MAp=2;MAp<MAp_end;MAp++) { MA_handle=iMA(NULL,0,MAp,0,MODE_EMA,St_handle); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Yury Reshetov 2014.02.06 13:01 #1877 C-4: これは問題ではありません。問題は、まさにクラス内の 未使用のメソッドを見つけることです。 クラスで使われていないメソッドとはどういう意味ですか?OOPではこのようなことは行われません。アルゴリズムによるプログラミングとは対照的に、通常のOOPプログラマーは、同じクラスが後に他のアプリケーションで使われたり、クラスライブラリの一部になる可能性があるため、あらゆる場面で必要なフィールドとメソッドを備えたクラスを作成する。もちろん、1つのプロジェクト内であっても、ソースコードを探し出して必要なフィールドやメソッドを後から追加する必要がないように、削ぎ落としたものではなく、完全なクラスを作成した方が良いことは言うまでもありません。OOPでは、アルゴリズムプログラミングで多くの人が慣れる、どんな経済性も、後で不利になることがあります。使わないものはすべて、プログラマーではなく、コンパイラがコードから除外しなければならない。もちろん、OOPはアルゴリズムプログラミングと比較して、ソースコードが大きくなります。しかし、このプロジェクトの「余分な」コードの多くは、他のプロジェクトで再利用できるので、これはデメリットではなく、メリットなのです。C-4: 私自身は500以上のメソッドを持っています。相互関係は非常に複雑です。 初歩的なコードは避けられない。使わなくなったものがすぐにわかるので、とても便利です。 難問を作ろうとしないこと、つまり1つのクラスにすべてを詰め込もうとしないことです。クラスライブラリを作成する必要があります。つまり、機能を別々のクラスに分解し、このようなものにコメントを含めることを忘れないでください。私もPascalの後にJavaを学び始めた当初は、アルゴリズムプログラミングのように、あるタスクに必要なものをすべて1つのクラスにしてしまう、つまりOOPを 使わないで、すべてを1つのクラスにしてしまおうとしました。その結果、ユニバーサルではない混乱が生じ、後でどこにでも適用することは不可能であり、そのようなコードを理解することが困難であることは言うまでもない。 Yury Reshetov 2014.02.06 13:18 #1878 Andrei-1:ヒントを教えてください。St_handleとMA_handleの 計算結果を1つの2次元配列に埋める方法がわからず、1次元配列にしか 渡すことができません。何が言いたいの?つまり、なぜオッカムのカミソリを使わず、こぶを作るのか?つまり、2次元配列は2つの1次元配列に比べて何が優れているのでしょうか?結局、まずはデフォルトの指標で作られた2つの一次元のものから、二次元のものに何かを押し込んで、そこから何かを取り出す必要があるのです。無駄な作業をし、他人を巻き込もうとしている。一次元配列に問題があるとすれば、その苦労が報われることだろう。 Andrei Savchenko 2014.02.06 13:35 #1879 フォーラムを覗いた後、これがどれほどのメモリを必要とするのかを知りました。一次元の配列を埋めて、その中の信号を探し、上書きして、また信号を探すことにした。こんな感じ。1時間に1〜2回の検索で十分です。St_handle=iStochastic(NULL,0,Kp,1,1,MODE_EMA,price_field); // создание хэндла стохастика for(MAp=1;MAp<MAp_end;MAp++) //перебор сглаживаний { MA_handle=iMA(NULL,0,MAp,0,MODE_EMA,St_handle); // создание хэндла сглаженного стохастика CopyBuffer(MA_handle,0,0,400,MA); // заполнение одномерного массива значениями стохастика if(MA[1]>6) Alert(MA[1]); // начинается поиск сигнала } Vladimir Skorina 2014.02.06 16:22 #1880 話がずれていたらごめんなさい・・・。介助者delphi 7のDLプロシージャで...procedure test1(var data: array of Double); stdcall; begin ShowMessage('Entered ');を終了します。mt4 で。#import "gayss.dll" void test1( double &data[] );#importArrayResize(data, 6); data[0]= 2; data[1]= 4; data[2]= 8; data[3]= 16; data[4]= 21.となります。data[5]= 3;test1(データ)です。とエラーが表示される...2014.02.06 17:39:04.241 スタック破損、'SOG_2014.mq4' の DLL関数 呼び出しをチェック (80,7) 正しい方法を知っている人は...。 テストの操作ログ - アルゴリズム取引、自動売買ロボット 1...181182183184185186187188189190191192193194195...1504 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
グラフィカルなオブジェクトをどの間隔で表示するのかがわからない
すべてのタイムフレームで
ありがとうございます。
OBJ_ALL_PERIODS=2097151
MQL4で行われているような、未使用の関数や変数に関するメッセージを取得するキーがコンパイラにあるかどうか、誰か知っていますか?
mql4ではどうなっているのでしょうか?
未使用の関数に関する警告を表示しないことについて質問されたレナートは、表示しないと答えた。プラガブル・ライブラリの使用に関連して。以前は旧ビルドにありました。今はそうではありません。EA本体で使っていない機能を探すのは、とても不便です。未使用の変数については、関数本体で見つかった場合のみ説明し、start() や OnTick() では説明しない。
mql4ではどうなっているのですか?
未使用の関数に関する警告を表示しないことについて質問されたレナートは、表示しないと答えた。プラグインライブラリを使用しているため。以前は旧ビルドにありました。今はそうではありません。EA本体で使っていない機能を探すのは、とても不便です。未使用の変数については、関数本体で見つかった場合のみ説明し、start() や OnTick() では説明しない。
OOPでは関数ではなく、メソッドだからです。各ライブラリには多くのメソッドを持つクラスがあり、そのうちのいくつかは使われていないかもしれません。また、クラスは他のライブラリも参照しており、その中のいくつかのメソッドは使用されていません。その結果、使われないメソッドが大量に発生する可能性があります。
コンパイルされたコードの量から判断して、コンパイラは自動的に未使用のメソッドを排除している。つまり、自分で探しても意味がない。この作業はコンパイラがやってくれるからだ。
なぜなら、OOPでは関数ではなく、メソッドだからです。各ライブラリには多くのメソッドを持つクラスがあり、そのうちのいくつかは使われていないかもしれません。さらに、クラスは他のライブラリも参照し、そのライブラリのメソッドの一部も未使用である。その結果、未使用のメソッドが大量にスタックされる可能性があります。
コンパイルされたコードの大きさから判断して、コンパイラは自動的に未使用のメソッドを排除している。つまり、この仕事はコンパイラがやってくれるので、自分で探しても意味がないのです。
なぜなら、OOPでは関数ではなく、メソッドだからです。各ライブラリには多くのメソッドを持つクラスがあり、そのうちのいくつかは使われていないかもしれません。さらに、クラスは他のライブラリも参照し、そのライブラリのメソッドの一部も未使用である。その結果、未使用のメソッドが大量にスタックされる可能性があります。
コンパイルされたコードの大きさから判断して、コンパイラは自動的に未使用のメソッドを排除している。つまり、この仕事はコンパイラがやってくれるので、自分で探しても意味がないのです。
前問の議論は終わっているかと思います。トピックが終了し、質問をするのに適切なタイミングを知ることは困難です。ヒントを教えてください。St_handleとMA_handleの 計算結果を1つの2次元配列に埋める方法がわからず、1次元配列にしか 渡すことができません。
これは問題ではありません。問題は、まさにクラス内の 未使用のメソッドを見つけることです。
クラスで使われていないメソッドとはどういう意味ですか?OOPではこのようなことは行われません。アルゴリズムによるプログラミングとは対照的に、通常のOOPプログラマーは、同じクラスが後に他のアプリケーションで使われたり、クラスライブラリの一部になる可能性があるため、あらゆる場面で必要なフィールドとメソッドを備えたクラスを作成する。もちろん、1つのプロジェクト内であっても、ソースコードを探し出して必要なフィールドやメソッドを後から追加する必要がないように、削ぎ落としたものではなく、完全なクラスを作成した方が良いことは言うまでもありません。
OOPでは、アルゴリズムプログラミングで多くの人が慣れる、どんな経済性も、後で不利になることがあります。使わないものはすべて、プログラマーではなく、コンパイラがコードから除外しなければならない。
もちろん、OOPはアルゴリズムプログラミングと比較して、ソースコードが大きくなります。しかし、このプロジェクトの「余分な」コードの多くは、他のプロジェクトで再利用できるので、これはデメリットではなく、メリットなのです。
私自身は500以上のメソッドを持っています。相互関係は非常に複雑です。 初歩的なコードは避けられない。使わなくなったものがすぐにわかるので、とても便利です。
ヒントを教えてください。St_handleとMA_handleの 計算結果を1つの2次元配列に埋める方法がわからず、1次元配列にしか 渡すことができません。
何が言いたいの?つまり、なぜオッカムのカミソリを使わず、こぶを作るのか?つまり、2次元配列は2つの1次元配列に比べて何が優れているのでしょうか?結局、まずはデフォルトの指標で作られた2つの一次元のものから、二次元のものに何かを押し込んで、そこから何かを取り出す必要があるのです。無駄な作業をし、他人を巻き込もうとしている。
一次元配列に問題があるとすれば、その苦労が報われることだろう。
話がずれていたらごめんなさい・・・。
介助者
delphi 7のDLプロシージャで...
procedure test1(var data: array of Double); stdcall;
begin
ShowMessage('Entered ');
を終了します。
mt4 で。
#import "gayss.dll"
void test1( double &data[] );
#import
ArrayResize(data, 6);
data[0]= 2;
data[1]= 4;
data[2]= 8;
data[3]= 16;
data[4]= 21.となります。
data[5]= 3;
test1(データ)です。
とエラーが表示される...2014.02.06 17:39:04.241 スタック破損、'SOG_2014.mq4' の DLL関数 呼び出しをチェック (80,7)
正しい方法を知っている人は...。