MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1916

 
Koldun Zloy #:

ただ、その人が何かを学びたいと思っているのなら、その手助けをしたいと思っただけなんです。

私も同じようなことをすることがあります。スピーチをし、時間を浪費しても、TCから連絡がない、あるいは興味がない、ということがありますから。

返事があれば、話し合いの準備ができたということなので、それから話し合いを始めるのです。

 
Vitaly Muzichenko #:

私も同じことをすることがあります。というのも、自分が説明しようとしているだけなのに、時間を浪費して、でもTCから連絡がない、あるいは興味がない、ということが時々起こるからです。

返事があれば、話し合いの準備ができたということなので、それから話し合いを始めるのです。

プログラミングの初心者の中には、すでにかなり認知度の高い人もいます。そして、その人が学びたいと思っているのか、それともただ聞きに立ち寄ったのかがわかる場合がほとんどです。この場合、きっと欲求があるのでしょう。

 
Alexey Viktorov #:

プログラミングの新人の中には、すでにかなり認知度の高い人もいます。そして、その人が学びたいと思っているのか、それともただ聞きに立ち寄ったのかがわかることがほとんどです。この場合は、きっと欲求があるのでしょう。

こんばんは!私の質問に建設的な回答をしてくださった方々に、改めてお礼を申し上げます。

簡単に自分のことをはっきりさせておこうと思います。かなりの高齢者。まだ現役(工場じゃないけど)。2020年10月より、プログラミング言語MQL5の独学を開始しました。空き時間に多通貨対応のExpert Advisorを開発し、現在、実際の口座にインストールして動作させています。時々、私は新しいExpert Advisorを書くようにしています(自分自身のためだけ!)。いろいろな知識がないために、「つまずく」こともあります。私はプロフェッショナルとは言いません。それは結構なことです。

そして何より重要なのは!!!もし人がMQL4とMQL5の初心者のためのどんな質問、アルゴリズムとコードのヘルプと議論に 連絡したら、 彼は本当に助けを 望んでいる!!!!

Sincerely, Vladimir.
.

 
MrBrooklin #:

そして何より重要なのは!!!もし人がブランチに適用MQL4とMQL5の初心者からのどんな質問、アルゴリズムとコードのヘルプと議論、 彼は本当に助けを願って います!!!!

Sincerely, Vladimir.
.

しかし、残念ながら、彼らは皆、別の種類の助けを望んでいる。あなたはプログラミングの微妙なところをすべて理解し、マスターしたいと思う一方で、「あなたは私に関数を書いてください」と考える人、頼む人がいます。そして、どう動くべきかを考える......」。そのような人は、自分で解決しようとせず、レゴブロックのように出来合いのコードを使ってしまう...そして、そのレゴブロックでも動くものを組み立てられないことがある、ということを理解してほしいですね。順番を間違えたりして...。

 

という疑問が湧いてきました。例題(Fedoseyev Dm.教科書)で参照による議論を使うことの意味(神聖さ)は何でしょうか?

bool hyperbola(double x,double &r){
if(x==0){
return(false);
}
r=1.0/x;
return(true);
}

グローバルスコープでrを宣言することで、1つの引数xで行うことが可能です。

double r;
////
bool hyperbola(double x){
if(x==0){
return(false);
}
r=1.0/x;
return(true);
}

これは、引数が関数内部で計算されたり、値を取得したりして、その結果として渡される場合に、より必要になります。

例えば、こんな感じです。

int FileOpenF(string File_NameArg,int &HandleArg)
  {
   HandleArg=FileOpen(File_NameArg,FILE_CSV|FILE_WRITE,";");//Открытие файла
   if(HandleArg==-1) // Неудача при открытии файла
     {
      Alert("Ошибка при открытии файла. ",File_NameArg,// Сообщение об ошибке
            "Возможно, файл занят другим приложением Handle= ",HandleArg);
     }
   return(HandleArg);
  }

神聖な意味について何か紛らわしい))))

 

このタスクで私を助けてください - 私は今日の日に何分バーがあるのかを知る必要があります。

今日が火曜日なら、先週の火曜日を調べるといった具合に、前週の バーの本数を調べるのです。

同時に、前の曜日がない場合、例えば週末だった場合は、一昨日を調べます。

どうすればいいのか?

現在の曜日を定義し、同じ曜日を探し、それをバーの数を定義するのに使うというものです。

 
Valeriy Yastremskiy #:

神聖な意味に戸惑うということ)))

グローバル変数がなければ、関数はより自律的であり、したがって、より汎用的である。例えば、ある関数がコード中の20の独立した場所で同じような計算をすることがあり、当然のことながら、その結果は一つの共通のグローバル変数xに積み上げるべきではない。変数の代わりに、より複雑な構造体やクラス、あるいは例えばいくつかのクラスといくつかの構造体、配列もあり得るので、一つの戻り値にすべてを代入することもしては いけない。戻り値は、計算結果を返すのではなく、その計算における成功/失敗のためによく使われる。

 
Nikolay Ivanov #:

グローバル変数がなければ、関数はより自律的であるため、より汎用的である。例えば、ある関数がコード中の独立した20箇所で同じような計算をすることがありますが、もちろん、その結果を一つのグローバル変数xに積み上げてはいけません。また、変数の代わりに、より複雑な構造やクラス、例えば、いくつかのクラスといくつかの構造がある場合もありますので、一つの戻り値にすべてを置くこともしては いけません。

出す(r)には、やはりスコープやグローバルで宣言する必要があります。

double r;
if(hyperbola(DBL_MIN,r)){
Alert("1/DBL_MIN=",r);
}
else{
Alert("Неправильный аргумент для функции hyperbola()");
}
 
Valeriy Yastremskiy #:

出す(r)には、やはりスコープやグローバルで宣言する必要があります。

はい、あらかじめグローバルまたはローカルに変数を用意し、関数の引数として使用します。しかし、関数自体は、保存用に作成されたこれらの変数に束縛されることはない。

 
Nikolay Ivanov #:

そう、あらかじめグローバルまたはローカルに変数を用意しておき、それを関数の引数として使うのです。しかし、関数自体は、保存用に作成されたこれらの変数に束縛されることはありません。

質問はこのことではありませんでした。Dimitriの関数は、引数を参照で返さない。なぜ参照渡しを使うのか?はい、ローカルは自分のところで変数を宣言して、関数が呼ばれた後にその変数への応答を得ることができるようになります。

で、それだけですか?