どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 900 1...893894895896897898899900901902903904905906907...1178 新しいコメント Vitalie Postolache 2015.06.04 19:48 #8991 lufer:ターミナルウィンドウでEAをロードしても何も起こらないし、削除しようとすると、ターミナルが非常に長い間停止して、しばらくしてから削除 されます。いくつかの要素に手動で値を割り当ててみましたが、すべてOKです。配列の初期化ループの何かが間違っているようです。解決しない」とはどういう意味ですか?Int配列に倍精度1以下のデータを押し込んでいるので、当然出力には0が含まれます。まあ、ループも不自由だったんですけどね。このコードで動作するはずです。#property strict extern int N=100; // Количество баров double Mas[]; // Объявление массива //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { ArrayResize(Mas,N); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { for(int i=0; i<N; i++) // Цикл записи данных { Mas[i]=iATR(NULL,0,5,i+1); // Вычисление значений } Print(DoubleToStr(Mas[0],_Digits),"," ,DoubleToStr(Mas[50],_Digits),"," ,DoubleToStr(Mas[99],_Digits)); // Вывод значений } lufer 2015.06.05 14:17 #8992 evillive:動かないってどういうこと?int配列に1より小さいdoubleデータを押し込んでいるのだから、当然出力は0になる。しかも、ループがメチャクチャだった。このようなコードであれば、動作するはずです。 もちろんdouble Mas[]については 全くその通りです(ATPはなぜか整数値でポイントをカウントしていると考えたことがあります)。 要は配列の型を変えても表示されなかったのですが、自分の間違いに 気づかされたわけです。 ありがとうございました。 Roman Zhitnik 2015.06.06 07:59 #8993 別トピックを作るのもなんなので、こちらで質問させていただきます。OrderSelect関数の ドキュメントには、すべての注文データが「プログラム環境 」にコピーされると記載されています。プログラム環境」とは、現在のチャートのみを指すのか、それとも 端末全体を指すのか?同じEAがインストールされている異なるチャートから複数の注文を同時に行うことに問題があるため質問させていただきました。 Vitalie Postolache 2015.06.06 12:38 #8994 .roman.: 別トピックを作るのもなんなので、こちらで質問させていただきます。OrderSelect関数のドキュメントには、すべての注文データが「プログラム環境 」にコピーされると記載されています。現在のチャートのみを参照しているのか、それとも 端末全体を参照しているのか?同じEAをインストールした異なるチャートから複数の注文を同時に処理することに問題があるため、この質問をさせていただきました。 これらの注文は、この注文が開かれているターミナルで実行されているすべてのユーザーアプリケーションで利用可能です。 Roman Zhitnik 2015.06.06 12:59 #8995 evillive: これらの注文は、注文が開かれているターミナルで実行されているすべてのユーザー・プログラムから利用できます。 では、同時に別のチャートから選択された別の注文のデータが、ソフトウェア環境に誤ってコピーされないようにするには、どうすればよいのでしょうか。 Vitalie Postolache 2015.06.06 13:10 #8996 .roman.: その場合、別のチャートから選択された別の注文のデータが、ソフトウェア環境に誤ってコピーされないようにするにはどうしたらよいでしょうか。 異なる注文のデータが重なることは一切なく、守るべきものは何もない。 Roman Zhitnik 2015.06.06 14:16 #8997 evillive: 異なる注文のデータが重なることは一切なく、守るべきものは何もない。それじゃあ、話が違うじゃないですか。私はもともと、ドキュメントに書かれている「ソフトウェア環境」とは何かということを言いたかったのです。端末全体ということでしょうか?具体的には、OrderSelect関数で OrderSymbolとSymbolを排他的に比較するにもかかわらず、1ペアのチャートからデータ(注文開始時間、開始価格など)が表示されることがあるという問題です。つまり、気になるのは、例えばEURUSDに対するEAのOrderSelect機能中に、別の通貨ペアのOrderSelect機能も動作し始め、この機能の最後の呼び出し時の注文データが「プログラム環境」に読み込まれるということはないのでしょうか。 Victor Nikolaev 2015.06.06 14:17 #8998 .roman.:それじゃあ、話が違うじゃないですか。私はもともと、ドキュメントに書かれている「ソフトウェア環境」とは何かということを言いたかったのです。端末全体ということでしょうか? 具体的には、OrderSelect関数でOrderSymbolとSymbolを排他的に比較するにもかかわらず、1ペアのチャートからデータ(注文開始時間、開始価格など)が表示されることがあるという問題です。そこで疑問なのですが、例えばEURUSDでOrderSelect関数が動いている間に、EAは別の通貨ペアでもOrderSelect関数で動き出し、この関数の最後の呼び出しの注文データが「プログラム環境」に読み込まれるということはあるのでしょうか? コードが必要です。エラーがあります Vitalie Postolache 2015.06.06 14:40 #8999 .roman.:それじゃあ、話が違うじゃないですか。私はもともと、ドキュメントに書かれている「ソフトウェア環境」とは何かということを言いたかったのです。端末全体ということでしょうか?具体的には、OrderSelect関数でOrderSymbolとSymbolを排他的に比較するにもかかわらず、1ペアのチャートからデータ(注文開始時間、開始価格など)が表示されることがあるという問題です。つまり、気になるのは、例えばEURUSDに対するEAのOrderSelect機能中に、別の通貨ペアのOrderSelect機能も動作し始め、この機能の最後の呼び出し時の注文データが「プログラム環境」に読み込まれるということはないのでしょうか。各オーダーは、他のオーダーと明確に区別されるユニークなパラメーターを持っています。これらは、チケットとオープンした時間(履歴を検索するとクローズした時間)です。網膜の模様と同じように、1つの取引口座の中で唯一無二の存在なのです。OrderSelect関数で 順番を選択するだけでは不十分で、その順番が正しいか、次の順番を選択しなければならないかを確認する必要があります。 Roman Zhitnik 2015.06.06 14:44 #9000 Vinin: コードが必要です。エラーがありますfor(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) { if(OrderType()==OP_BUY) { double openPrice = 0; openPrice = OrderOpenPrice(); if(Ask>openPrice) { Print("OrderSymbol ",OrderSymbol()," OrderTicket ",OrderTicket()," OrderOpenPrice ",OrderOpenPrice()); } } if(OrderType()==OP_SELL) { double openPrice = 0; openPrice = OrderOpenPrice(); if(Bid<openPrice) { Print("OrderSymbol ",OrderSymbol()," OrderTicket ",OrderTicket()," OrderOpenPrice ",OrderOpenPrice()); } } } }不要な計算(問題とは無関係)を削除しました。プリンターは、この問題を示すために特別にコードに追加されました。EAが開いているシンボルと注文記号の比較にもかかわらず、それは(osiチャートからこの場合のように、例えば、ユーロでの注文のデータを取る)これを表示することができます。 1...893894895896897898899900901902903904905906907...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ターミナルウィンドウでEAをロードしても何も起こらないし、削除しようとすると、ターミナルが非常に長い間停止して、しばらくしてから削除 されます。いくつかの要素に手動で値を割り当ててみましたが、すべてOKです。配列の初期化ループの何かが間違っているようです。
解決しない」とはどういう意味ですか?Int配列に倍精度1以下のデータを押し込んでいるので、当然出力には0が含まれます。まあ、ループも不自由だったんですけどね。
このコードで動作するはずです。
動かないってどういうこと?int配列に1より小さいdoubleデータを押し込んでいるのだから、当然出力は0になる。しかも、ループがメチャクチャだった。
このようなコードであれば、動作するはずです。
別トピックを作るのもなんなので、こちらで質問させていただきます。OrderSelect関数のドキュメントには、すべての注文データが「プログラム環境 」にコピーされると記載されています。現在のチャートのみを参照しているのか、それとも 端末全体を参照しているのか?同じEAをインストールした異なるチャートから複数の注文を同時に処理することに問題があるため、この質問をさせていただきました。
これらの注文は、注文が開かれているターミナルで実行されているすべてのユーザー・プログラムから利用できます。
その場合、別のチャートから選択された別の注文のデータが、ソフトウェア環境に誤ってコピーされないようにするにはどうしたらよいでしょうか。
異なる注文のデータが重なることは一切なく、守るべきものは何もない。
それじゃあ、話が違うじゃないですか。私はもともと、ドキュメントに書かれている「ソフトウェア環境」とは何かということを言いたかったのです。端末全体ということでしょうか?
具体的には、OrderSelect関数で OrderSymbolとSymbolを排他的に比較するにもかかわらず、1ペアのチャートからデータ(注文開始時間、開始価格など)が表示されることがあるという問題です。つまり、気になるのは、例えばEURUSDに対するEAのOrderSelect機能中に、別の通貨ペアのOrderSelect機能も動作し始め、この機能の最後の呼び出し時の注文データが「プログラム環境」に読み込まれるということはないのでしょうか。
それじゃあ、話が違うじゃないですか。私はもともと、ドキュメントに書かれている「ソフトウェア環境」とは何かということを言いたかったのです。端末全体ということでしょうか?
具体的には、OrderSelect関数でOrderSymbolとSymbolを排他的に比較するにもかかわらず、1ペアのチャートからデータ(注文開始時間、開始価格など)が表示されることがあるという問題です。そこで疑問なのですが、例えばEURUSDでOrderSelect関数が動いている間に、EAは別の通貨ペアでもOrderSelect関数で動き出し、この関数の最後の呼び出しの注文データが「プログラム環境」に読み込まれるということはあるのでしょうか?
それじゃあ、話が違うじゃないですか。私はもともと、ドキュメントに書かれている「ソフトウェア環境」とは何かということを言いたかったのです。端末全体ということでしょうか?
具体的には、OrderSelect関数でOrderSymbolとSymbolを排他的に比較するにもかかわらず、1ペアのチャートからデータ(注文開始時間、開始価格など)が表示されることがあるという問題です。つまり、気になるのは、例えばEURUSDに対するEAのOrderSelect機能中に、別の通貨ペアのOrderSelect機能も動作し始め、この機能の最後の呼び出し時の注文データが「プログラム環境」に読み込まれるということはないのでしょうか。
各オーダーは、他のオーダーと明確に区別されるユニークなパラメーターを持っています。これらは、チケットとオープンした時間(履歴を検索するとクローズした時間)です。網膜の模様と同じように、1つの取引口座の中で唯一無二の存在なのです。
OrderSelect関数で 順番を選択するだけでは不十分で、その順番が正しいか、次の順番を選択しなければならないかを確認する必要があります。
コードが必要です。エラーがあります
不要な計算(問題とは無関係)を削除しました。プリンターは、この問題を示すために特別にコードに追加されました。EAが開いているシンボルと注文記号の比較にもかかわらず、それは(osiチャートからこの場合のように、例えば、ユーロでの注文のデータを取る)これを表示することができます。