[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 557

 
maryan.dirtyn >>:
вмешивайтесь плз.. задача проста.. пока цена летит вниз не покупать, пока не будет тика в другую сторону. причем нужно зациклить код в одном месте, пока летит, ничего не трогаем..
だから、言われたとおりにしてください。動作するはずです。スタートボディでstaticにするか、ヘッダでtmpを宣言して、例えばlmのような代入をする。
 
Svinozavr >>:
Ну так и сделайте как вам предложил. Должно работать. Или статик в теле старт, или в заголовке свою tmp объявите с присвоением, скажем, ляма.
差し支えなければ、コードもお願い します。
 
static double tmp=0;  
RefreshRates();
while(Ask<tmp || tmp==0) { 
   tmp=Ask;
   ///
   ///
  }
 

ループに入ってtmpを代入し、何もせずにループを抜けて次に進む......というのはどういうことですか?それはまるで...

double tmp=Ask; while(Ask<=tmp) tmp=Ask; Print("Заработало");
 
maryan.dirtyn >>:

а в чем смисл? вошли в цикл, присвоили tmp, тут же вышли из цикла по сути ничего не сделав, и пошли дальше... разве ето похоже на


そして、よく練られた問題は、すでに半分解決された問題であるという点です。

もしかしたら、このサイクルの中で起こるはずの神秘的なプロセスに目を向けるべき時なのかもしれませんね。そして、もしかしたら、違う解決策が見えてくるかもしれない?

 
ループの中やループの後に起こるようなことを、なぜコードにオーバーロードさせるのか... 課題はできるだけ明確に定式化されていると思うのですが... 今のところ解決策がありません。
 
テレパスはまだ来てないんだ。Askがダウンしている間、ループの中で何をするのかどうやって知ることができるのですか?あなたの知らない行動を///と表記しています。
自分が何をしたいのか分かっているのか?)
 
maryan.dirtyn >>:
ну я давно не новичок уже в mql. за два года уже освоился.. да, мне нужно именно while. кстати к учебнику периодически возращаюсь, а не зевнул ли я чего).. ти не видишь кролика? а он есть.. не все так просто.
疑念に悩まされる...。
 
Askが下がればExpert Advisorは何もせず、Askが1ティック上がればまた同じところからコードが始まるだけです。 そんなに複雑ですか? もう寝ます。テレパスが起きて、何かヒントをくれるといいんですけどね。
 

くそ、ループの本体にreturnを入れろ。

===

実際、何のためにそこにループがあるのでしょうか?ただ if(Ask<tmp) {tmp=Ask; return(0);}.