グローバル初期化に失敗した!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - ページ 6 12345678 新しいコメント Jeffrey Irick 2014.05.17 09:35 #51 SDC:int start()の代わりにint OnCalculate()を使っていますね。start()と同じようにtick毎に実行されます。実行前と実行後はこのようになります。OnCalculateの正式なパラメータは、それをより自己完結させ、コーダーはすべての種類のグローバルの呼び出しに依存する必要がありません、それは明らかにOOP界では悪いコーダーで、手首を叩くことです。実際には、どちらを使っても大差はない。また、OnCalculateはmql5と同じなので、互換性のあるコードを書くことができます。 SDCさん、ありがとうございます。あなたの言わんとすることはわかるような気がします。私はMetaQuotesがこれと一緒に行っている方向が好きかどうかわからない。彼らはMicrosoftが行ったのと同じことをしているのです。コーディングは簡単になるかもしれませんが、プログラマーが、いわば「ボンネットの下」で実際に起こっていることを理解する必要性を著しく減少させています。これは、プログラマーのスキルと理解を低下させるという意味で、大きな問題だと私は考えています。もし自分がやっていることの達人になりたければ、最も基本的なレベルからより高度な概念まで理解しなければなりません。私がプログラミングを始めたのは1978年です。2進数と8進数のコードで書きました。今ならほとんどの人が理解できないでしょう。マイクロソフトは何年も前から、プログラマーがボンネットの下で何が起こっているのかを知ることから完全に切り離すレベルまでプログラミング言語を押し上げ、それは私たちの利益のためではありません。彼らの意図は、自分たちのプログラマーだけが低レベルで何が起こっているかを知り、他の誰もが彼らに頼らざるを得ないようにすることです。 例えば、C++からC#への進化がそうです。表向きは、C#はプログラマーの生活を楽にするために、低レベルの「配管」を代わりに行って、プログラマーが自分でその方法を知る必要から解放し、その過程で開発時間を早めることを目的としています。しかし、その代償は?私たち「オールドタイマー」は、ダイレクトメモリアクセスを完全に理解し、その使い方も知っています。ボンネットの下で」何が起こっているのかを知っているのです。ある量のメモリを特別に割り当てたり、メモリを1バイトずつ、あるいはビット単位で操作したりする必要がよくあるんだ。C#のハイレベルな「クラウド」しか知らない人は、手がかりがないのでしょうか?いや、そうではない。マイクロソフトに電話してくれ。 私はここで暴言を吐いてしまいましたが、私はMetaQuotesが同じ方向に進んで いると思いますし、それは良いことではありません。リアルタイムのデータを扱わなければならないアプリケーションを書こうとするとき、これは間違いなく良いことではありません。私たちの分野では、ヘマをすると誰かが大損害を被る可能性があります。個人的な用途のために作ったアプリで失敗しても、それはそれで仕方がない。しかし、販売するアプリで失敗した場合は、許されません。 ところで、OOPで使われるグローバルとMQLで使われるグローバルは、同じ概念ではないと思います。MQLは真のオブジェクト指向言語であるという点では、まだ幼稚です。実際、OOPでは「グローバル」は何の意味も持ちません。これは「静的」変数と呼ばれ、同じクラスから作成されたすべてのオブジェクトだけでなく、派生した階層にあるすべてのクラスで利用可能です。特に、アプリケーションのすべてが依存するような非常に高いレベルのクラスで使用される場合、データのカプセル化の理由から嫌われ、メンテナンスの悪夢となります。 Syed Naufal Gaddafi 2014.05.17 10:48 #52 基本的に、アカウントから数値を取得したい場合は、AccountBalance() を使用する必要があります。 ですから、残高がどのようにして得られるのか、本当に知りたいのであれば、あなたは何も知らないのです。開発者だけが知っています。 Ian Venner 2014.05.17 17:12 #53 ProfessorMetal: SDCさん、ありがとうございます。言いたいことはわかるような気がします。私は、MetaQuotesの方向性が好きではないのです。彼らはMicrosoftが行ったのと同じことをしているのです。コーディングは簡単になるかもしれませんが、プログラマーが、いわば「ボンネットの下」で実際に起こっていることを理解する必要性を著しく減少させています。これは、プログラマーのスキルと理解を低下させるという意味で、大きな問題だと私は考えています。もし自分がやっていることの達人になりたければ、最も基本的なレベルからより高度な概念まで理解しなければなりません。私がプログラミングを始めたのは1978年です。2進数と8進数のコードで書きました。今ならほとんどの人が理解できないでしょう。マイクロソフトは何年も前から、プログラマーがボンネットの下で何が起こっているのかを知ることから完全に切り離すレベルまでプログラミング言語を押し進め、それは私たちの利益のためではありません。彼らの意図は、自分たちのプログラマーだけが低レベルで何が起こっているかを知り、他の誰もが彼らに頼らざるを得ないようにすることです。例えば、C++からC#への進化がそうです。表向きは、C#はプログラマーの生活を楽にするために、低レベルの「配管」を代わりに行って、プログラマーが自分でその方法を知る必要から解放し、その過程で開発時間を早めることを目的としています。しかし、その代償は?私たち「オールドタイマー」は、ダイレクトメモリアクセスとその使い方を完全に理解しています。ボンネットの下で」何が起こっているのかを知っているのです。ある量のメモリを特別に割り当てたり、メモリを1バイトずつ、あるいはビット単位で操作したりする必要がよくあるんだ。C#のハイレベルな「クラウド」しか知らない人は、手がかりがないのでしょうか?いや、そうではない。マイクロソフトに電話してくれ。私はここで暴言を吐いてしまいましたが、私はMetaQuotesが同じ方向に進んでいると思いますし、それは良いことではありません。リアルタイムのデータを扱わなければならないアプリケーションを書こうとするとき、これは間違いなく良いことではありません。私たちの分野では、ヘマをすると誰かが大損害を被る可能性があります。個人的な用途のために作ったアプリで失敗しても、それはそれで仕方がない。しかし、販売するアプリで失敗した場合は、許されません。ところで、OOPで使われるグローバルとMQLで使われるグローバルは、同じ概念ではないと思います。MQLは真のオブジェクト指向言語であるという点では、まだ幼稚なものです。実際、OOPでは「グローバル」は何の意味も持ちません。これは「静的」変数と呼ばれ、同じクラスから作成されたすべてのオブジェクトだけでなく、派生した階層にあるすべてのクラスで利用可能です。特に、アプリケーションのすべてが依存するような非常に高いレベルのクラスで使用される場合、データのカプセル化の理由から嫌われ、メンテナンスの悪夢となります。 MQの方向性は、mql4とmql5の互換性を達成することだと思います。すでに、OnTick、OnTimer、OnCalculate、そしてmql5の関数の 数々が利用可能になり、mql5の領域に流れ込んでいることがわかると思います。しかし、これで簡単になったわけではありません。むしろ、新しいバージョンは以前より私たちに厳しくなっています。古いmql4では本当にずさんなコードを書いても逃げられたのですが、新しいバージョンではより正確であることが期待されています。 Syed Naufal Gaddafi 2014.05.18 00:59 #54 そのため、eaジェネレータはもう使うことができません。コードが更新されない限り、本当に自分でインジ/エアをコーディングする必要があります。 実際、プログラミングをする上で、規律は重要です。大変ですが、コーディングに強くなっていきます。 Jeffrey Irick 2014.05.18 09:07 #55 SDC: MQの方向性は、mql4とmql5の互換性を達成することだと思います。すでに、OnTick、OnTimer、OnCalculate、その他多くのmql5関数が利用可能になり、mql5の領域に入りつつあることがわかると思います。しかし、これで簡単になったわけではありません。むしろ、新しいバージョンは以前より私たちに厳しくなっています。古いmql4では本当にずさんなコードを書いても逃げられたのですが、新しいバージョンではより正確であることが期待されています。 なるほど、そういうことだったんですね。ドキュメントをいくつか見ていて、新しいメソッドの使い方を誤解していたことに気がつきました。OnStart()はスクリプトのスタートアップ、OnCalculate()はインジケーターの古いスタート()を置き換えるもので、MQLの古いバージョンで使われていたカウントバー・ビジネスの多くを置き換え、さらに新しいティックを受信したときに(現在起動していない場合に)インジケーターコードの実行を開始することになっているのです。他の多くの変更とともに、あなたの言う通り、私たちは「再学習」しなければならないので、生活が楽になるわけではありませんし、しばらくこの仕事をしていて、いくつものアプリをまとめている人にとっては、それらを動かし続けるために多くのリエンジニアリングを引き起こすことになるでしょう。私自身はというと、ちょうどMQLを理解し始めたところで、これにはクラクラしました。これまで学んできたことのほとんどは、これから「アンラーン」しなければならないのです。 物事がより厳しくなることについては、私は良いことだと思います。慣れるまでは大変かもしれませんが、ユーザーや私たち自身にとって大きな負担となるようなミスを減らすことができます。企業で何年も、自分たちのミスでユーザーに大損害を与えかねないアプリに携わってきた立場からすると、私は正確さを支持します。しかし、私が言いたかったのは、OnCalculate()を導入することで、作業の半分を代行させるようなことをすると、フードの下で何が起こっているのかの理解が薄れるということです。C++からC#に移行したときの経験談です。これがどう動くのか」を知っている状態から、「このボタンを押したらこれが起こる」という状態になったわけです。私は古い人間なのかもしれませんが、このような鈍化は良いことだとは思いません。このリエンジニアリングには、良い点と悪い点の両方があります。 Jeffrey Irick 2014.05.18 09:12 #56 deysmacro: そのため、eaジェネレータはもう使うことができません。コードが更新されない限り、本当に自分でインジ/エアをコーディングする必要があります。 実際、プログラミングをする上で、規律は重要です。大変ですが、コーディングに強くなっていきます。 その通りだ。実を言うと、EAジェネレータは今まで使ってはいけなかったと思うんだ。ブラックボックス」が実際に何をするものなのか、全くわかっていない。2番目の発言については、私も同意見です。 Dadas 2014.05.18 10:09 #57 ProfessorMetal: これがどう動くのか」を知っている状態から、「このボタンを押したらこうなる」という状態になったんですね。私は古い人間なのかもしれませんが、ダンピングが良いことだとは思いません。このリエンジニアリングには、良い点と悪い点の両方があります。 MT4のようなバイナリコードを完全にゼロからプログラミングすることは、一人の人間にとっても、組織された会社にとっても、事実上不可能な仕事です。 最近のコンピュータゲームは言うまでもありません。 生きている人間で、バイナリ、8進数、16進数、あるいはベーシックを少しも知らない人はいない時代が来るかもしれませんね。 まず、要素を構築し、時間が経つにつれて、ブロックができ、そして、物語全体、本全体ができる。 プロットを組み立て直して、一見新しいものができあがるが、それは毎回同じ古いものだ。 世界は変化し、人は同じ古いシナリオにはまってはいけない! 人は常に学び直し、まずマニュアルを読む。 そして何度も何度も。 そうしないと、人は遅れて、恐竜になるのである。 Jeffrey Irick 2014.05.18 10:47 #58 Dadas: MT4のようなバイナリコードを完全にゼロからプログラムすることは、一人の人間にとっても、組織された会社にとっても、事実上不可能な仕事です。 最近のコンピュータゲームは言うに及ばず、生きている人間でさえ、バイナリ、8進数、16進数、あるいはベーシックを少しも知らない時代がやってくるでしょう。 まず、要素を組み立て、時間が経つにつれて、ブロックができ、そして、物語全体、本全体ができるかもしれません。 プロットを組み立て直して、一見新しいものができあがりますが、それは毎回同じ「し」です。 世界は変わり、人は同じ古いシナリオにはまってはいけません! 常に学び直し、まずマニュアルを読み、そして何度も何度も学びなおさなければなりません。 そうしなければ、人は遅れをとり恐竜になるのです。 言いたいことはわかるよ、ダダス。そして、私もある点までは同意します。しかし、誰かが常にそのテーマを一から学ばなければ、カードハウス全体が崩壊してしまうのです。私が何を言いたいか、図解しましょう。私は教育のプロとして過ごしてきました。私は、数学と物理学の助教授という地位にあります。私はコミュニティカレッジで教えていましたが、物理学科は私と学科長で構成される「常設」でした。 当時、数学科では、統計学、微積分学、線形代数学などをコンピューターや電卓のプログラムを使って教えるという方向に傾いていた。実際の教科については何も教えていなかったのです。生徒が教えられていたのは、プログラムの使い方だけです。それは数学を学んでいるのではありません。スタートボタンを押し、数字を入力して、「Go」ボタンを押すだけです。説明書通りにやったのに、問題を間違えてしまったと苦情を言いに来た生徒がいました。私はまず、「電卓が出した答えが妥当だと思えたか」と質問したのですが、「うーん、わからない」という答えでした。なぜなら、彼らは数学のことをまったく知らなかったからです。彼らが知っていたのは、このボタンをこの順番で押せば、電卓が魔法のように答えを出してくれる、ということだけでした。違う! さて、話を元に戻します。私のパートナーは、これに賛成していました。その理由は、「いつの日か、こうしてすべてが行われるようになるんだ。誰も、私たちのように実際に数学や物理をやる方法を知る必要はなくなるんだ。プログラムが全部やってくれるんだ」 私の答えは、「そうなんだ」。そして、「得られた答えがまったく現実的ではない」ことを、どうやって知ることができるのだろう?それどころか、機械に任せるように訓練されて基本的な計算もできないような人たちがいる中で、いったい誰がこのようなものを書いてメンテナンスするんだろう?誰かが「仕組み」を知らなければならないし、ジム・モリソンの言葉を借りれば、「クソみたいな家全体が燃え上がる」のだ。そして、私のような恐竜の出番となる。私は蹴飛ばされ、叫ばれても、最後まで教えながら落ちていくだろう。クソみたいな家が燃え上がるのは、私が怠惰な道を歩んだからではない。) Dadas 2014.05.18 13:40 #59 ProfessorMetal: 言いたいことはわかるよ、ダダス。そして、あるところまでは同意します。しかし、誰かが常にそのテーマを一から知っていなければ、カードハウス全体が崩壊してしまいます。私が何を言いたいか、図解しましょう。私は教育のプロとして過ごしてきました。私は、数学と物理学の助教授という地位にあります。私はコミュニティカレッジで教鞭をとっていましたが、「常設」の物理学科は私と学科長で構成されていました。 当時の数学科は、統計学や微積分、線形代数など、コンピュータや電卓のプログラムを使って学生に教えるという方向に傾いていたのです。実際の教科については何も教えていなかったのです。生徒が教えられていたのは、プログラムの使い方だけです。それは数学を学んでいるのではありません。スタートボタンを押し、数字を入力して、「Go」ボタンを押すだけです。説明書通りにやったのに、問題を間違えてしまったと苦情を言いに来た生徒がいました。私はまず、「電卓が出した答えが妥当だと思えたか」と質問したのですが、「うーん、わからない」という答えでした。なぜなら、彼らは数学のことをまったく知らなかったからです。彼らが知っていたのは、このボタンをこの順番で押せば、電卓が魔法のように答えを出してくれる、ということだけでした。違う!さて、話を元に戻します。私のパートナーは、これに賛成していました。その理由は、「いつの日か、こうしてすべてが行われるようになるんだ。誰も、私たちのように実際に数学や物理をやる方法を知る必要はなくなるんだ。プログラムが全部やってくれるんだ」 私の答えは、「そうなんだ」。そして、「得られた答えがまったく現実的ではない」ことを、どうやって知ることができるのだろう?それどころか、機械に任せるように訓練されて基本的な計算もできないような人たちがいる中で、いったい誰がこのようなものを書いてメンテナンスするんだろう?誰かが「仕組み」を知らなければならないし、ジム・モリソンの言葉を借りれば、「クソみたいな家全体が燃え上がる」のだ。そして、私のような恐竜の出番となる。私は、蹴飛ばされ、叫ばれながらでも、最後まで教えていくつもりだ。クソみたいな家が燃え上がるのは、私が怠惰な道を歩んだからではないのだ。) じゃあ、お前はドンキホーテのように終わるんだな。 そして、そう、生きてはいないけど、遅かれ早かれ、そういうことになるんだ。結局のところ、この宇宙全体がどのように、そしてなぜ動いているのか、誰もクソほども知りませんが、それでも動いているのです。あなたは宇宙自体から正しい答えを得ているかどうかを知っていますか?どうしてそんなことがわかるんですか?数学者の考え方は理解できます。彼らは数式ですべてをコントロール したいし、その数式がどこから来たのか知りたいし、理解したいのです。2+2=4、でもなぜ?これは本当に正解なのでしょうか?実は、コントロールすることはできないのです。 そして、結局のところ、「グローバル初期化に失敗しました」となり、その理由も修正方法も誰も知らないのです。 Jeffrey Irick 2014.05.19 07:59 #60 Dadas: まあ、そうなるとドンキホーテのようになるわけですが。 そして、そう、私たちはそれを見るために生きていないでしょう、しかし、それは遅かれ早かれ、そのようになりそうです。結局のところ、この宇宙全体がどのように、そしてなぜ動いているのか、誰もクソほども知らないのに、動いているのです。あなたは宇宙自体から正しい答えを得ているかどうかを知っていますか?どうしてそんなことがわかるんですか?数学者の考え方は理解できます。彼らは数式ですべてをコントロールしたいし、その数式がどこから来たのか知りたいし、理解したいのです。2+2=4、でもなぜ?これは本当に正解なのでしょうか?実は、コントロールすることはできないのです。 そして、結局のところ、「グローバル初期化に失敗しました」と言われても、その理由も修正方法も誰もわからないのです。 ドン・キホーテのことですね(笑)。とにかく、重要なのは、私たちは何を使って仕事をしているのかを理解しなければ、最終的に失敗へ向かってまっしぐらだということです。 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
int start()の代わりにint OnCalculate()を使っていますね。start()と同じようにtick毎に実行されます。実行前と実行後はこのようになります。
OnCalculateの正式なパラメータは、それをより自己完結させ、コーダーはすべての種類のグローバルの呼び出しに依存する必要がありません、それは明らかにOOP界では悪いコーダーで、手首を叩くことです。実際には、どちらを使っても大差はない。また、OnCalculateはmql5と同じなので、互換性のあるコードを書くことができます。
SDCさん、ありがとうございます。あなたの言わんとすることはわかるような気がします。私はMetaQuotesがこれと一緒に行っている方向が好きかどうかわからない。彼らはMicrosoftが行ったのと同じことをしているのです。コーディングは簡単になるかもしれませんが、プログラマーが、いわば「ボンネットの下」で実際に起こっていることを理解する必要性を著しく減少させています。これは、プログラマーのスキルと理解を低下させるという意味で、大きな問題だと私は考えています。もし自分がやっていることの達人になりたければ、最も基本的なレベルからより高度な概念まで理解しなければなりません。私がプログラミングを始めたのは1978年です。2進数と8進数のコードで書きました。今ならほとんどの人が理解できないでしょう。マイクロソフトは何年も前から、プログラマーがボンネットの下で何が起こっているのかを知ることから完全に切り離すレベルまでプログラミング言語を押し上げ、それは私たちの利益のためではありません。彼らの意図は、自分たちのプログラマーだけが低レベルで何が起こっているかを知り、他の誰もが彼らに頼らざるを得ないようにすることです。
例えば、C++からC#への進化がそうです。表向きは、C#はプログラマーの生活を楽にするために、低レベルの「配管」を代わりに行って、プログラマーが自分でその方法を知る必要から解放し、その過程で開発時間を早めることを目的としています。しかし、その代償は?私たち「オールドタイマー」は、ダイレクトメモリアクセスを完全に理解し、その使い方も知っています。ボンネットの下で」何が起こっているのかを知っているのです。ある量のメモリを特別に割り当てたり、メモリを1バイトずつ、あるいはビット単位で操作したりする必要がよくあるんだ。C#のハイレベルな「クラウド」しか知らない人は、手がかりがないのでしょうか?いや、そうではない。マイクロソフトに電話してくれ。
私はここで暴言を吐いてしまいましたが、私はMetaQuotesが同じ方向に進んで いると思いますし、それは良いことではありません。リアルタイムのデータを扱わなければならないアプリケーションを書こうとするとき、これは間違いなく良いことではありません。私たちの分野では、ヘマをすると誰かが大損害を被る可能性があります。個人的な用途のために作ったアプリで失敗しても、それはそれで仕方がない。しかし、販売するアプリで失敗した場合は、許されません。
ところで、OOPで使われるグローバルとMQLで使われるグローバルは、同じ概念ではないと思います。MQLは真のオブジェクト指向言語であるという点では、まだ幼稚です。実際、OOPでは「グローバル」は何の意味も持ちません。これは「静的」変数と呼ばれ、同じクラスから作成されたすべてのオブジェクトだけでなく、派生した階層にあるすべてのクラスで利用可能です。特に、アプリケーションのすべてが依存するような非常に高いレベルのクラスで使用される場合、データのカプセル化の理由から嫌われ、メンテナンスの悪夢となります。
基本的に、アカウントから数値を取得したい場合は、AccountBalance() を使用する必要があります。
ですから、残高がどのようにして得られるのか、本当に知りたいのであれば、あなたは何も知らないのです。開発者だけが知っています。
SDCさん、ありがとうございます。言いたいことはわかるような気がします。私は、MetaQuotesの方向性が好きではないのです。彼らはMicrosoftが行ったのと同じことをしているのです。コーディングは簡単になるかもしれませんが、プログラマーが、いわば「ボンネットの下」で実際に起こっていることを理解する必要性を著しく減少させています。これは、プログラマーのスキルと理解を低下させるという意味で、大きな問題だと私は考えています。もし自分がやっていることの達人になりたければ、最も基本的なレベルからより高度な概念まで理解しなければなりません。私がプログラミングを始めたのは1978年です。2進数と8進数のコードで書きました。今ならほとんどの人が理解できないでしょう。マイクロソフトは何年も前から、プログラマーがボンネットの下で何が起こっているのかを知ることから完全に切り離すレベルまでプログラミング言語を押し進め、それは私たちの利益のためではありません。彼らの意図は、自分たちのプログラマーだけが低レベルで何が起こっているかを知り、他の誰もが彼らに頼らざるを得ないようにすることです。
例えば、C++からC#への進化がそうです。表向きは、C#はプログラマーの生活を楽にするために、低レベルの「配管」を代わりに行って、プログラマーが自分でその方法を知る必要から解放し、その過程で開発時間を早めることを目的としています。しかし、その代償は?私たち「オールドタイマー」は、ダイレクトメモリアクセスとその使い方を完全に理解しています。ボンネットの下で」何が起こっているのかを知っているのです。ある量のメモリを特別に割り当てたり、メモリを1バイトずつ、あるいはビット単位で操作したりする必要がよくあるんだ。C#のハイレベルな「クラウド」しか知らない人は、手がかりがないのでしょうか?いや、そうではない。マイクロソフトに電話してくれ。
私はここで暴言を吐いてしまいましたが、私はMetaQuotesが同じ方向に進んでいると思いますし、それは良いことではありません。リアルタイムのデータを扱わなければならないアプリケーションを書こうとするとき、これは間違いなく良いことではありません。私たちの分野では、ヘマをすると誰かが大損害を被る可能性があります。個人的な用途のために作ったアプリで失敗しても、それはそれで仕方がない。しかし、販売するアプリで失敗した場合は、許されません。
ところで、OOPで使われるグローバルとMQLで使われるグローバルは、同じ概念ではないと思います。MQLは真のオブジェクト指向言語であるという点では、まだ幼稚なものです。実際、OOPでは「グローバル」は何の意味も持ちません。これは「静的」変数と呼ばれ、同じクラスから作成されたすべてのオブジェクトだけでなく、派生した階層にあるすべてのクラスで利用可能です。特に、アプリケーションのすべてが依存するような非常に高いレベルのクラスで使用される場合、データのカプセル化の理由から嫌われ、メンテナンスの悪夢となります。
そのため、eaジェネレータはもう使うことができません。コードが更新されない限り、本当に自分でインジ/エアをコーディングする必要があります。
実際、プログラミングをする上で、規律は重要です。大変ですが、コーディングに強くなっていきます。
MQの方向性は、mql4とmql5の互換性を達成することだと思います。すでに、OnTick、OnTimer、OnCalculate、その他多くのmql5関数が利用可能になり、mql5の領域に入りつつあることがわかると思います。しかし、これで簡単になったわけではありません。むしろ、新しいバージョンは以前より私たちに厳しくなっています。古いmql4では本当にずさんなコードを書いても逃げられたのですが、新しいバージョンではより正確であることが期待されています。
なるほど、そういうことだったんですね。ドキュメントをいくつか見ていて、新しいメソッドの使い方を誤解していたことに気がつきました。OnStart()はスクリプトのスタートアップ、OnCalculate()はインジケーターの古いスタート()を置き換えるもので、MQLの古いバージョンで使われていたカウントバー・ビジネスの多くを置き換え、さらに新しいティックを受信したときに(現在起動していない場合に)インジケーターコードの実行を開始することになっているのです。他の多くの変更とともに、あなたの言う通り、私たちは「再学習」しなければならないので、生活が楽になるわけではありませんし、しばらくこの仕事をしていて、いくつものアプリをまとめている人にとっては、それらを動かし続けるために多くのリエンジニアリングを引き起こすことになるでしょう。私自身はというと、ちょうどMQLを理解し始めたところで、これにはクラクラしました。これまで学んできたことのほとんどは、これから「アンラーン」しなければならないのです。
物事がより厳しくなることについては、私は良いことだと思います。慣れるまでは大変かもしれませんが、ユーザーや私たち自身にとって大きな負担となるようなミスを減らすことができます。企業で何年も、自分たちのミスでユーザーに大損害を与えかねないアプリに携わってきた立場からすると、私は正確さを支持します。しかし、私が言いたかったのは、OnCalculate()を導入することで、作業の半分を代行させるようなことをすると、フードの下で何が起こっているのかの理解が薄れるということです。C++からC#に移行したときの経験談です。これがどう動くのか」を知っている状態から、「このボタンを押したらこれが起こる」という状態になったわけです。私は古い人間なのかもしれませんが、このような鈍化は良いことだとは思いません。このリエンジニアリングには、良い点と悪い点の両方があります。
そのため、eaジェネレータはもう使うことができません。コードが更新されない限り、本当に自分でインジ/エアをコーディングする必要があります。
実際、プログラミングをする上で、規律は重要です。大変ですが、コーディングに強くなっていきます。
その通りだ。実を言うと、EAジェネレータは今まで使ってはいけなかったと思うんだ。ブラックボックス」が実際に何をするものなのか、全くわかっていない。2番目の発言については、私も同意見です。
これがどう動くのか」を知っている状態から、「このボタンを押したらこうなる」という状態になったんですね。私は古い人間なのかもしれませんが、ダンピングが良いことだとは思いません。このリエンジニアリングには、良い点と悪い点の両方があります。
MT4のようなバイナリコードを完全にゼロからプログラミングすることは、一人の人間にとっても、組織された会社にとっても、事実上不可能な仕事です。 最近のコンピュータゲームは言うまでもありません。 生きている人間で、バイナリ、8進数、16進数、あるいはベーシックを少しも知らない人はいない時代が来るかもしれませんね。 まず、要素を構築し、時間が経つにつれて、ブロックができ、そして、物語全体、本全体ができる。 プロットを組み立て直して、一見新しいものができあがるが、それは毎回同じ古いものだ。 世界は変化し、人は同じ古いシナリオにはまってはいけない! 人は常に学び直し、まずマニュアルを読む。 そして何度も何度も。 そうしないと、人は遅れて、恐竜になるのである。
MT4のようなバイナリコードを完全にゼロからプログラムすることは、一人の人間にとっても、組織された会社にとっても、事実上不可能な仕事です。 最近のコンピュータゲームは言うに及ばず、生きている人間でさえ、バイナリ、8進数、16進数、あるいはベーシックを少しも知らない時代がやってくるでしょう。 まず、要素を組み立て、時間が経つにつれて、ブロックができ、そして、物語全体、本全体ができるかもしれません。 プロットを組み立て直して、一見新しいものができあがりますが、それは毎回同じ「し」です。 世界は変わり、人は同じ古いシナリオにはまってはいけません! 常に学び直し、まずマニュアルを読み、そして何度も何度も学びなおさなければなりません。 そうしなければ、人は遅れをとり恐竜になるのです。
言いたいことはわかるよ、ダダス。そして、私もある点までは同意します。しかし、誰かが常にそのテーマを一から学ばなければ、カードハウス全体が崩壊してしまうのです。私が何を言いたいか、図解しましょう。私は教育のプロとして過ごしてきました。私は、数学と物理学の助教授という地位にあります。私はコミュニティカレッジで教えていましたが、物理学科は私と学科長で構成される「常設」でした。
当時、数学科では、統計学、微積分学、線形代数学などをコンピューターや電卓のプログラムを使って教えるという方向に傾いていた。実際の教科については何も教えていなかったのです。生徒が教えられていたのは、プログラムの使い方だけです。それは数学を学んでいるのではありません。スタートボタンを押し、数字を入力して、「Go」ボタンを押すだけです。説明書通りにやったのに、問題を間違えてしまったと苦情を言いに来た生徒がいました。私はまず、「電卓が出した答えが妥当だと思えたか」と質問したのですが、「うーん、わからない」という答えでした。なぜなら、彼らは数学のことをまったく知らなかったからです。彼らが知っていたのは、このボタンをこの順番で押せば、電卓が魔法のように答えを出してくれる、ということだけでした。違う!
さて、話を元に戻します。私のパートナーは、これに賛成していました。その理由は、「いつの日か、こうしてすべてが行われるようになるんだ。誰も、私たちのように実際に数学や物理をやる方法を知る必要はなくなるんだ。プログラムが全部やってくれるんだ」 私の答えは、「そうなんだ」。そして、「得られた答えがまったく現実的ではない」ことを、どうやって知ることができるのだろう?それどころか、機械に任せるように訓練されて基本的な計算もできないような人たちがいる中で、いったい誰がこのようなものを書いてメンテナンスするんだろう?誰かが「仕組み」を知らなければならないし、ジム・モリソンの言葉を借りれば、「クソみたいな家全体が燃え上がる」のだ。そして、私のような恐竜の出番となる。私は蹴飛ばされ、叫ばれても、最後まで教えながら落ちていくだろう。クソみたいな家が燃え上がるのは、私が怠惰な道を歩んだからではない。)
言いたいことはわかるよ、ダダス。そして、あるところまでは同意します。しかし、誰かが常にそのテーマを一から知っていなければ、カードハウス全体が崩壊してしまいます。私が何を言いたいか、図解しましょう。私は教育のプロとして過ごしてきました。私は、数学と物理学の助教授という地位にあります。私はコミュニティカレッジで教鞭をとっていましたが、「常設」の物理学科は私と学科長で構成されていました。
当時の数学科は、統計学や微積分、線形代数など、コンピュータや電卓のプログラムを使って学生に教えるという方向に傾いていたのです。実際の教科については何も教えていなかったのです。生徒が教えられていたのは、プログラムの使い方だけです。それは数学を学んでいるのではありません。スタートボタンを押し、数字を入力して、「Go」ボタンを押すだけです。説明書通りにやったのに、問題を間違えてしまったと苦情を言いに来た生徒がいました。私はまず、「電卓が出した答えが妥当だと思えたか」と質問したのですが、「うーん、わからない」という答えでした。なぜなら、彼らは数学のことをまったく知らなかったからです。彼らが知っていたのは、このボタンをこの順番で押せば、電卓が魔法のように答えを出してくれる、ということだけでした。違う!
さて、話を元に戻します。私のパートナーは、これに賛成していました。その理由は、「いつの日か、こうしてすべてが行われるようになるんだ。誰も、私たちのように実際に数学や物理をやる方法を知る必要はなくなるんだ。プログラムが全部やってくれるんだ」 私の答えは、「そうなんだ」。そして、「得られた答えがまったく現実的ではない」ことを、どうやって知ることができるのだろう?それどころか、機械に任せるように訓練されて基本的な計算もできないような人たちがいる中で、いったい誰がこのようなものを書いてメンテナンスするんだろう?誰かが「仕組み」を知らなければならないし、ジム・モリソンの言葉を借りれば、「クソみたいな家全体が燃え上がる」のだ。そして、私のような恐竜の出番となる。私は、蹴飛ばされ、叫ばれながらでも、最後まで教えていくつもりだ。クソみたいな家が燃え上がるのは、私が怠惰な道を歩んだからではないのだ。)
じゃあ、お前はドンキホーテのように終わるんだな。
そして、そう、生きてはいないけど、遅かれ早かれ、そういうことになるんだ。結局のところ、この宇宙全体がどのように、そしてなぜ動いているのか、誰もクソほども知りませんが、それでも動いているのです。あなたは宇宙自体から正しい答えを得ているかどうかを知っていますか?どうしてそんなことがわかるんですか?数学者の考え方は理解できます。彼らは数式ですべてをコントロール したいし、その数式がどこから来たのか知りたいし、理解したいのです。2+2=4、でもなぜ?これは本当に正解なのでしょうか?実は、コントロールすることはできないのです。
そして、結局のところ、「グローバル初期化に失敗しました」となり、その理由も修正方法も誰も知らないのです。
まあ、そうなるとドンキホーテのようになるわけですが。
そして、そう、私たちはそれを見るために生きていないでしょう、しかし、それは遅かれ早かれ、そのようになりそうです。結局のところ、この宇宙全体がどのように、そしてなぜ動いているのか、誰もクソほども知らないのに、動いているのです。あなたは宇宙自体から正しい答えを得ているかどうかを知っていますか?どうしてそんなことがわかるんですか?数学者の考え方は理解できます。彼らは数式ですべてをコントロールしたいし、その数式がどこから来たのか知りたいし、理解したいのです。2+2=4、でもなぜ?これは本当に正解なのでしょうか?実は、コントロールすることはできないのです。
そして、結局のところ、「グローバル初期化に失敗しました」と言われても、その理由も修正方法も誰もわからないのです。
ドン・キホーテのことですね(笑)。とにかく、重要なのは、私たちは何を使って仕事をしているのかを理解しなければ、最終的に失敗へ向かってまっしぐらだということです。