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

 
FAQ:

それとはまったく無関係に。もしかしたら、他のものに依存するのかもしれませんが、ダニには関係ないのでは......と思って調べてみました。総じて、EAの流れに関しては、新造によってターミナルの運用が一変しました。ループしたEAは、端末操作に関係なく、ループのすべての反復を明確に実行するようになりました。ちなみに、ループするEAで消費されるCPUリソースは大幅に削減されました。
また、ターミナルでも同じようなことがありました。ループするようなことはなく、ターミナルが何かの処理に追われているような感じでした...。マウスで「プロパティ」ウィンドウを呼び出すことを繰り返し、5~8回ほど試したところ、正常に開くようになりました...。
 
Roman.:
また、ターミナルでも同様の問題が発生しました。ループするようなことはなく、ターミナルが何かの処理に追われているように見えました......。をマウスで何度も呼び出そうとしたところ、5~8回ほど試した後、無事にプロパティウィンドウが開きました...。

可能性はあるが、ダニとは関係ない。
 
FAQ:

そうかもしれませんが、チックとは関係ありません。

なるほど。
 

正しいトピックであることを願います ; )

どちらかというとヌケモノの問題なんですが、ずっと引っかかっていたんです。

int total=OrdersTotal();

int Q,W;
if (total == Q + W)

と言って、何種類もの注文を開けるのです。Qの下にあるものもあれば、Wの下にあるものもあります。オーダーを変更する方法(例えば、クローズした場合) Qを再開する...QとW、両方が閉じている場合のみ、再開します。

 
Keda:

正しいトピックであることを願います ; )

どちらかというとヌケモノの問題なんですが、ずっと引っかかっていたんです。

int total=OrdersTotal();

int Q,W;
if (total == Q + W)

と言って、何種類かの注文を開ける。Qの下にあるものもあれば、Wの下にあるものもあります。オーダーを変更する方法(例えば、クローズした場合) Qを再開する...それ以外の場合は、QとWの両方が閉じている場合にのみ再開される。


見ての通り、変数QとWは整数です。

次に、ある整数のオーダーをオープンする(どういう意味ですか)、(ある整数の)オーダーがクローズされた場合、他の整数を再びオープンするために、どうすればよいかというご質問です。今は2つ全体が閉じると開くようになっています(どれが何?)

質問は超です。正しくは「問題はむしろヌケている」ですね。その通り:質問することのナニか。質問することを能天気にせず、自分が理解されるように質問する訓練をしましょう。

とりあえず、ここに行ってみて ください。

 

質問者さんは、mql4が全く初めてということが質問から伝わってきますね。返信ありがとうございます!これで問題の原因がわかりました。

理解しようとして、さらに混乱した。2ロットのみ使用しています。2種類のロットが開かれています。一緒に仕事をするべきだ。片方が閉じたとき、閉じた方を再び開くにはどうしたらいいのでしょうか?片方のロットがクローズするともう片方も連動し、両方がクローズしたときだけ2つのロットがオープンします。アドバイスをいただけると幸いです。

 
yosuf:
インターネットがよく落ちるのですが、プログラム的に自動化して、再び立ち上げる方法はないのでしょうか?あるいは、この方面では何が知られているのでしょうか。2つ以上のISPに同時に、つまり並列に電力を供給する方法はあるのでしょうか?よろしくお願いします。
VPS サービスを利用すれば、より簡単に、より安全に、お金を使うことができます。
 
Keda:

質問者さんは、mql4が全く初めてということが質問から伝わってきますね。返信ありがとうございます!これで問題の原因がわかりました。

理解しようとして、さらに混乱した。2ロットのみ使用しています。2種類のロットが開かれています。一緒に仕事をするべきだ。片方が閉じたとき、閉じた方を再び開くにはどうすればよいのでしょうか?片方のロットがクローズするともう片方も連動し、両方がクローズしたときだけ2つのロットがオープンします。アドバイスをいただけると幸いです。


今ならわかる。ざっくりとした目安はこんな感じです。

int    Magic=123;

double Lot_Q=0.01;
double Lot_W=0.05;

bool   Flag_Q=False;
bool   Flag_W=False;


//Просматриваем все открытые ордера

for(int i = OrdersTotal() - 1; i >= 0; i--) 
  {
   OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
   if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)//Если это ордер данного символа и магика (т.е. открыт данным советником)
     {
      if(OrderLots()==Lot_Q) Flag_Q=True;//Если ордер с объемом Q есть среди открытых, присваиваем флагу Q истину.
      if(OrderLots()==Lot_W) Flag_W=True;//Если ордер с объемом W есть среди открытых, присваиваем флагу W истину.
     }
   }


//Проверяем условия нужности открытия - индикаторы, другие сигналы, и что там у Вас еще. И если есть сигнал

if(Flag_Q==False)//Только если ордер Q не открыт в настоящий момент
  {
   //Открытие ордера Q
  }

if(Flag_W==False)//Только если ордер W не открыт в настоящий момент
  {
   //Открытие ордера W
  }
 
すごいな、これ。ありがとうございました。
 

またまたこんにちは)こんにちは!もっとコンパクトに書く方法を教えてください。

        for (i=4; i<7; i++){
        sum+=GetPrcD1(symb[i]);
        Content[5][1]=DoubleToStr(sum/3,3);
        }
        
        for (i=7; i<10; i++){
        sum+=GetPrcD1(symb[i]);
        Content[6][1]=DoubleToStr(sum/3,3);
        }

        for (i=10; i<13; i++){
        sum+=GetPrcD1(symb[i]);
        Content[7][1]=DoubleToStr(sum/3,3);
        }

        for (i=13; i<16; i++){
        sum+=GetPrcD1(symb[i]);
        Content[8][1]=DoubleToStr(sum/3,3);
        }

        for (i=16; i<19; i++){
        sum+=GetPrcD1(symb[i]);
        Content[9][1]=DoubleToStr(sum/3,3);
        }