[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 223 1...216217218219220221222223224225226227228229230...432 新しいコメント TarasBY 2013.03.16 14:27 #2221 solnce600: 皆さん、こんばんは。 以下のコードで、なぜコンパイラがそう考えるのか、教えてください。 int Ticket変数が未定義である。 1つのエラーを発生させる 'Ticket' - variable not defined C:\Program FilesAlpari NZ MT4(2)\expertshhh.mq4 (18, 6) しかし、以下のコードでは代入文の中でTicket変数も定義されており、コードは正常にコンパイルされます。 int Ticket変数はローカル変数で、次のティックでリセットされます。 ANDREY 2013.03.16 14:52 #2222 Vinin: おそらく一か所だけカッコが抜けている 問題解決、ありがとうございました。 ANDREY 2013.03.16 14:52 #2223 TarasBY: int Ticket変数はローカル変数で、次のティックでリセットされます。 ご指摘の件、承りました。 ありがとうございました。 ANDREY 2013.03.16 16:16 #2224 この問題にぶつかったことがあります。3000の入札価格値に対してdouble型の 1次元配列を初期化する必要がありますが、すべての値は異なっており、順序もありません。カンマで区切られた各値を手動で入力しなければならず、現実的ではありません。エクセルで試したのですが、浮動小数点ではなくドットを入れると、エクセルが数字を読み込んで間にカンマを入れてくれないのです。最適な選択肢をご提案ください。 Viktar Dzemikhau 2013.03.16 16:16 #2225 3つの変数を返し、それらをstart() に渡す簡単なExpert Advisorを書きました。そして、各ティックでこれらのデータ(オブジェクトタイプ、価格1、価格2)が返される必要があります。//+-------------------------------------------------------------------------------------+ //| TradingByLine.mq4 | //| hoz | //| | //+-------------------------------------------------------------------------------------+ #property copyright "hoz" #property link "" string objName; int isObj, objType; double price1, price2; //+-------------------------------------------------------------------------------------+ //| Функция иницилизации | //+-------------------------------------------------------------------------------------+ int init() { return(0); } //+-------------------------------------------------------------------------------------+ //| Функция деиницилизации | //+-------------------------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+-------------------------------------------------------------------------------------+ //| Блок поиска своих объектов | //+-------------------------------------------------------------------------------------+ bool IsObjectFound(double& price1, double& price2, int& objType) { for (int obj=0; obj<=ObjectsTotal()-1; obj++) { objName = ObjectName(obj); isObj = ObjectFind(objName); price1 = ObjectGet("objName", OBJPROP_PRICE1); price2 = ObjectGet("objName", OBJPROP_PRICE2); objType = ObjectType("objName"); if (isObj != -1) return(true); } return(false); } //+-------------------------------------------------------------------------------------+ //| Функция start | //+-------------------------------------------------------------------------------------+ int start() { if (!IsObjectFound(price1, price2, objType)) return(0); Print("objType = ", objType); Print("price1 = ", price1, ", price2 = ", price2); return(0); }そして、このExpert Advisorをテスターの可視化モードで実行し、チャートに手で線を引いてみるのです。IsObjectFound() 関数で取得した描画価格とオブジェクトの種類が正しく返ってきません。以下は、そのログ出力です。2013.03.16 20:12:46 2013.01.24 00:02 TradingByLine EURJPY,M1: objType = -1 2013.03.16 20:12:46 2013.01.24 00:02 TradingByLine EURJPY,M1: price1 = 0, price2 = 0 2013.03.16 20:12:46 2013.01.24 00:02 TradingByLine EURJPY,M1: objType = -1 2013.03.16 20:12:45 2013.01.24 00:01 TradingByLine EURJPY,M1: price1 = 0, price2 = 0 2013.03.16 20:12:45 2013.01.24 00:01 TradingByLine EURJPY,M1: objType = -1 2013.03.16 20:12:45 2013.01.24 00:01 TradingByLine EURJPY,M1: price1 = 0, price2 = 0 2013.03.16 20:12:45 2013.01.24 00:01 TradingByLine EURJPY,M1: objType = -1 2013.03.16 20:12:44 2013.01.24 00:01 TradingByLine EURJPY,M1: price1 = 0, price2 = 0 線は手描きなので、型などのパラメータがあります。必要なパラメータが返されないのはなぜですか? Alexey Subbotin 2013.03.16 16:30 #2226 solnce600:この問題にぶつかったことがあります。3000の入札価格値に対してdouble型の1次元配列を初期化する必要がありますが、すべての値は異なっており、順序がありません。カンマで区切られた各値を手入力するのは現実的ではありません。エクセルで試しましたが、浮動小数点の代わりにドットを入れるとエクセルが数字を読み込んで間にカンマを入れてくれません。最適な選択肢をご提案ください。 Excelは読める、どうやったかもっと詳しく教えてくれ Alexey Subbotin 2013.03.16 16:31 #2227 hoz:3つの変数を返し、それらをstart() に渡す簡単なExpert Advisorを書きました。そして、各ティックでこれらのデータ(オブジェクトタイプ、価格1、価格2)が返される必要があります。そして、このExpert Advisorをテスターの可視化モードで実行し、チャートに手で線を引いてみるのです。IsObjectFound() 関数で取得した描画価格とオブジェクトの種類が正しく返ってきません。以下は、そのログ出力です。線は手描きなので、型などのパラメータがあります。必要なパラメータが返されないのですが? 私たちはprice1 = ObjectGet("objName", OBJPROP_PRICE1); price2 = ObjectGet("objName", OBJPROP_PRICE2); objType = ObjectType("objName"); objName を引用符で囲まないでください。オブジェクト名(文字列)を格納する変数名(プログラム文中の識別子)です。 Viktar Dzemikhau 2013.03.16 16:52 #2228 alsu:であるべきです。objName を引用符で囲まないでください。オブジェクト名(文字列)を格納する変数名(プログラム文中の識別子)です。 ちなみに、ドキュメントではそう考えていない。そこで混乱に巻き込まれたのです。 ANDREY 2013.03.16 16:57 #2229 alsu: Excelは読めるので、もっと詳しくやり方を教えてください。 100個の値の行で、最初の記号の後にカンマがある場合(つまり、価格)。行のハイライト表示ホーム - 検索と置換 カンマを全てドットに変更-成功。ここで、値の間にカンマを入れる必要があります。セルの形式を選択する すべてのフォーマット文字列の数値形式を表示するアクティブフィールドで、最後にカンマを入れるエクセルは、私が入力したフォーマットを処理できないと言っています。 TarasBY 2013.03.16 17:01 #2230 hoz: ちなみに、ドキュメントではそう考えていない。だから、誤解されるんです。 引用符は文字列変数のVALUEであって、変数そのものではありません!!!! 1...216217218219220221222223224225226227228229230...432 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん、こんばんは。
以下のコードで、なぜコンパイラがそう考えるのか、教えてください。
int Ticket変数が未定義である。
1つのエラーを発生させる
'Ticket' - variable not defined C:\Program FilesAlpari NZ MT4(2)\expertshhh.mq4 (18, 6)
しかし、以下のコードでは代入文の中でTicket変数も定義されており、コードは正常にコンパイルされます。
おそらく一か所だけカッコが抜けている
int Ticket変数はローカル変数で、次のティックでリセットされます。
この問題にぶつかったことがあります。
3000の入札価格値に対してdouble型の 1次元配列を初期化する必要がありますが、すべての値は異なっており、順序もありません。
カンマで区切られた各値を手動で入力しなければならず、現実的ではありません。
エクセルで試したのですが、浮動小数点ではなくドットを入れると、エクセルが数字を読み込んで間にカンマを入れてくれないのです。
最適な選択肢をご提案ください。
3つの変数を返し、それらをstart() に渡す簡単なExpert Advisorを書きました。
そして、各ティックでこれらのデータ(オブジェクトタイプ、価格1、価格2)が返される必要があります。
そして、このExpert Advisorをテスターの可視化モードで実行し、チャートに手で線を引いてみるのです。IsObjectFound() 関数で取得した描画価格とオブジェクトの種類が正しく返ってきません。以下は、そのログ出力です。
線は手描きなので、型などのパラメータがあります。
必要なパラメータが返されないのはなぜですか?
この問題にぶつかったことがあります。
3000の入札価格値に対してdouble型の1次元配列を初期化する必要がありますが、すべての値は異なっており、順序がありません。
カンマで区切られた各値を手入力するのは現実的ではありません。
エクセルで試しましたが、浮動小数点の代わりにドットを入れるとエクセルが数字を読み込んで間にカンマを入れてくれません。
最適な選択肢をご提案ください。
Excelは読める、どうやったかもっと詳しく教えてくれ
3つの変数を返し、それらをstart() に渡す簡単なExpert Advisorを書きました。
そして、各ティックでこれらのデータ(オブジェクトタイプ、価格1、価格2)が返される必要があります。
そして、このExpert Advisorをテスターの可視化モードで実行し、チャートに手で線を引いてみるのです。IsObjectFound() 関数で取得した描画価格とオブジェクトの種類が正しく返ってきません。以下は、そのログ出力です。
線は手描きなので、型などのパラメータがあります。
必要なパラメータが返されないのですが?
私たちは
objName を引用符で囲まないでください。オブジェクト名(文字列)を格納する変数名(プログラム文中の識別子)です。
であるべきです。
objName を引用符で囲まないでください。オブジェクト名(文字列)を格納する変数名(プログラム文中の識別子)です。
ちなみに、ドキュメントではそう考えていない。そこで混乱に巻き込まれたのです。
Excelは読めるので、もっと詳しくやり方を教えてください。
100個の値の行で、最初の記号の後にカンマがある場合(つまり、価格)。
行のハイライト表示
ホーム - 検索と置換
カンマを全てドットに変更-成功。
ここで、値の間にカンマを入れる必要があります。
セルの形式を選択する
すべてのフォーマット
文字列の数値形式を表示するアクティブフィールドで、最後にカンマを入れる
エクセルは、私が入力したフォーマットを処理できないと言っています。
ちなみに、ドキュメントではそう考えていない。だから、誤解されるんです。