[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 206

 
Aleksander:

しっかしそんな大きな文字で書くと目が潰れそうなのでやめときます。)

そして、これは...質問する前に...Metaeditorのヘルプを読んでみましたか?全部ですか...とりあえず...種類とかそういうバカな質問をしないように...。

===

OrderSend() 関数の操作種別。以下の値のいずれかを指定することができる。

定数 価値 商品説明
OP_BUY 0 購入
OP_SELL 1 販売する
OP_BUYLIMIT 2 買い指値注文
OP_SELLLIMIT 3 売り指値注文の保留
OP_BUYSTOP 4 買付停止注文の保留
OP_SELLSTOP 5 売り停止注文の保留
拝啓...いい気になるなもし何か馬鹿馬鹿しいと思うことがあれば、わざわざ答えないでください...神は、誇大妄想のない人々がいることを望む...。ここは初心者のためのコーナーで、何かと聞かれるということは、わからないということですから......。さらに:ヘルプや本ですべてが明らかになっていたら、私はここにいないでしょう。
さて、本題ですが、例えば3つの注文があり、すべて成行注文だとします。そうすると、3回の繰り返しでは、いずれもブロック4にはぶつからないことになります。そして、最後の反復の後、ブロック4を迂回してすぐにブロック5に進みます。 ブロック5には、ブロック4で宣言されたTip変数が含まれています。しかし、ブロック4は実行されなかった。つまり、Tip変数は宣言されていないのです。では、宣言する前に変数を使用するのですか?

 
なぜかというと、最初のパスでコンパイラが変数用のメモリ空間を確保したからです...。とアクセスしてもエラーにならない...。
 
Aleksander:
なぜかというと、最初のパスでコンパイラが変数用のメモリ空間を確保したからです...。とアクセスしてもエラーにならない...。


次の点が明確ではありません。最初のパスでは(3つの注文がすべて成行注文であると仮定して)、ブロック3で if(OrderType()<2) という条件が満たされているので、ブロック4まで到達していません。そして、次の反復子 continue は現在の反復子を完了し、Tip変数が宣言されて いるブロック 4 をスキップします。最初の反復処理でTip変数が宣言されていない(Tip変数を宣言している行が実行されていない)ことを意味します...。そして、それが3回繰り返されるのです。I.e. 3回目の反復の後、Tip変数を使用するブロック5に到達する、すなわち、それは以前に宣言されていない(すなわち、我々はその宣言と文字列を持っているが、ブロック4に到達していないので、我々はこの変数を宣言していない?)。

 

私は、コンパイラがプログラムテキストを走査して、関数内の任意の場所で変数定義を見つけたとき、メタコンパイラがその変数を下流で使用するように宣言することを指していたのですが、実際には変数の初期化に関する言及がなかったにもかかわらず...。- という環境です。)

int start()  {
       int l=1;
       
       if (l == 2) {
          int kk=99;
          kk = 100;
       }
   }
   if (kk != 10) { Print("net kk takoi peremennoi = ", kk); }


条件に入力がないにもかかわらず、コンパイラは変数にメモリロケーションを割り当てた......。初期化していないにもかかわらず、Printでは=0になります。

 
Aleksander:

私は、コンパイラがプログラムテキストを走査して、関数内の任意の場所で変数定義を見つけたとき、メタコンパイラがその変数を下流で使用するように宣言することを指していたのですが、実際には変数の初期化に関する言及がなかったにもかかわらず...。- という環境です。)


条件に入力がないにもかかわらず、コンパイラは変数にメモリロケーションを割り当てた......。初期化していないにもかかわらず、Printでは=0になります。



つまり、私の理解が正しければ、コンパイラはターミナルと違って(大雑把に言えば)ループを実行せず、ただ行を並べて読み込んでエラーをチェックする...ということです。つまり、変数が使われた行(位置)が、その変数が宣言された行(位置)の後に来ることが、このエラーの有無の基準となるのでしょうか。
 
そうかもしれませんね :-) もし、以下の宣言を行い、上の変数にアクセスすると、コンパイラはエラーを発生させます...
 
Aleksander:
そうかもしれませんね :-) もし、以下の宣言を行い、上の変数にアクセスすると、コンパイラはエラーを発生させます...

了解です、ありがとうございました...GVの変数について何かヒントがあれば教えてください。
 

はどうなんだろう?- 端末レベルでのグローバル化?

このような場合、変数ファイルに時間を保存します :-) アクセス日、名前、double 型の
 
PS - そしてまた - 間接的に :-)- ロシア語でも英語でも、変数名には最大63文字まで保存できます。
 
アドバイス:ObjectCreate関数(トレンドライン作成時)を作成すると、ある点から別の点へと続く光線が、チャート上で右側にのみ連続するようになります。