私の記憶が正しければ、注文を出したローソク足でいつLowが形成されたかを判断する必要があるのです。このローソク足が現在進行形のときは問題ありません。2つの数値のうち小さい方を変数に 入れ、ローソク足が閉じるまでこの操作を行います。しかし、このローソク足がすでに10本目のときに判断する必要があるとすれば、それはすでにmql4の問題である。mql5でこれを行うのは非常に簡単で、選択した時間刻みを "from and to "でコピーするだけで、配列に必要なものがすべて含まれるようになるのです。しかし、mql4では、ティックをファイルに書き込んで、後でこれらのティックを取得して、この配列を使って、そのローソク足のLowが配列の最小値より低ければ、そのLowは注文を開く前だったということを判断するように提案されました。もし、両者が同じなら、注文を出した後に安値が形成されたことを意味します。
私の記憶が正しければ、注文を出したローソク足のLowがいつ形成されたかを判断する必要があるのです。このローソク足が現在進行形のときは問題ありません。2つの数値のうち小さい方を変数に 入れ、ローソク足が閉じるまでこの操作を行います。しかし、このローソク足がすでに10本目のときに判断する必要があるとすれば、それはすでにmql4の問題である。mql5でこれを行うのは非常に簡単で、選択した時間刻みを "from and to "でコピーするだけで、配列に必要なものがすべて含まれるようになるのです。しかし、mql4では、ティックをファイルに書き込んで、後でこれらのティックを取得して、この配列を使って、そのローソク足のLowが配列の最小値より低ければ、そのLowは注文を開く前だったということを判断するように提案されました。もし、両者が同じなら、注文を出した後に安値が形成されたことを意味します。
uintFileWriteArray(
int file_handle, // handle файла constvoid& array[], // массив int start=0, // начальный индекс в массиве int count=WHOLE_ARRAY// количество элементов
);
と読みます。
uintFileReadArray(
int file_handle, // handle файла void& array[], // массив для записи int start=0, // стартовая позиция для записи в массив int count=WHOLE_ARRAY// сколько читать
);
お役に立ててうれしいです:=):=):=)
さて、私のコードですが、おそらく突っつくのも嫌になるくらいひどいものです。しかし、少なくとも、私がこのコードの1つの配列(価格の値)をファイルに書き、プログラムがこのファイルからそれを読み、さらに計算でその値を使用する場合、60要素だけの配列で、このコードの利点は何であるか教えてください。私のコードの具体的にどこが最適なのでしょうか?よろしくお願いします。
コードの品質がどうのこうのということではありません。他の人のコードは一切見ない。私が必要とするもの、または慈愛の発作の苦しみにあるものを除いて、:=))しかし、それはあまり頻繁に起こりません...。
もしよろしければ、結果として何が必要なのか、そのために何をしたのか、言葉で表現してください。そうすれば、問題がどの程度の方向性を持っているのかが明確になるはずです。
或いは慈愛の発作の苦しみの中で、:=)))・・・。
再発は春先が多いとのことですが、早く寛解してほしいものです :=)))
そして、あなたの 攻撃は できるだけ頻繁にしてほしいものです...^^;)):=)))
ご指摘ありがとうございます。コバレフの教科書から「FILE OPERATIONS」の項をすでに読み始めています。たしかに...何かが見えてきたような気がします。私がテストしているすべてのEAは、Testerターミナルのディレクトリにある拡張子が.cvvのバー価格のテキストファイル(私のプログラムでは作成されていませんが)を読んでいると理解しました。
つまり、任意のプログラムからの情報(データ)をファイルに書き込み、このデータをファイルから読み出すことも、任意のプログラムによって可能なのです。プログラムに保存するのが合理的でない大量のデータがファイルに保存されているようです。mqhファイルのようなもの。
Alexey Victorovのフレーズの意味を説明したい場合: "....csv を書き、配列を読みたいですか..." 投稿#14384から 投稿#14382
からの私のコードを参照して。 私は、彼がtesterディレクトリから棒グラフを含むテキストファイル.cvvを意味していると思いました。しかし、具体的にどういうことなのか、私にはまだわかりません。この.cvvファイルを書いているのは私ではなく、アルパリディーラーのプログラム...プログラムが配列から読み取る方法 - 一般的に、私は少し理解している...配列のセルにアドレスでアクセスし、セルの中に入り、セルの値にアクセスする(つまり読み出す)のです。配列から読み出すのではなく、配列に読み込むプログラムはどのようにすればよいのでしょうか?これは解けない矛盾である......と素人考えで思える。配列では、なぜか一部の値しか書けないような気がするのです。また、 配列からの 読み込みしかできません。
配列を2進数で書くとコバレフがない。教科書は2009年のものです。binfilesしかなかった。そして、後からbinファイルへの配列が現れました。Binファイルの書き込み、読み出しが高速になりました。改行がないんです。しかし、人間には読めない)。
コバレフにはバイファイルアレーの記録がない。教科書は2009年のものです。そこには、ビンファイルしかなかった。その後、binファイルへの配列が表示されました。Binファイルの書き込み、読み出しが高速になりました。改行がないんです。しかし、人間には読めない)。
私にとって新しい情報、どうもありがとうございました。そして、それを50%理解する...。このテーマは、今の自分に必要だと確信できれば、深く勉強していきたいと思います。
現時点では、私の小さなコード#14382に 焦点を当て、最小限の時間と他のコンピュータリソースを使用して、2ポイントの差で1分ローソク足で開いた2つの隣接する注文間の最小価格を見つけようとしました。このために配列を作成しました。ここで、この配列をある関数を使ってファイルに書き出し、さらに別の関数を使ってファイルから(つまり配列から)データを取り出して計算しなければならないと説得しようとする人がいます。
しかし、このコードの1つの配列(価格の値)をファイルに書き、プログラムがこのファイルから読み込んで、その後の計算でその値を使うとしたら、どこに利点があるでしょうか? しかも、その配列には60の要素しか含まれないでしょう。私のコードでは、具体的に何が最適なのでしょうか?
テストの過程で当然 そのような注文が多くなる 分ローソク足の内側で、その間の最小値を計算する必要があります。 がたくさん出てくるでしょう。.私のコードは、思いついたアイデアを図解したものに過ぎません。
アレクセイ・ヴィクトロフは、まだチャリティーの発作を起こしていないので、この質問には答えられない.そして、彼はそれに関連した苦悩と痙攣を経験していない :=)。
もしかしたら、私が前に進むための前提条件がすでに揃っているのかもしれません。
よろしくお願いします。
聖杯の 生みの親を理解するのは難しい。すべての計算をインジケータに渡して、Expert Advisorに信号を取得することが可能です。
私にとって新しい情報、どうもありがとうございました。しかも、50%も理解していたのに...。そして、今の段階で自分に必要だと確信したら、このテーマを徹底的に勉強します。
今、私は自分のコード#14382に 集中して、最小限の時間と他のコンピュータリソースを使用して、2ポイント差で1分間のローソク足で開いた2つの隣接する注文間の価格の最小値を見つけようとしています。そのために、私は配列を作成しました。ここで、この配列をある関数を使ってファイルに書き出し、さらに別の関数を使ってファイルから(つまり配列から)データを取り出して計算しなければならないと説得しようとする人がいます。
しかし、このコードの1つの配列(価格の値)をファイルに書き、プログラムがこのファイルから読み込んで、その後の計算でその値を使うとしたら、どこに利点があるでしょうか? しかも、その配列には60の要素しか含まれないでしょう。私のコードでは、具体的に何が最適なのでしょうか?
もちろん、テスト中も。 そのような注文が多くなる 分足のローソク足の内側で、その間の最小値を計算する必要があります。 がたくさん出てくるでしょう。.私のコードは、思いついたアイデアを図解したものに過ぎません。
アレクセイ・ヴィクトロフは、まだチャリティーの攻撃を受けていないので、この質問には答えられない・・・。そして、彼はそれに関連した苦悩と痙攣を経験していない :=)。
もしかしたら、私が前に進むための前提条件がすでに揃っているのかもしれません。
よろしくお願いします。
ちょっと理屈がわからない。なぜ、いくつかのデータを配列に書く必要があるのでしょうか? 変数に書けばいいのです。配列は、同じ型の変数がたくさんある場合です。また、5個以下の場合は、変数に格納することができます。配列に格納されたデータをファイルに書き出し、後で同じExpert Advisorで読み取ることができるようにする理由は何ですか?とにかく使えるのです。これらは、異なるExpert Advisor間で交換するため、またはさらなる処理のためにファイルに書き込まれ、このEAには書き込まれません。また、配列は常にグローバルです。
私にとって新しい情報、どうもありがとうございました。しかも、50%も理解していたのに...。そして、今の段階で自分に必要だと確信したら、このテーマを徹底的に勉強することにしています。
今、私は自分のコード#14382に 集中して、最小限の時間と他のコンピュータリソースを使用して、2ポイント差で1分間のローソク足で開いた2つの隣接する注文間の価格の最小値を見つけようとしています。そのために、私は配列を作成しました。ここで、この配列をある関数を使ってファイルに書き出し、さらに別の関数を使ってファイルから(つまり配列から)データを取り出して計算しなければならないと説得しようとする人がいます。
しかし、このコードの1つの配列(価格の値)をファイルに書き、プログラムがこのファイルから読み込んで、その後の計算でその値を使うとしたら、どこに利点があるでしょうか? しかも、その配列には60の要素しか含まれないでしょう。私のコードでは、具体的に何が最適なのでしょうか?
当然、テスト中も。 そのような注文が多くなる 分足のローソク足の内側で、その間の最小値を計算する必要があります。 がたくさん出てくるでしょう。.私のコードは、思いついたアイデアを図解したものに過ぎません。
アレクセイ・ヴィクトロフは、まだチャリティーの攻撃を受けていないので、この質問には答えられない・・・。そして、彼はそれに関連した苦悩と痙攣を経験していない :=)。
もしかしたら、私が前に進むための前提条件がすでに揃っているのかもしれません。
ありがとうございました。
まだ始まったばかりなので、詳しく答えるのは難しいのですが......それでも気を利かせてみます。
私の記憶が正しければ、注文を出したローソク足でいつLowが形成されたかを判断する必要があるのです。このローソク足が現在進行形のときは問題ありません。2つの数値のうち小さい方を変数に 入れ、ローソク足が閉じるまでこの操作を行います。しかし、このローソク足がすでに10本目のときに判断する必要があるとすれば、それはすでにmql4の問題である。mql5でこれを行うのは非常に簡単で、選択した時間刻みを "from and to "でコピーするだけで、配列に必要なものがすべて含まれるようになるのです。しかし、mql4では、ティックをファイルに書き込んで、後でこれらのティックを取得して、この配列を使って、そのローソク足のLowが配列の最小値より低ければ、そのLowは注文を開く前だったということを判断するように提案されました。もし、両者が同じなら、注文を出した後に安値が形成されたことを意味します。
ただし...EAが動けば、ここに 書かれているように変数で判断すれば十分です。このための関数があるので、ドキュメントにある数学関数の項目を読んでください。何らかの理由でEAが動かないと、ティックを記録せず、取得すらできないことになります。
始まりが 遠いので、詳しく答えるのは難しいのですが......気の利いたことを言ってみることにします......。
私の記憶が正しければ、注文を出したローソク足のLowがいつ形成されたかを判断する必要があるのです。このローソク足が現在進行形のときは問題ありません。2つの数値のうち小さい方を変数に 入れ、ローソク足が閉じるまでこの操作を行います。しかし、このローソク足がすでに10本目のときに判断する必要があるとすれば、それはすでにmql4の問題である。mql5でこれを行うのは非常に簡単で、選択した時間刻みを "from and to "でコピーするだけで、配列に必要なものがすべて含まれるようになるのです。しかし、mql4では、ティックをファイルに書き込んで、後でこれらのティックを取得して、この配列を使って、そのローソク足のLowが配列の最小値より低ければ、そのLowは注文を開く前だったということを判断するように提案されました。もし、両者が同じなら、注文を出した後に安値が形成されたことを意味します。
しかし...EAがうまくいけば、変数に格納するだけで十分です。ここで 説明されているように、この目的のための関数があり、ドキュメント内の数学関数のセクションで読むことができます。
特に、mql4とmql 5の比較について。 しかし、不思議なことに、あなたがおっしゃるような課題は、私自身も解いたことがあり、その解き方には独創性と最適性があり、驚かさ れました。
そ の後、 別の同様の問題に直面 しました#14373 ,#14379 刻み目をファイルに書き込むように言われました#14375,#14379
ティックをファイルに書き込む代わりに、ティックをファイルに書き込まずに私のタスクを解決するコードを作成しました#14382このコードを使用して、最小限の時間と他のコンピュータリソースを使って、2ポイント差で1分間のローソク足で開いた2つの隣接する注文間の最小価格を見つけようとして います。 もちろん、1分足のローソク 足の中には、 このような注文が たくさん あり、その間の最小値を計算 する必要があります。これはあくまで私の考えを説明するための図解です。
という質問に対する答えに興味があります。 アドバイスいただいたように、ファイルにティックを書き込んだ場合、私のコードの利点は何でしょうか?私のコードでは具体的に何が最適に なるのでしょうか?
この質問については、Valeriy Yastremskiy#14400が 光を当ててくれました。 しかし、ティックをファイルに入れることを助言した人のフィードバックに耳を傾けたいと思います。
ありがとうございました。
論理が少し不明瞭です。なぜ、データのペアを配列で書くのか。変数で書けばいい。配列は、同じ型の変数がたくさんある場合です。また、5個以下の場合は、変数に格納することができます。配列に格納されたデータをファイルに書き出し、後で同じExpert Advisorで読み取ることができるようにする理由は何ですか?とにかく使えるのです。 これらは、異なるExpert Advisor間で交換するため、またはさらなる処理のためにファイルに書き込まれ、このEAには書き込まれません。 また、配列は常にグローバルです。
ご指摘ありがとうございます。そうですね、5刻み以下ということもありますね。しかし、1分のキャンドルで秒よりも多くのティックがあることができ、隣接する注文の間にその数はまた5よりもはるかにすることができます。
私は私の思考が強調された赤と一致したことを特に喜んでいた。しかし、より経験豊富な同志が私の不安を補強してくれたので、自信が持てました。
特に、mql4とmql 5の比較について。 しかし、不思議なことに、私自身、上記の問題を解決し、その独創性と最適 性に驚かされたのです。
そして、この記事にあるような別の問題に直面しました。
ティック ごとに価格値を追う必要があるんです。また、X+2の 時点で周期的に行う方法、 iLowやiLowestの ようにX+2の時点で一気に 行う方法も知っています。
ご教授いただければ幸いです。
感謝
ダニをファイルに記録するようアドバイスされたことがある
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム。
MQL4、MQL5の初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。
マカーFX, 2021.04.09 17:17
ティックのファイルへの書き込みトレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム。
MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。
アレクセイ・ヴィクトロフ, 2021.04.09 18:33
できます。を使って.binファイルに書き込んでください。
と読みます。
刻みをファイルに書き込む代わりに、刻みを書き込まずに問題を解決するコードを作りました
ファイルに書き出す ことなく、もっと簡単な方法で実現できないものでしょうか?私のコードのようにこれは動作するコードではありませんが、1分足のローソク足で開いた2つの隣接する注文の間の最小値を見つける方法についての私のアイデアを説明するものです
助けてくれてありがとう。
各Tickの価格をファイルではなく、直接配列に書き込んだということです。
このコードでは、最小限の時間と他のコンピュータリソースを使用して、2ポイントの差で1分ローソク足で開かれた2つの隣接する注文の間の価格の最小 値を見つけることを試みます。 もちろん、1分足のローソク 足の中には、 このような注文が たくさん あり、その間の最小値を計算 する必要があります。これはあくまで私の考えを説明するための図解です。
という質問に対する答えに興味があります。 アドバイスいただいたように、ファイルにティックを書き込んだ場合、私のコードの利点は何でしょうか?私のコードでは具体的に何が最適に なるのでしょうか?
この質問については、Valeriy Yastremskiy#14400が 光を当ててくれました。 しかし、ティックをファイルに入れることを助言した人のフィードバックに耳を傾けたいと思います。
ありがとうございました。
特に私は、助けようとすることに負担をかけないために、メッセージを「ポケットに」入れて、リンクではなく、ペーストするのがよいでしょう。
さて、この問題についてですが、注文その1がオープンしました・・・この時点でLowはもちろん注文のオープン価格より低くなっています。まあ、正直に言うと...。
注文番号2が開いていて、価格を......でコントロールする必要があります。 再び数学関数fmin()を使って、ローソク足が閉じる前の値を変数に書き込みます。ローソク足が閉じたら、価格制御を止める、もう必要ないんです。取得した値は、2回目の注文開始からローソク足が閉じるまでの時間帯の最低価格となります。それとも私が勘違いしているのか...。