ライブラリ: TradeTransactions - ページ 3 12345678 新しいコメント fxsaber 2018.11.14 20:08 #21 nicholi shen:感謝します。私はこのフォーラムでプログラミングを学んだ。自分の仕事を公開するのは、それが訓練になるからです。私は何をどのように書いたかすぐに忘れてしまうので、記述を手がかりにしています。私のコーディング・スタイルについては申し訳なく思っていますが、これは私自身のために書いたものです。そして、副次的な効果として公開した。残念ながら、出版された作品の人気を評価することは不可能だ。もし誰かが使っているのなら、それは非常に狭い範囲のユーザーだ。 ユーザーの数を増やす--そんな目標はない。 Nauris Zukas 2018.11.20 14:50 #22 ここでスクリプトを実行すると、データはターミナルのどこかに保存された: #include <fxsaber\TradeTransactions\ResourceData.mqh> //https://www.mql5.com/ja/code/22166 //+------------------------------------------------------------------+ //| スクリプト番組開始機能| //+------------------------------------------------------------------+ void OnStart() { const RESOURCEDATA<int>ResourceINT("::int"); // intを交換するためのリソース。const - クラスオブジェクトに何も書き込まれないことの証明。 int ArrayINT[]={1,2,3}; ResourceINT=ArrayINT; // リソースは配列を格納する。 int ArrayINT2[]; ResourceINT.Get(ArrayINT2); // リソースからデータを読み込む。 ArrayPrint(ArrayINT2); // 辞退:1 2 3 5 1 2 3 } //+------------------------------------------------------------------+最初のスクリプトを実行したときに保存されたデータを取得するために、別のスクリプトを実行しましたが、データが表示されません: #include <fxsaber\TradeTransactions\ResourceData.mqh> //https://www.mql5.com/ja/code/22166 //+------------------------------------------------------------------+ //| スクリプト番組開始機能| //+------------------------------------------------------------------+ void OnStart() { //--- // これは、他のプログラムからアクセスされるリソースの完全な名前である。 //const string NameOut=StringSubstr(MQLInfoString(MQL_PROGRAM_PATH),StringLen(TerminalInfoString(TERMINAL_PATH))+5)+"::Ticks"; const string NameOut=StringSubstr(MQLInfoString(MQL_PROGRAM_PATH),StringLen(TerminalInfoString(TERMINAL_PATH))+5,9)+"Test_Keep_Info.ex5::Ticks"; Print(NameOut); // リソースのフルネームを表示する。 const RESOURCEDATA<int>Resource(NameOut); // 他のプログラムからデータにアクセスするためのリソース (読み取り専用) int ArrayINT2[]; Resource.Get(ArrayINT2); // リソースからデータを読み込む。 ArrayPrint(ArrayINT2); // 撤退: } //+------------------------------------------------------------------+ エラー箇所を教えてください。 ファイル: Test_Keep_Info.mq5 3 kb Test_Receive_info.mq5 3 kb fxsaber 2018.11.20 15:03 #23 Nauris Zukas:私はスクリプトを実行しており、私が理解しているように、データは現在ターミナルのどこかに保存されています。データは、その所有者(それを書いた人)が作業をやめるとすぐに破棄されます。このままでは、ターミナルのメモリーがすぐに散らかってしまいます。 データマスターをアドバイザー/インジケーターとして開始する。それが生きている限り、そのデータは他の人が利用できます。 Nauris Zukas 2018.11.20 15:37 #24 fxsaber:データは、その所有者(書き込んだ人)が作業をやめるとすぐに破棄される。そうしないと、ターミナルのメモリーはすぐに散らかってしまいます。データマスターをアドバイザー/インジケーターとして開始する。それが生きている限り、そのデータは他の人が利用できます。インジケーターでもうまくいきませんでした。パスがおかしいと思います。 ファイル: Test_Keep_Info_11.mq5 5 kb Test_Receive_info_11.mq5 5 kb fxsaber 2018.11.20 21:48 #25 Nauris Zukas:インジケーターでもうまくいかなかった。パスがおかしいのだと思います。各 OnCalculate でリソースを作成 し、関数が終了したら kill しています。 オブジェクトを静的にする必要があります。これはOOPの基本です。 Nauris Zukas 2018.11.21 09:16 #26 fxsaber:各OnCalculateでリソースを作成 し、関数が完了したらそれをkillする。オブジェクトは静的にしておく。これはOOPの基本だ。staticを追加しましたが、まだ動きません。どこが間違っているのか修正してもらえますか? ファイル: Test_Keep_Info_11.mq5 5 kb Test_Receive_info_11.mq5 5 kb fxsaber 2018.11.21 10:15 #27 Nauris Zukas:スタティックを追加しましたが、まだ動きません。何が間違っているのか修正してもらえますか?ResourceData.mqhを更新し、以下のインジケーターを試してください。 // データを送信する #property indicator_chart_window #property indicator_plots 0 #include <fxsaber\TradeTransactions\ResourceData.mqh> //https://www.mql5.com/ja/code/22166 #include <GlobalVariables.mqh> //https://www.mql5.com/ru/forum/189649#comment_4854618 const RESOURCEDATA<MqlTick> Resource("::" + __FILE__); // データ転送のためのリソース(ティック) void OnInit() { _GlobalVariableSet("ResourceName", Resource.GetFullName()); // グローバル変数にリソースのフルネーム(読み取り専用)を書き込む } void OnDeinit( const int ) { _GlobalVariableDel("ResourceName"); } int OnCalculate( const int, const int, const int, const double &[] ) { MqlTick Ticks[]; CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, 0, 5); // 生成されたデータ Resource = Ticks; // データを記録 return(0); } // データ検索 #property indicator_chart_window #property indicator_plots 0 #include <fxsaber\TradeTransactions\ResourceData.mqh> //https://www.mql5.com/ja/code/22166 #include <GlobalVariables.mqh> //https://www.mql5.com/ru/forum/189649#comment_4854618 int OnCalculate( const int, const int, const int, const double &[] ) { static const RESOURCEDATA<MqlTick> Resource(_GlobalVariableGet<string>("ResourceName")); // グローバル変数に渡されたフルネームに基づいてリソースを作成する。 MqlTick Ticks[]; Resource.Get(Ticks); // リソースからデータを読み込む。 ArrayPrint(Ticks); // 得られたデータを印刷する return(0); } Nauris Zukas 2018.11.21 11:45 #28 fxsaber:ResourceData.mqhを更新し、以下のインジケーターを試す。ありがとうございます。 GlobalVariables.mqhの警告を修正してもらえますか?私の知識はRes=-1で終わっているのですが、そこでエラーが表示されました。OnStart()の警告を消す方法もわかりません。 ファイル: GlobalVariables.mqh 9 kb fxsaber 2018.11.21 11:48 #29 Nauris Zukas:GlobalVariables.mqhの警告を修正してもらえますか? ファイル: GlobalVariables.mqh 4 kb Nauris Zukas 2018.11.21 12:06 #30 fxsaber: ありがとう! 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
感謝します。私はこのフォーラムでプログラミングを学んだ。自分の仕事を公開するのは、それが訓練になるからです。私は何をどのように書いたかすぐに忘れてしまうので、記述を手がかりにしています。
私のコーディング・スタイルについては申し訳なく思っていますが、これは私自身のために書いたものです。そして、副次的な効果として公開した。
残念ながら、出版された作品の人気を評価することは不可能だ。もし誰かが使っているのなら、それは非常に狭い範囲のユーザーだ。
ユーザーの数を増やす--そんな目標はない。
ここでスクリプトを実行すると、データはターミナルのどこかに保存された:
最初のスクリプトを実行したときに保存されたデータを取得するために、別のスクリプトを実行しましたが、データが表示されません:
エラー箇所を教えてください。
私はスクリプトを実行しており、私が理解しているように、データは現在ターミナルのどこかに保存されています。
データは、その所有者(それを書いた人)が作業をやめるとすぐに破棄されます。このままでは、ターミナルのメモリーがすぐに散らかってしまいます。
データマスターをアドバイザー/インジケーターとして開始する。それが生きている限り、そのデータは他の人が利用できます。
データは、その所有者(書き込んだ人)が作業をやめるとすぐに破棄される。そうしないと、ターミナルのメモリーはすぐに散らかってしまいます。
データマスターをアドバイザー/インジケーターとして開始する。それが生きている限り、そのデータは他の人が利用できます。
インジケーターでもうまくいきませんでした。パスがおかしいと思います。
インジケーターでもうまくいかなかった。パスがおかしいのだと思います。
各 OnCalculate でリソースを作成 し、関数が終了したら kill しています。
オブジェクトを静的にする必要があります。これはOOPの基本です。
各OnCalculateでリソースを作成 し、関数が完了したらそれをkillする。
オブジェクトは静的にしておく。これはOOPの基本だ。
staticを追加しましたが、まだ動きません。どこが間違っているのか修正してもらえますか?
スタティックを追加しましたが、まだ動きません。何が間違っているのか修正してもらえますか?
ResourceData.mqhを更新し、以下のインジケーターを試してください。
ResourceData.mqhを更新し、以下のインジケーターを試す。
ありがとうございます。
GlobalVariables.mqhの警告を修正してもらえますか?私の知識はRes=-1で終わっているのですが、そこでエラーが表示されました。OnStart()の警告を消す方法もわかりません。
GlobalVariables.mqhの警告を修正してもらえますか?
ありがとう!