OrderSend()関数のバグ? - ページ 6

 
tara:

では、スタティックとは何でしょうか?フェイタリックというか...。
なぜ静止画がダメなのか?どこでも使える。致死性、ナフタリン性、まさか!?いつも自分の欠点を探して、怒られてばかりです
 
borilunad:
なぜ静止画がダメなのか?どこに行っても使える。ファタリック、ナフタリック、ありえない!?いつも自分の中で間違い探しをして、怒られてばかりです
プログラム再起動時の変数初期 化を規定していないため、MUSTとなります。
 
ちなみに、MQL4の静的データはすべて同じ病気を持っています。注意:すべての配列は静的です:)
 
tara:
プログラム再起動時の変数初期化を規定していないため、MUSTとする。
そうですね、どんな機能でも、たとえローカルなものでも、staticにはまず何らかの値が提示され、それが比較されるわけです。最初は何気なく使っていたのですが、実際に使ってみて確認し、理解することができました。一度にすべてを理解することは不可能ですし、すべてが一度にそう簡単にアレンジできるわけではありません。:) 私はアレイには手を出しません。
 
granit77:
他のプログラマーで確認できる方はいらっしゃいますか?一票では足りない。
ビクター、残念ながら私はプログラマーではありません。素人なのに...。
 
tara:

単純に何かのパラメータを変更すればいいのです。設定したTFの新しいバーの最初のティックの後にのみ反応します。

しかし、あなた自身は、なぜ高いTFでEAの動作が説明できないのか、不思議に思っているようですね:)



新しいバーの最初のティックとテスターの間に関係があるのだろうか...。見えませんね。テスターはテスターである。そして、チャートは...チャート...です。(テスターという意味ではなく、同じデモでもリアル)。

それに、教科書には..."明示的な初期化がない場合、静的変数は ゼロで初期化されます"。

ですから、Alexey さんがおっしゃるように、INITでlastBarTime 変数に値0を 代入する必要はないのです。プログラム起動時には0になります。

 
hoz:


作業用TFとテスターの新しいバーの最初のティックに関係があるのだろうか...。...まあ、気づかないんですけどね...。テスターはテスターである。そして、チャートは...チャート...です。(テスターという意味ではなく、同じデモやリアル)。

さらに、教科書にはこう書かれている。"明示的な初期化がない場合、静的変数はゼロで初期化されます"。

ですから、Alexey さんがおっしゃるように、INITでlastBarTime 変数に値0を 代入する必要はありません。プログラム起動時には0になります。


いいえ、そうではありません。バグです :)
 

この点は(教科書から)よくわからないが。

「静的変数は、専用の init() 関数を呼び出す前に一度初期化されます。つまり、静的変数が宣言されている関数から離れるときに、この変数の値が失われることはないのです。

特別なinit() 関数を呼び出す前」と「(内容から判断して)スタティック変数が宣言されているユーザー関数を終了した後」とは、どのような関係があるのでしょうか?"

静的変数を宣言する関数は、プログラムの最後...つまりコードの最後かどこか他の場所にあることがあります。init() 関数は、プログラム開始直前に一度だけ実行されます。矛盾していることがわかります。init() 関数の前に変数を初期化するにはどうしたらいいですか

 
hoz:

この点は(教科書から)よくわからないが。

"静的変数は、専用のinit()関数を呼び出す前に一度初期化されます。つまり、この変数の値は、静的変数が宣言されている関数からの終了時に失われることはないのです。

特別なinit() 関数を呼び出す前」と「(内容から判断して)スタティック変数が宣言されているユーザー関数を終了した後」と、どういう関係があるのでしょうか?"

静的変数を宣言する関数は、プログラムの最後...つまりコードの最後かどこか他の場所にあることがあります。init() 関数は、プログラム開始直前に一度だけ実行されます。矛盾していることがわかります。init() 関数の前に変数を初期化するにはどうしたらいいですか

現在使われているメモリ管理のモードはすべてPL/1で最初に実装されたものです。自動、ダイナミック、スタティック、ベースの4種類です。C社はその後、この規格を全面的に採用した。

 
もう寝ます:)