MQL4およびMQL5でDigits()をバイパスして任意の数値(引用符だけでなく)の小数点以下桁数を取得 - ページ 16 1...910111213141516171819202122 新しいコメント Ilya Malev 2018.12.07 22:54 #151 ここで、もう一つ興味深い課題があります。それは、配列のソート 関数を組み込みのArraySortよりも高速にすることです。 Dmitry Fedoseev 2018.12.08 07:54 #152 Ilya Malev: sizeof(S)/sizeof(T)すべての構造体のサイズは、すべての変数のサイズで割り切れることが保証されていますか? struct SZ{ char x1; char x2; char x3; }; Print(sizeof(SZ)/sizeof(int)); // 0 Dmitry Fedoseev 2018.12.08 08:05 #153 fxsaber:構造体の配列(sizeof(int)の倍数の長さ)をint[]配列と相互変換するための簡単な実装について ブレインストーミングを行うことはできますか? /// 単に構造体を記述した後に、この構造体と配列を含むユニオンを数行書いてください。 struct SS{ int a; double b; }; union UX{ SS s; char a[sizeof(S)]; }; 各構造の後に書かず、テンプレート化することも可能です。 fxsaber 2018.12.08 08:34 #154 Dmitry Fedoseev:保証される全構造体のサイズを全変数のサイズで割っているか? トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL4およびMQL5でDigits()をバイパスして任意の数値(引用符だけでなく)の小数点以下の桁数を取得する方法 fxsaber さん 2018.12.07 15:12 構造体の配列(sizeof(int)の倍数の長さ)をint[]配列と相互変換するための簡単な実装について ブレインストーミングを行うことは可能ですか?一般的には、同じリンクに解決策があるのですが、汎用性があるため、そこでブレーキがかかってしまうのです。ですから、多重性は理解できる追加条件です。 これも登場しました。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MetaTrader 5 build 1930の新バージョン:MQL5におけるフローティングチャートウィンドウと.Netライブラリ メタクォーツ・ソフトウェア株式会社, 2018.10.25 17:18 MQL5:構造体に対して pack( integer_value ) プロパティが追加されました。これは、構造内のフィールドの整列を設定することができます、それは、DLLで作業するときに必要になることがあります。integer_valueは1, 2, 4, 8, 16の値を持つことができる。 プロパティが定義されていない場合、デフォルトのアライメントは1バイト- pack(1)となる。 使用例//+------------------------------------------------------------------+ //| Default packing | //+------------------------------------------------------------------+ struct A { char a; int b; }; //+------------------------------------------------------------------+ //| Specified packing | //+------------------------------------------------------------------+ struct B pack(4) { char a; int b; }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { Print("sizeof(A)=",sizeof(A)); Print("sizeof(B)=",sizeof(B)); } //+------------------------------------------------------------------+ 出力します。sizeof(A)=5 sizeof(B)=8 構造体のアライメントに関する詳しい情報は、MSDNに 掲載されています。 Get the number of メタトレーダー5を始めるには 自己キャッシング指標の速度比較 fxsaber 2018.12.08 08:37 #155 Dmitry Fedoseev:単純に、構造体を記述した後に、この構造体と配列を含むユニオンを数行記述します。各構造の後に書かず、テンプレート化することも可能です。理解できない。参加希望の方は、バリアントをお書きください。 Taras Slobodyanik 2018.12.08 08:55 #156 fxsaber:構造体の配列(長さが sizeof(int) の倍数)を int[] 配列と相互変換するための簡単な実装について ブレインストーミングできますか? なぜint型なのか、char型ではないのか? (そして長くなる-速くコピーされる)。 fxsaber 2018.12.08 09:00 #157 Taras Slobodyanik:なぜIntなのか? トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL4およびMQL5でDigits()をバイパスして任意の数値(引用符だけでなく)の小数点以下の桁数を取得する方法 fxsaber さん 2018.12.07 15:12 実用的な用途としては、リソースを介した高速なデータ交換が挙げられます。私のバリアントは 汎用性が高すぎるから遅いんだ。 fxsaber 2018.12.08 09:02 #158 Ilya Malev:どうやらあなたの方がすでに速いようです :)// Перевод массива тиков в массив int[]. int TicksToIntArray_fxsaber3( const MqlTick &Ticks[], int &Array[] ) { INTEGER<MqlTick> TickInteger; const int Size = ArraySize(Ticks); ArrayResize(Array, Size * sizeof(MqlTick) / sizeof(int)); int j = 0; for (int i = 0; i < Size; i++) { TickInteger.Data = Ticks[i]; // j += ArrayCopy(Array, TickInteger.Integer, j); for (int k = 0; k < sizeof(MqlTick) / sizeof(int); k++) Array[j++] = TickInteger.Integer[k]; } return(j); } // Перевод массива int[] в массив тиков. int IntArrayToTicks_fxsaber3( const int &Array[], MqlTick &Ticks[] ) { INTEGER<MqlTick> TickInteger = {0}; const int Size = ArraySize(Array); ArrayResize(Ticks, Size * sizeof(int) / sizeof(MqlTick)); int j = 0; for (int i = 0; i < Size; j++) { // i += ArrayCopy(TickInteger.Integer, Array, 0, i, sizeof(MqlTick) / sizeof(int)); for (int k = 0; k < sizeof(MqlTick) / sizeof(int); k++) TickInteger.Integer[k] = Array[i++]; Ticks[j] = TickInteger.Data; } return(j); } かなりスピードアップしてみます。 Dmitry Fedoseev 2018.12.08 09:19 #159 fxsaber:理解できない。参加希望の方は、オプションをお書きください。しました。 Dmitry Fedoseev 2018.12.08 09:21 #160 fxsaber: 一般的な場合、解は同じリンクの中にあるのですが、普遍性があるためブレーキがかかっています。したがって、多重性は理解しやすい追加条件である。 これも表示されます。 この多重性を誰がコントロールするのか? 1...910111213141516171819202122 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ここで、もう一つ興味深い課題があります。それは、配列のソート 関数を組み込みのArraySortよりも高速にすることです。
すべての構造体のサイズは、すべての変数のサイズで割り切れることが保証されていますか?
構造体の配列(sizeof(int)の倍数の長さ)をint[]配列と相互変換するための簡単な実装について ブレインストーミングを行うことはできますか?
///
単に構造体を記述した後に、この構造体と配列を含むユニオンを数行書いてください。
各構造の後に書かず、テンプレート化することも可能です。
保証される全構造体のサイズを全変数のサイズで割っているか?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL4およびMQL5でDigits()をバイパスして任意の数値(引用符だけでなく)の小数点以下の桁数を取得する方法
fxsaber さん 2018.12.07 15:12
構造体の配列(sizeof(int)の倍数の長さ)をint[]配列と相互変換するための簡単な実装について ブレインストーミングを行うことは可能ですか?
一般的には、同じリンクに解決策があるのですが、汎用性があるため、そこでブレーキがかかってしまうのです。ですから、多重性は理解できる追加条件です。
これも登場しました。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MetaTrader 5 build 1930の新バージョン:MQL5におけるフローティングチャートウィンドウと.Netライブラリ
メタクォーツ・ソフトウェア株式会社, 2018.10.25 17:18
プロパティが定義されていない場合、デフォルトのアライメントは1バイト- pack(1)となる。
使用例
出力します。
構造体のアライメントに関する詳しい情報は、MSDNに 掲載されています。
単純に、構造体を記述した後に、この構造体と配列を含むユニオンを数行記述します。
各構造の後に書かず、テンプレート化することも可能です。
理解できない。参加希望の方は、バリアントをお書きください。
構造体の配列(長さが sizeof(int) の倍数)を int[] 配列と相互変換するための簡単な実装について ブレインストーミングできますか?
なぜint型なのか、char型ではないのか?
(そして長くなる-速くコピーされる)。
なぜIntなのか?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL4およびMQL5でDigits()をバイパスして任意の数値(引用符だけでなく)の小数点以下の桁数を取得する方法
fxsaber さん 2018.12.07 15:12
実用的な用途としては、リソースを介した高速なデータ交換が挙げられます。私のバリアントは 汎用性が高すぎるから遅いんだ。
どうやらあなたの方がすでに速いようです :)
かなりスピードアップしてみます。
理解できない。参加希望の方は、オプションをお書きください。
しました。
一般的な場合、解は同じリンクの中にあるのですが、普遍性があるためブレーキがかかっています。したがって、多重性は理解しやすい追加条件である。
これも表示されます。
この多重性を誰がコントロールするのか?