[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 362

 
うーん、誰か助けてくれないかな?
 
Chiripaha:

ここで、Pr0t0tipの コード(まあ、それとニックネーム - 再入力するのに疲れました : )で。)) これらの変数extern int sl=100;(等) がマッピングされます。そのため、変数を宣言して、owlの設定に表示させ、その値を変更し最適化する必要があります。

しかし、ユーザー関数の中では外部変数は機能しません。

そして、その機能を捨てられない。秩序の修正がある...。

 
solnce600:
そして、その上には「START」しかなく、それ以外には何もない。

私はそれを間違った場所に置きました - 私はブラケットの後ろに変数を置くべきでした。

int start()
  {
   bool have = true;

   for(int i=0;i<10;i++)
     {
      if(Low[i]<=Low[i+1])
       {
        have=false; 
        break;
       } 
     } 

   if(have)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 
    }

   return(0);
  }

そして、下の方に余分なものがあり、 もう1つ中括弧がありました。余白や文章の構成(スタイル)を一つも守っていなかったのでは?すべてを正しく書くと、すべての間違い(矛盾)がすぐに見えてきます。コードを書くときに注意すること- 悪態をついてはいけない。

 

それは変ですね。あなたのコードからこのようなエラーが発生しました。

'bool' - semicolon expected C:\Documents and SettingsUserMy Documents ◇TeleTRADE ◇Dot.mq4 (33, 4)

実際にbool have = trueで。

 
その通りです。あるいは、論理的なねじれがあったのか、elseがあったのか、関数がゼロを出力して仕事を終えるのか、何なんだ?
 
Chiripaha:

あ~あ、あったあった...。ブラケットの後ろに変数を置くべきでした。

そして、底に余分なものがあり、もう一つ四角いブラケットがありました。余白を尊重せずに書いている。すべてを正しく配置すると、すべてのエラー(不整合)がすぐに見えてきます。コードの書き方には注意が必要です。- 叱ることではないはずです。


ありがとうございます......あなたがいなかったら、私はどうなっていたでしょう......あなたに神の祝福を......そして残りは利益で買います......。
 
lottamer:

しかし、ユーザー関数の中では外部変数は機能しません。

そして、この機能を取り除くことができません。

なぜうまくいかないのか?- グローバル変数を ユーザー関数に取り込むと、内部で宣言されたとおりに動作します。しかし、内部変数のデータはこの関数にしか見えないため、さらにその動作は制限されます。そして、グローバル(extern 変数の値は、プログラム全体から見えるようになっています。ここが違うんです。しかし、外部-やはりextern - の場合、その変数も設定に表示されます。- これは教科書です。再読、助かります。: ))もちろん、外部変数を宣言する場合は、関数内部でこのグローバル変数を参照する必要があります。そして、名前が同一でないことを確認する。そうでなければ、externalとinternalの両方を同じ名前で宣言することになります。- しかし、そのようにすることもできますが、関数が内部変数の値を取ると思います - 私は正確に覚えていません。そこで、教科書を通さなければならないのです。実験したい人は自分でやってみてください。私は普段、混乱を避けるために違う名前をつけて、それでおしまいです。
 
Chiripaha:
なぜうまくいかないのか?- 任意のグローバル変数をカスタム関数に取り込むと、内部で宣言されたものと同じように動作します。内部変数のデータは、この関数にのみ表示され、さらにその動作は制限されます。そして、グローバル(extern 変数の値は、プログラム全体から見えるようになっています。ここが違うんです。しかし、外部-やはりextern - の場合、その変数も設定に表示されます。- これは教科書です。再読、助かります。: ))もちろん、外部変数を宣言する場合は、関数内部でこのグローバル変数を参照する必要があります。そして、名前が同一でないことを確認する。そうでなければ、externalとinternalの両方を同じ名前で宣言することになります。- しかし、そのようにすることもできますが、関数が内部変数の値を取ると思います - 私は正確に覚えていません。そこで、教科書を通さなければならないのです。実験したい人は自分でやってみてください。私は普段、混乱を避けるために違う名前をつけて、それでおしまいです。


内側が外から見えないなら、外側も内側から見えないと思ったので......。
 

こんにちは。私は簡単なEAを書きました(自分で勉強しています)。ロボットは売るために取引を開くだけで、買おうとはしない。購入条件のスペルが間違っていたり、分割がうまくできていなかったりしたことは理解しています。お願いしているのです。これです。

extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

double ma1, ma2;

int start()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (注文合計()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2))

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,", 123,Red)を送信。

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red) を送信します。

}

を返します(0)。

 
Pr0t0tip:
うーん、誰か助けてくれないかな?

ちょっと見てみましょうか。私は経験が浅いので。でも、試しにやってみるか...。: ))

一方、ボタンSRCの 使い方を覚えておくと、コードを 正しく、美しく、わかりやすく挿入することができます。だから、(今と未来の)あなたを助けてくれる人たちは、それを読んでくれると楽なんです。そんなことをしたら、目がつぶれてしまうかもしれません。: ))