[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 309 1...302303304305306307308309310311312313314315316...652 新しいコメント Владимир Тезис 2011.11.01 08:56 #3081 artmedia70: そうです、自分の出したゴミは自分で片付けるのがマナーなのです...。 しかし、この文脈で、「ゴミ」を今すぐ片付ける必要があるのか、逆に、「ゴミ」ではなく、さらなる計算のために必要なデータであるのか、どうやって見分けるのでしょう? 私の理解では、deinit()はゴミを掃除するために使われるはずですが、、、。取引商品のチャート削除、EA削除時だけでなく、TF変更時にも実行されます。この場合、TFに蓄積されたデータはすべて失われ、Expert Advisorは前のタイムフレームに戻るとゼロ配列で動作を再開します。Expert Advisorのパラメータを変更しても同じことが起こります。 状況によっては、「ゴミの収集」は単純な配列サイズの変更ではなく、複雑な論理処理であることが判明したのです。 まあ、複雑な話ではないんですけどね。ループ内で、配列を値で初期化する。そして、出来上がった配列を使って作業します。仕事が終わったら、長さをゼロにする。もし疑問があれば、コードの最後、return(0)の直前でやってもよいでしょう。 Vitaliy Andreischev 2011.11.01 09:29 #3082 ログファイルを読むには、以下のようなコードを提案してください。現在のログファイルを日付ごとに自動的に読み出して、プリンターに出力します。 どこで while (result>0) { ファイルを部品から組み立てているところです。しかし、ファイル全体は必要なく、最後の一行だけでいいのです。修正にご協力ください。 void ReadWrite() { string tekTime=TimeStr1(CurTime(),1); string path=TerminalPath()+"\\logs\\"+tekTime+".log"; string title="Чтение из файла"; string msg; int result; int handle=_lopen(path,4); if (handle<0) { msg="Ошибка открытия файла"; //MessageBox(msg,title,MB_OK|MB_ICONERROR); Print(msg); return; } result=_llseek (handle,0,0); string buffer=""; //string char="x "; string char="x "; int count=0; result=_lread (handle,char,250); while (result>0) { buffer=buffer+char; char="x "; count++; result=_lread (handle,char,250); } result=_lclose (handle); msg=StringTrimRight(buffer); //MessageBox(msg,title,MB_OK|MB_ICONINFORMATION); Print(msg); } //------------------расчет времени---------------- string TimeStr1(int taim,int tip) { string sTaim; string sTaim1,sTaim2,sTaim3; if (tip==1) { int GD=TimeYear(taim); int MN=TimeMonth(taim); int DD=TimeDay(taim); sTaim1 = DoubleToStr(GD,0); if (MN<10) sTaim2 = StringConcatenate(sTaim2,"0"+DoubleToStr(MN,0)); else sTaim2 = StringConcatenate(sTaim2,DoubleToStr(MN,0)); if (DD<10) sTaim3 = StringConcatenate("0",DoubleToStr(DD,0)); else sTaim3 = DoubleToStr(DD,0); sTaim=sTaim1+sTaim2+sTaim3; } return(sTaim); } Artyom Trishkin 2011.11.01 09:36 #3083 drknn: まあ、難しくはないんですけどね。ループの中で、配列は値で初期化さ れます。そして、出来上がった配列を使って作業しました。作業が終わったら、長さゼロの配列に するんです。もし疑問があれば、コードの最後、return(0)の直前でやってもよいでしょう。 誤解された。 この会話の前提を正しく理解すれば)ループとはEAそのものの ことです。結局のところ、ティックが来るたびに、新しい値を書き込む必要があるかどうかによって、配列は増えるか、変わらないかのどちらかになるのです。 例えば、ある人が時間軸を変更したとかではなく、仕事が 終わったとどうしてわかるのでしょうか。偶然にも...。この場合、deinit()が呼び出され、すべてのデータが失われます。Expert Advisorは、新しいタイムフレーム(新しいサイクル)で得られた値に基づいて、それらを新たに保存(動的配列に 書き込む)し始める。 本気です。 Vadim Zhunko 2011.11.01 10:02 #3084 artmedia70: 私は理解されなかった。 今回の議論の前提を正しく理解すれば、)サイクルはExpert Advisor自体の働き です。結局のところ、ティックが来るたびに、新しい値を書き込む必要があるかどうかによって、配列は増加するか、あるいは変化しないかのどちらかになるのです。 例えば、人が時間軸を変えているだけでなく、仕事が終わっているかどうか、どうやって見分ける のですか?偶然にも...。この場合、deinit()が呼び出され、すべてのデータが失われます。エキスパートアドバイザーは、新しいタイムフレーム(新しいサイクル)で得られた値に基づいて、それらを新たに蓄積(動的配列に書き込む)し始めます。 私が言いたいのは、こういうことです。 細かく言えば、この 機能を使うことができます。初期化解除の理由を教えてくれます。 Vitaliy Andreischev 2011.11.01 10:15 #3085 私は、この端末のある特殊な機能に気づきました。注文の利益計算ではOrderSwap()を考慮しないので、一気に決済してほしい。 この計算式を使って、利益で注文を終わらせるべきだということです。 (OrderProfit()+OrderSwap()+OrderCommission())>0とする。 私はコミッションを使ったことがなく、コミッションはデモでは使われないので、アカウントで確認できないのです。 私の計算は正しいのでしょうか? Artyom Trishkin 2011.11.01 11:05 #3086 Zhunko: 細かく言えば、この 機能を使うことができます。初期化解除の理由を教えてくれます。 まったくもってその通り...。:) 忘れてた。さて、「フールプルーフ」の口癖で、使ってみますと...。 Александр 2011.11.01 14:08 #3087 artmedia70: ObjectGetValueByShift()を使って そして、それをどう使うかは、自分だけが知って いる......。 親切な方、ありがとうございました。 削除済み 2011.11.01 16:54 #3088 2つの質問です。 1.配列doubleab=a*bに 1つ目以降の変数double abc[10] を書き込み/入力するにはどうしたらよいですか?2.最初の変数を削除して、11番目の変数を配列に書き込むにはどうすればよいですか? 変数が配列に書かれる順序(前方または後方)は重要ではありません。配列内の変数は、算術平均を求めるために必要です。 削除済み 2011.11.01 18:25 #3089 保留中の注文の ロットサイズを変更することはできますか? Andrey F. Zelinsky 2011.11.01 19:07 #3090 Parn25: 保留中の注文のロットサイズを変更することはできますか? いや、無理でしょう。 変更できる項目はすべてこちらで説明していますhttps://docs.mql4.com/ru/trading/OrderModify 1...302303304305306307308309310311312313314315316...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そうです、自分の出したゴミは自分で片付けるのがマナーなのです...。
しかし、この文脈で、「ゴミ」を今すぐ片付ける必要があるのか、逆に、「ゴミ」ではなく、さらなる計算のために必要なデータであるのか、どうやって見分けるのでしょう?
私の理解では、deinit()はゴミを掃除するために使われるはずですが、、、。取引商品のチャート削除、EA削除時だけでなく、TF変更時にも実行されます。この場合、TFに蓄積されたデータはすべて失われ、Expert Advisorは前のタイムフレームに戻るとゼロ配列で動作を再開します。Expert Advisorのパラメータを変更しても同じことが起こります。
状況によっては、「ゴミの収集」は単純な配列サイズの変更ではなく、複雑な論理処理であることが判明したのです。
まあ、複雑な話ではないんですけどね。ループ内で、配列を値で初期化する。そして、出来上がった配列を使って作業します。仕事が終わったら、長さをゼロにする。もし疑問があれば、コードの最後、return(0)の直前でやってもよいでしょう。
ログファイルを読むには、以下のようなコードを提案してください。現在のログファイルを日付ごとに自動的に読み出して、プリンターに出力します。
どこで
ファイルを部品から組み立てているところです。しかし、ファイル全体は必要なく、最後の一行だけでいいのです。修正にご協力ください。
まあ、難しくはないんですけどね。ループの中で、配列は値で初期化さ れます。そして、出来上がった配列を使って作業しました。作業が終わったら、長さゼロの配列に するんです。もし疑問があれば、コードの最後、return(0)の直前でやってもよいでしょう。
誤解された。
この会話の前提を正しく理解すれば)ループとはEAそのものの ことです。結局のところ、ティックが来るたびに、新しい値を書き込む必要があるかどうかによって、配列は増えるか、変わらないかのどちらかになるのです。
例えば、ある人が時間軸を変更したとかではなく、仕事が 終わったとどうしてわかるのでしょうか。偶然にも...。この場合、deinit()が呼び出され、すべてのデータが失われます。Expert Advisorは、新しいタイムフレーム(新しいサイクル)で得られた値に基づいて、それらを新たに保存(動的配列に 書き込む)し始める。
本気です。
私は理解されなかった。
今回の議論の前提を正しく理解すれば、)サイクルはExpert Advisor自体の働き です。結局のところ、ティックが来るたびに、新しい値を書き込む必要があるかどうかによって、配列は増加するか、あるいは変化しないかのどちらかになるのです。
例えば、人が時間軸を変えているだけでなく、仕事が終わっているかどうか、どうやって見分ける のですか?偶然にも...。この場合、deinit()が呼び出され、すべてのデータが失われます。エキスパートアドバイザーは、新しいタイムフレーム(新しいサイクル)で得られた値に基づいて、それらを新たに蓄積(動的配列に書き込む)し始めます。
私が言いたいのは、こういうことです。
私は、この端末のある特殊な機能に気づきました。注文の利益計算ではOrderSwap()を考慮しないので、一気に決済してほしい。
この計算式を使って、利益で注文を終わらせるべきだということです。
(OrderProfit()+OrderSwap()+OrderCommission())>0とする。
私はコミッションを使ったことがなく、コミッションはデモでは使われないので、アカウントで確認できないのです。
私の計算は正しいのでしょうか?
細かく言えば、この 機能を使うことができます。初期化解除の理由を教えてくれます。
まったくもってその通り...。:)
忘れてた。さて、「フールプルーフ」の口癖で、使ってみますと...。
ObjectGetValueByShift()を使って
そして、それをどう使うかは、自分だけが知って いる......。
親切な方、ありがとうございました。
保留中の注文のロットサイズを変更することはできますか?
いや、無理でしょう。
変更できる項目はすべてこちらで説明していますhttps://docs.mql4.com/ru/trading/OrderModify