"ダミー "からの質問 - ページ 69 1...626364656667686970717273747576...277 新しいコメント Yedelkin 2011.09.25 08:02 #681 rlx: すべてエラーなく正しく変換されます MQL5 Reference / Language Basics / Data Types / Type conversion」において、2つのことが述べられています。 1) long=>double 変換は、精度を損なう可能性があります。 2) long型の代わりにdatetime型が使用可能(それぞれ8バイトを要する)。 理想を言えば、datetime =>double の変換も精度が落ちる可能性がある、という結論に達しました。でも、例を挙げることはできません。 rlx です。 datetimeをindicateに格納するのはいかがなものか......あるいはdouble型の バッファ ドットがたくさん追加されたり、何らかのリファレンスが表示されたりします。 インジケーターバッファー」(スペース2つ)というように、2つの単語の間に余分なスペースを入れるとわかりやすいでしょう。 Vladimir Kustikov 2011.09.25 11:56 #682 Yedelkin: MQL5 Reference Guide / Language Basics / Data Types / Type conversion」において、2つのことが述べられています。 1) long=>double 変換は、精度を損なう可能性があります。 2) long 型の代わりに datetime 型(8バイト)を使用できるようにした。 理想を言えば、datetime =>double の変換も精度が落ちる可能性がある、という結論に達しました。でも、例を挙げることはできません。 2つの単語の間に余分なスペースを入れるのは簡単です。"indicator buffers"(スペース2つ)です。簡単なコンバージョンテストを書けば、自分の目で確認することができます。そして、他の人には後で教えてあげてください。 Yedelkin 2011.09.25 12:28 #683 Vladix: 簡単な変換テストを書けば、自分の目で確認することができます。そして、後でみんなに教えてあげればいいんです。 本質的な答えがあるのか? 簡単な変換テスト」は、すでにrlxさんが 行っています。参考資料による疑義は上記の通りです。datetime =>double の変換が正しくない例があれば、質問してください。 Vladimir Kustikov 2011.09.25 14:24 #684 Yedelkin:実質的な答えはあるのでしょうか?簡単な変換テスト」は、すでにrlxさんが 行っています。参考資料による疑義は上記の通りです。datetime =>double の変換が正しくない例があれば、教えてください。void OnStart() { double vDbl = 1.7976931348623158 e+308; datetime vTime = (datetime)vDbl; Print((double)vTime); }2011.09.25 16:24:38 test (EURUSD,H1) -9.223372036854776e+018これは問題が発生する可能性のある例ですが、あなたのケースではないことは確かです。 Yedelkin 2011.09.25 14:33 #685 Vladix: 2011.09.25 16:24:38 test (EURUSD,H1) -9.223372036854776e+018 これは問題が発生する可能性のある例ですが、あなたのケースではないことは確かです。 おめでとうございます。ライブ・アンド・ラーニング! Mykola Demko 2011.09.25 14:36 #686 Vladix:2011.09.25 16:24:38 test (EURUSD,H1) -9.223372036854776e+018これは問題がある場合の例ですが、あなたのケースではないことは確かです。あまり正しい例ではない、20分間チンカスという言葉通り(自分のことではなく、使う人のことです)現在のdatetimeの値は、1316816136それらの10桁、それは40年であり、仮数倍は16桁です。したがって、Mantis doubleのオーバーフローとそれに続くdatetimeからdoubleへの誤った変換は、6*40=240年後に発生することになります。使う時間はあると思います。 Vladimir Kustikov 2011.09.25 14:52 #687 Yedelkin: スパ!スパ生きていると、長い時間学ぶことができます今、あなたのために一例をまとめてみました。出力は以下の通りです。datetime型は3000年12月31日23時59分59秒まで 定義されており、32535215999と なります。double 型は1.7976931348623158e+308 まで定義されています。datetimeの最大値をdoubleに変換する場合、有効桁数にまだ許容誤差があることが判明した。したがって、結論としては、すべてのケースで正しく動作することになります。ウラン です。これは、20分間、ガラスのチンコを持った馬鹿に言うのだから、あまり正しい例ではない。例えが良くないですね。型を与える ときに値の境界値を確認する必要があるという例です、あくまで余談ですが。しかし、繰り返しになりますが、これは事実ではありません。 Mykola Demko 2011.09.25 15:33 #688 前の計算が正しくなかった、より正確にはここ:15桁を使用、16桁目が存在する場合、変換エラーが発生するため long i,l;double d; for(i=0;i<999999999999999;i+=365*86400){d=(double)i;l=(long)d;if(i!=l)break;} Print("до ",(1970+i/(365*86400))," года datetime в double преобразуется верно");31711762年までのdatetimeがdoubleに正しく変換されます。だから、3100万年目までぐっすり眠れるのです。 rlx 2011.09.27 17:47 #689 ex5ライブラリからインポートした関数を呼び出す。お願いします、説明してください。読む https://www.mql5.com/ru/docs/runtime/importsシステムライブラリ(DLL)は、オペレーティングシステムの規則に従ってロードされます。ライブラリが既にロードされている場合(例えば、別のExpert Advisorや、並行して実行されている別のクライアント端末からも)、呼び出しは既にロードされているライブラリに送られます。ex5ライブラリはどのようにロードされますか?ライブラリが既にロードされている場合(例えば、別のExpert Advisorや、並行して実行されている別のクライアント端末からもロードされている場合)。テストのために、私はライブラリlib.mq5。#property library int i=0; int Get(void) export {return(i++);} lib.mq5 を lib.ex5 にコンパイルした。作成されたExpert Advisorエキスパート.mq5#import "lib.ex5" int Get(void); #import void OnTick() { Print(Get()); }コンパイルした。EURUSDにExpert Advisorを設置しました。印刷されます。012345GBPUSDにExpert Advisor(オプション)を付ける印刷物6 --- EURUSD Expert Advisorより0 --- GBPUSD Expert Advisorより。 7 --- EURUSD Expert Advisorより1 --- GBPUSD アドバイザーより。 8 --- EURUSD アドバイザーより2 --- GBPUSD アドバイザーより。GBPUSD Expert Advisor 用に lib.ex5 ライブラリをもう一枚ダウンロードした場合など。 印刷する 方法をご存知の方はいらっしゃいますか?6 --- EURUSD Expert Advisorより7 --- GBPUSD Expert Advisorより。 8 --- EURUSD Expert Advisorより。9 --- GBPUSD アドバイザーより。 10 --- EURUSD アドバイザー11 --- GBPUSD アドバイザーより。MT5の機能のみを使用PS// あるいは、特別な方法で図書館に接続する必要があるのかもしれませんね。///// I.e. このex5ライブラリは一度だけ読み込ませる必要があります。 Документация по MQL5: Программы MQL5 / Вызов импортируемых функций www.mql5.com Программы MQL5 / Вызов импортируемых функций - Документация по MQL5 Questions from a "dummy" T101 mini HEDGE EA I will write an Denis Lysenko 2011.09.27 18:52 #690 こんにちは。教えてください。なぜ注文や取引にはチケットがあるのに、ポジションにはないのですか?また、チケットとIDの違いは何ですか? 1...626364656667686970717273747576...277 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
すべてエラーなく正しく変換されます
MQL5 Reference / Language Basics / Data Types / Type conversion」において、2つのことが述べられています。
1) long=>double 変換は、精度を損なう可能性があります。
2) long型の代わりにdatetime型が使用可能(それぞれ8バイトを要する)。
理想を言えば、datetime =>double の変換も精度が落ちる可能性がある、という結論に達しました。でも、例を挙げることはできません。
datetimeをindicateに格納するのはいかがなものか......あるいはdouble型の バッファ
ドットがたくさん追加されたり、何らかのリファレンスが表示されたりします。
インジケーターバッファー」(スペース2つ)というように、2つの単語の間に余分なスペースを入れるとわかりやすいでしょう。
MQL5 Reference Guide / Language Basics / Data Types / Type conversion」において、2つのことが述べられています。
1) long=>double 変換は、精度を損なう可能性があります。
2) long 型の代わりに datetime 型(8バイト)を使用できるようにした。
理想を言えば、datetime =>double の変換も精度が落ちる可能性がある、という結論に達しました。でも、例を挙げることはできません。
2つの単語の間に余分なスペースを入れるのは簡単です。"indicator buffers"(スペース2つ)です。
簡単なコンバージョンテストを書けば、自分の目で確認することができます。そして、他の人には後で教えてあげてください。
簡単な変換テストを書けば、自分の目で確認することができます。そして、後でみんなに教えてあげればいいんです。
本質的な答えがあるのか?
簡単な変換テスト」は、すでにrlxさんが 行っています。参考資料による疑義は上記の通りです。datetime =>double の変換が正しくない例があれば、質問してください。
実質的な答えはあるのでしょうか?
簡単な変換テスト」は、すでにrlxさんが 行っています。参考資料による疑義は上記の通りです。datetime =>double の変換が正しくない例があれば、教えてください。
2011.09.25 16:24:38 test (EURUSD,H1) -9.223372036854776e+018
これは問題が発生する可能性のある例ですが、あなたのケースではないことは確かです。
2011.09.25 16:24:38 test (EURUSD,H1) -9.223372036854776e+018
これは問題が発生する可能性のある例ですが、あなたのケースではないことは確かです。
2011.09.25 16:24:38 test (EURUSD,H1) -9.223372036854776e+018
これは問題がある場合の例ですが、あなたのケースではないことは確かです。
あまり正しい例ではない、20分間チンカスという言葉通り(自分のことではなく、使う人のことです)
現在のdatetimeの値は、1316816136それらの10桁、それは40年であり、仮数倍は16桁です。
したがって、Mantis doubleのオーバーフローとそれに続くdatetimeからdoubleへの誤った変換は、6*40=240年後に発生することになります。
使う時間はあると思います。
スパ!スパ生きていると、長い時間学ぶことができます
今、あなたのために一例をまとめてみました。出力は以下の通りです。
datetime型は3000年12月31日23時59分59秒まで 定義されており、32535215999と なります。
double 型は1.7976931348623158e+308 まで定義されています。
datetimeの最大値をdoubleに変換する場合、有効桁数にまだ許容誤差があることが判明した。
したがって、結論としては、すべてのケースで正しく動作することになります。
これは、20分間、ガラスのチンコを持った馬鹿に言うのだから、あまり正しい例ではない。
例えが良くないですね。
型を与える ときに値の境界値を確認する必要があるという例です、あくまで余談ですが。しかし、繰り返しになりますが、これは事実ではありません。
前の計算が正しくなかった、より正確にはここ:15桁を使用、16桁目が存在する場合、変換エラーが発生するため
31711762年までのdatetimeがdoubleに正しく変換されます。
だから、3100万年目までぐっすり眠れるのです。
ex5ライブラリからインポートした関数を呼び出す。
お願いします、説明してください。読む https://www.mql5.com/ru/docs/runtime/imports
ex5ライブラリはどのようにロードされますか?ライブラリが既にロードされている場合(例えば、別のExpert Advisorや、並行して実行されている別のクライアント端末からもロードされている場合)。
テストのために、私はライブラリ
lib.mq5。
lib.mq5 を lib.ex5 にコンパイルした。
作成されたExpert Advisor
エキスパート.mq5
コンパイルした。
EURUSDにExpert Advisorを設置しました。
印刷されます。
0
1
2
3
4
5
GBPUSDにExpert Advisor(オプション)を付ける
印刷物
6 --- EURUSD Expert Advisorより
0 --- GBPUSD Expert Advisorより。
7 --- EURUSD Expert Advisorより
1 --- GBPUSD アドバイザーより。
8 --- EURUSD アドバイザーより
2 --- GBPUSD アドバイザーより。
GBPUSD Expert Advisor 用に lib.ex5 ライブラリをもう一枚ダウンロードした場合など。
印刷する 方法をご存知の方はいらっしゃいますか?
6 --- EURUSD Expert Advisorより
7 --- GBPUSD Expert Advisorより。
8 --- EURUSD Expert Advisorより。
9 --- GBPUSD アドバイザーより。
10 --- EURUSD アドバイザー
11 --- GBPUSD アドバイザーより。
MT5の機能のみを使用
PS// あるいは、特別な方法で図書館に接続する必要があるのかもしれませんね。
///// I.e. このex5ライブラリは一度だけ読み込ませる必要があります。
こんにちは。教えてください。なぜ注文や取引にはチケットがあるのに、ポジションにはないのですか?
また、チケットとIDの違いは何ですか?