[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 267 1...260261262263264265266267268269270271272273274...631 新しいコメント Vadim Zhunko 2012.07.20 06:18 #2661 drknn: 1.OKです。Int start()を宣言した。私はいつもゼロを返しています。私もreturn(-1)やreturn(-2)のコマンドをコードで見たことがあります。このコードの正しい選び方は? 2.そこで、EA/インジケータ/スクリプトのstart()をint()型ではなく、他の型で宣言して、端末に何を返すのか、という自然な疑問が湧いてきます。つまり、return()で返された値を端末はどのように扱うのか? 1.正常な機能を取り戻すには、どうしたらよいのでしょうか? 2.通常の関数と同じように、どのような型でも持つことができます。ターミナルは返された値に対して何もしない。無視するのです。 特殊機能 Владимир Тезис 2012.07.20 06:32 #2662 Zhunko: 1.正常な機能を取り戻すには、どのように判断したらよいのでしょうか? 2.通常の関数と同じように、どのような型でも持つことができます。ターミナルは返された値に対して何もしません。無視するのです。 1.普通の関数が何を返すべきかを決めるには、メインコードがなぜそのような値を必要とするのかを知る必要がある。例えば、シグナルが出たら買い注文を出すという判断をしたい場合、既に出ている買い注文の数を返す関数を書きます。その数に応じて、コードに組み込まれたロジックに従って判断する。リターンコードにどのようなロジックが埋め込まれているかはわかりません。今日、セマフォの作成に関する記事を見ていたら、リターンコード(-2)に行き当たりました。驚いて、ここで質問。以上です。(https://www.mql5.com/ru/articles/1412- 記事はこちら). 2. 端末は返された値を無視する。そうなんですか?もしそうなら、再び正当な疑問が生じる、なぜEA /指標/スクリプトの作成で、開発者は、テンプレートに正確にintを置く、それはそこに無効を置くことがより合理的であるため - その後端末が何かを無視する必要はありません - 我々は、プロセッサ時間の1タクトを得るのだろうか?int init()、int deinit()、int start()関数から返すWHATに何かロジックがあるのかも?ロシュはすでにどこかで誰かに説明していたと思うのですが、ゼロを返すときと(-1)を返すときの説明を覚えていたのでしょう。私が探していたのは、まさにこの説明だったのです。見つからなくて残念・・・。 追伸 記事の著者は、return(-2)を自分の目的のために使っています。しかし、実際には、start()関数がゼロとは異なる値を返すコードで終了することもあるのです。そして、それを行うのは一人の人間だけではありません。私たちが理解したいのは、まさにこのロジックです。 Владимир Тезис 2012.07.20 06:36 #2663 Zhunko: 特殊機能 本文中にあるように見えます。 事前定義された関数は、パラメータを持つことができます。ただし、これらの関数をクライアント端末が呼び出した場合、外部からパラメータは渡されず、デフォルト値が使用される。 これは、関数に入るパラメータについてであり、関数が返すパラメータについてではありません。 削除済み 2012.07.20 06:40 #2664 お返事ありがとうございました。drknn: これはオーダーカウンターです。まあ、例えば、ある通貨ペアで、あるマジックナンバーの買い注文が市場にあるかどうかをコードで知りたいという場合もあるかもしれませんね。ある場合、例えば、別の買い注文を開くことはできません。だから、オーダーカウンターは判断材料として必要なのです。 Юсуфходжа 2012.07.20 06:41 #2665 paladin80: スタート直後のEAにこんなことを書いていました。 試してみると、役に立つことがあるかもしれません。 ありがとうございます、間違いが見つかりました。記事(上記リンク)にある理由でEAが動かなくなった時、一旦閉じてから再開したのですが、オーダーマスターを123から124に変更するのを忘れてしまい、異なる方向性のEA2つが同じマグを取得してどちらが早くオーダーを開けるか競争し始めたことがあります。最初の注文が先に開かれていた場合、例えばSellやその逆とは違うのです。2番目に更新したEAのマジックを変更した途端、両方とも正常に動作するようになりました。またエラーが発生した場合は、アドバイスを参考にさせていただきます。回答ありがとうございました。 削除済み 2012.07.20 07:06 #2666 この線をどう捉えるか。 返品件数 if(buys>0) return(buys); else return(-sells); } ? Владимир Тезис 2012.07.20 07:11 #2667 スクリプトを書く。 int start(){ Print("Попытка ретурна 136"); return(136); } をチャートに投げて、ログを見る。 2012.07.20 12:04:11 111 NZDUSD,M15: removed 2012.07.20 12:04:11 111 NZDUSD,M15: uninit reason 0 2012.07.20 12:04:11 111 NZDUSD,M15: Попытка ретурна 136 2012.07.20 12:04:11 111 NZDUSD,M15: loaded successfully (ここで111はスクリプトの名前)。uninit reason 0 " という行が見えますが、どうやらターミナルはゼロを待っていたようです。 同じように(-1)で試してみてください。 int start(){ Print("Попытка ретурна -1"); return(-1); } 結果は同じです。 2012.07.20 12:08:19 111 NZDUSD,M15:削除しました。 2012.07.20 12:08:19 111 NZDUSD,M15: uninit reason 0. 2012.07.20 12:08:19 111 NZDUSD,M15:帰国子女試行-1 2012.07.20 12:08:19 111 NZDUSD,M15:ロード成功 端末はゼロが返ってくるかどうかを気にしているようです。 追伸 一般的に、Webではこんな答えが返ってきました。 return 0 - プログラムがエラーなしで処理を完了した場合。 return 1 - またはそれ以上の数、プログラムはエラーで作業を終了し、さらなる処理のためにエラーコードを返します。 どんなOSでも、どんなプログラムでも必ずエラーコードを返します。 唯一の問題は、このreturnはコードをOSに返すのではなく、端末に返すということです。という疑問が残ります。 PapaYozh 2012.07.20 07:13 #2668 drknn: スクリプトを書く。 をチャートに投げて、ログを見る。 (ここで111はスクリプトの名前)。uninit reason 0 " という行が見えますが、どうやらターミナルはゼロを待っていたようです。 同じように(-1)で試してみてください。 結果は同じです。 どうやら端末は0が返ってくるかどうかを気にしているようです。 uninit reasonはExpert Advisorが終了したときの理由コードです。 https://docs.mql4.com/ru/constants/uninit Рустам 2012.07.20 07:18 #2669 UNINIT REASONは標準的な関数に対するリターンとは関係ありません。EAを書き、「start」から「init」を異なる戻り値で呼び出して見てください。実はhttps://docs.mql4.com/ru/basis/functions/special 先生が完璧に言っているんです。ただ、もう一度よく読み直してみて ください。 Vadim Zhunko 2012.07.20 07:29 #2670 drknn: 1.通常の関数が返すべき値を正確に決めるには、メインコードがなぜそのような値を必要とするのかを知る必要があります。例えば、シグナルが出たら買い注文を出すという判断をしたい場合、既に出ている買い注文の数を返す関数を書きます。その数に応じて、コードに埋め込まれたロジックに従って判断する。リターンコードにどのようなロジックが埋め込まれているかはわかりません。今日、セマフォの作成に関する記事を見ていたら、リターンコード(-2)に行き当たりました。驚いて、ここで質問。以上です。(https://www.mql5.com/ru/articles/1412- 記事はこちら). 2. 端末は戻り値を無視する。これは正確なのでしょうか?もしそうなら、再び正当な疑問が生じます。EA/インジケータ/スクリプトを作成する際に、なぜ開発者はテンプレートに正確にintを置くのか、それはそこにvoidを置くことがより論理的であるため - それからターミナルは何も無視する必要はありません - 我々はその後プロセッサ時間の1タクト得るのだろうか?int init()、int deinit()、int start()関数から返すWHATに何かロジックがあるのかも?ロシュはすでにどこかで誰かに説明していたと思うのですが、ゼロを返すときと(-1)を返すときの説明を覚えていたのでしょう。私が探していたのは、まさにこの説明だったのです。見つからなくて残念・・・。 追伸 記事の著者は、return(-2)を自分の目的のために使っています。しかし、実際には、start()関数がゼロとは異なる値を返すコードで終了することもあるのです。そして、それを行うのは一人の人間だけではありません。私が理解したいのは、まさにこのロジックです。 1.何も付け加えられない。何でもいいから、返してくれ。 2.ターミナルがそれを無視し、あなたのコードがそれを無視しない、もしそれがそのように構築されているなら。システムコールでは、パラメータも戻り値も無視されます。一目瞭然ですね。この場合、どこに戻るのでしょうか? パターンの作成は推測するしかない。開発者は、デフォルトのINTから進めたのでしょう。 1...260261262263264265266267268269270271272273274...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1.OKです。Int start()を宣言した。私はいつもゼロを返しています。私もreturn(-1)やreturn(-2)のコマンドをコードで見たことがあります。このコードの正しい選び方は?
2.そこで、EA/インジケータ/スクリプトのstart()をint()型ではなく、他の型で宣言して、端末に何を返すのか、という自然な疑問が湧いてきます。つまり、return()で返された値を端末はどのように扱うのか?
1.正常な機能を取り戻すには、どうしたらよいのでしょうか?
2.通常の関数と同じように、どのような型でも持つことができます。ターミナルは返された値に対して何もしない。無視するのです。
特殊機能
1.正常な機能を取り戻すには、どのように判断したらよいのでしょうか?
2.通常の関数と同じように、どのような型でも持つことができます。ターミナルは返された値に対して何もしません。無視するのです。
1.普通の関数が何を返すべきかを決めるには、メインコードがなぜそのような値を必要とするのかを知る必要がある。例えば、シグナルが出たら買い注文を出すという判断をしたい場合、既に出ている買い注文の数を返す関数を書きます。その数に応じて、コードに組み込まれたロジックに従って判断する。リターンコードにどのようなロジックが埋め込まれているかはわかりません。今日、セマフォの作成に関する記事を見ていたら、リターンコード(-2)に行き当たりました。驚いて、ここで質問。以上です。(https://www.mql5.com/ru/articles/1412- 記事はこちら).
2. 端末は返された値を無視する。そうなんですか?もしそうなら、再び正当な疑問が生じる、なぜEA /指標/スクリプトの作成で、開発者は、テンプレートに正確にintを置く、それはそこに無効を置くことがより合理的であるため - その後端末が何かを無視する必要はありません - 我々は、プロセッサ時間の1タクトを得るのだろうか?int init()、int deinit()、int start()関数から返すWHATに何かロジックがあるのかも?ロシュはすでにどこかで誰かに説明していたと思うのですが、ゼロを返すときと(-1)を返すときの説明を覚えていたのでしょう。私が探していたのは、まさにこの説明だったのです。見つからなくて残念・・・。
追伸
記事の著者は、return(-2)を自分の目的のために使っています。しかし、実際には、start()関数がゼロとは異なる値を返すコードで終了することもあるのです。そして、それを行うのは一人の人間だけではありません。私たちが理解したいのは、まさにこのロジックです。
特殊機能
本文中にあるように見えます。
事前定義された関数は、パラメータを持つことができます。ただし、これらの関数をクライアント端末が呼び出した場合、外部からパラメータは渡されず、デフォルト値が使用される。
これは、関数に入るパラメータについてであり、関数が返すパラメータについてではありません。
これはオーダーカウンターです。まあ、例えば、ある通貨ペアで、あるマジックナンバーの買い注文が市場にあるかどうかをコードで知りたいという場合もあるかもしれませんね。ある場合、例えば、別の買い注文を開くことはできません。だから、オーダーカウンターは判断材料として必要なのです。
スタート直後のEAにこんなことを書いていました。
試してみると、役に立つことがあるかもしれません。
この線をどう捉えるか。
返品件数
if(buys>0) return(buys);
else return(-sells);
} ?
スクリプトを書く。
をチャートに投げて、ログを見る。
2012.07.20 12:04:11 111 NZDUSD,M15: removed
2012.07.20 12:04:11 111 NZDUSD,M15: uninit reason 0
2012.07.20 12:04:11 111 NZDUSD,M15: Попытка ретурна 136
2012.07.20 12:04:11 111 NZDUSD,M15: loaded successfully
(ここで111はスクリプトの名前)。uninit reason 0 " という行が見えますが、どうやらターミナルはゼロを待っていたようです。
同じように(-1)で試してみてください。
結果は同じです。
2012.07.20 12:08:19 111 NZDUSD,M15:削除しました。
2012.07.20 12:08:19 111 NZDUSD,M15: uninit reason 0.
2012.07.20 12:08:19 111 NZDUSD,M15:帰国子女試行-1
2012.07.20 12:08:19 111 NZDUSD,M15:ロード成功
端末はゼロが返ってくるかどうかを気にしているようです。
追伸
一般的に、Webではこんな答えが返ってきました。
return 0 - プログラムがエラーなしで処理を完了した場合。
return 1 - またはそれ以上の数、プログラムはエラーで作業を終了し、さらなる処理のためにエラーコードを返します。
どんなOSでも、どんなプログラムでも必ずエラーコードを返します。
唯一の問題は、このreturnはコードをOSに返すのではなく、端末に返すということです。という疑問が残ります。
スクリプトを書く。
をチャートに投げて、ログを見る。
(ここで111はスクリプトの名前)。uninit reason 0 " という行が見えますが、どうやらターミナルはゼロを待っていたようです。
同じように(-1)で試してみてください。
結果は同じです。
どうやら端末は0が返ってくるかどうかを気にしているようです。uninit reasonはExpert Advisorが終了したときの理由コードです。
https://docs.mql4.com/ru/constants/uninit
1.通常の関数が返すべき値を正確に決めるには、メインコードがなぜそのような値を必要とするのかを知る必要があります。例えば、シグナルが出たら買い注文を出すという判断をしたい場合、既に出ている買い注文の数を返す関数を書きます。その数に応じて、コードに埋め込まれたロジックに従って判断する。リターンコードにどのようなロジックが埋め込まれているかはわかりません。今日、セマフォの作成に関する記事を見ていたら、リターンコード(-2)に行き当たりました。驚いて、ここで質問。以上です。(https://www.mql5.com/ru/articles/1412- 記事はこちら).
2. 端末は戻り値を無視する。これは正確なのでしょうか?もしそうなら、再び正当な疑問が生じます。EA/インジケータ/スクリプトを作成する際に、なぜ開発者はテンプレートに正確にintを置くのか、それはそこにvoidを置くことがより論理的であるため - それからターミナルは何も無視する必要はありません - 我々はその後プロセッサ時間の1タクト得るのだろうか?int init()、int deinit()、int start()関数から返すWHATに何かロジックがあるのかも?ロシュはすでにどこかで誰かに説明していたと思うのですが、ゼロを返すときと(-1)を返すときの説明を覚えていたのでしょう。私が探していたのは、まさにこの説明だったのです。見つからなくて残念・・・。
追伸
記事の著者は、return(-2)を自分の目的のために使っています。しかし、実際には、start()関数がゼロとは異なる値を返すコードで終了することもあるのです。そして、それを行うのは一人の人間だけではありません。私が理解したいのは、まさにこのロジックです。
1.何も付け加えられない。何でもいいから、返してくれ。
2.ターミナルがそれを無視し、あなたのコードがそれを無視しない、もしそれがそのように構築されているなら。システムコールでは、パラメータも戻り値も無視されます。一目瞭然ですね。この場合、どこに戻るのでしょうか?
パターンの作成は推測するしかない。開発者は、デフォルトのINTから進めたのでしょう。