MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1244

 
Alexey Viktorov:

文字列 AUDUSD = "AUDUSD";

せめてこんな感じで。

それだ!!!!私の場合はそうでした)))、消去され、忘れ去られました)))

本当にありがとうございました!!!あなたの家に平和を!

 
Valeriy Yastremskiy:

アドバイザー、スクリプト、インジケーターはアクセスされず、現在のウィンドウで動作します。また、異なるウィンドウ/チャートのグローバル変数が 重なることはありません。したがって、動作するはずです)

string AUDUSD; // これはテキスト変数で、初期状態では空、すなわち""と等しい。

(Symbol() == AUDUSD) // この文字列は変数AUDUSDとは 関係ない。

しかし、注文の開始基準は、異なる商品/ウィンドウで同じであってはなりません。同じであれば、確かにすべてのウィンドウで開きます。

ありがとうございました。

Expert Advisorが複数のウィンドウで開いたときに注文を開くシグナルが出ないように、また、EAが他の人の邪魔にならないように、このようなシンボルに買いシグナルが出たと理解するようにロジックを実装しました。

 
Denis Diakonov:

出たーーーー!!!!(笑私の場合はそうでした)))、消去され、忘れ去られました)))

本当にありがとうございました!!!あなたの家に平和を!

あるいは、グローバル変数 レベルでは次のようになります。

#define  AUDUSD "AUDUSD"
 
Alexey Viktorov:

あるいは、グローバル変数 レベルでは以下のようになります。

実際、クールです)) 今、ロボットはシグナルを受信し、一度に複数のウィンドウで異なるペアの注文を開く))

いつもありがとうございます。

 
Yerkin Sagandykov:

問題は、私の意見では、変数の値ではありません。 私はちょうど私のコードuulsovii再計算で新しい時間の発生時に持っている。 そしてそれは、現在のシンボルの新しいバーが 表示され、バー= 1の値を計算することが判明したが、信号シンボルは新しいバーがまだ形成されていないまたは何場合とバー= 2の値を計算

この問題は簡単に解決できます。

 if  ( iTime(nameSym, LPeriod, 0 ) == counted_bar || iTime(nameSymSignal, LPeriod, 0 ) == counted_Signalbar) return; 
 
ヒントをください。
関数本体から複数のスイッチケースパラメータを渡すことは可能ですか?スイッチケースでオープンする注文の種類があり、マーケットエントリーポイントを 定義する関数から注文をオープンするためのパラメータを1つだけ渡すことができましたが、すでに理解しているようにそれは不可能なので、順次実装する方法さえわかりません
 
Denis Diakonov:
アドバイスをお願いします。
関数本体から複数のスイッチケースパラメータを渡すことは可能ですか?スイッチケースで開く注文の種類があり、マーケットエントリーポイントを 定義する関数から注文を開くためのパラメータを1つだけ渡すことができましたが、すでに理解しているようにそれは不可能なので、順次実装する方法さえまだわかりません

具体的にどのような内容なのか、コードで教えてください。

 
Denis Diakonov:
アドバイスをお願いします。
関数本体から複数のスイッチケースパラメータを渡すことは可能ですか?スイッチケースでオープンする注文の種類があり、マーケットエントリーポイントを 定義する関数から注文をオープンするためのパラメータを1つだけ渡すことができましたが、すでに理解しているようにそれは不可能なので、順次実装する方法さえわかりません

数値の範囲を指しているのでしょうか?

 
Vitaly Muzichenko:

興味のあるものをコードで正確に示す

int OpenOrder()                                             
{
   switch(AUDUSD_Analizing)
   {
      case 0 : Alert("Нет условий для открытия ордера. Выход"); break;    
      case 1 : // кейс для открытия Buy по AUD/USD
               if(TimeServer() == true)                                     
               {
                  if(Symbol() == AUDUSD)
                  {
                  RefreshRates();
                  Open_Order = OrderSend("AUDUSD",OP_BUY,lot,Ask,0,0,0); 
                  Alert("Тикет открытого ордера ", Open_Order, GetLastError());
      case 2 : // кейс для открытия Sell по AUD/USD
               if(TimeServer() == true)                                     
               {
                  if(Symbol() == AUDUSD)
                  {
                  RefreshRates();
                  Open_Order = OrderSend("AUDUSD",OP_SELL,lot,Bid,0,0,0); 
                  Alert("Тикет открытого ордера ", Open_Order, GetLastError());
//-------------------------------------------------------------------------------------------------------------
// другая функция
//-------------------------------------------------------------------------------------------------------------

int AUDUSD_Analizing()
{    
   if(AUDUSD_Prices_new > AUDUSD_Prices_old)
   {
      s1 = AUDUSD_Prices1;
      s2 = AUDUSD_Prices2;
      s3 = s1 - s2;    
      if(raznica > s5)
      {
         Alert("--- ВРЕМЯ ОТКРЫВАТЬ ОРДЕР НА ПОКУПКУ ---");

и вот тут я могу либо прописать конкретное открытие ордера или несколько их штук(чем и решил заняться так 
как не нашел решения), либо вернуть номер кейса в первую функцию(что сократило бы код). 
Но мне нужно по условиям открывать сразу несколько сделок. К примеру нужно 2 на бай разом открыть, 
а возвращается только одно значение и исполняется один кейс и дальше уже на новый круг все идет, 
а мне нужно сразу несколько кейсов, допустим 5 выполнить, поставить 5 отложек и вот как передать не пойму, 
или как вызвать срабатывание кейсов в последовательности. Если с кейсами можно как-то придумать, то по
факту код влезет в рамку 400-600 строк, а так полагаю все 1000+ выйдет в лучшем случае
(разбитые по 100-200 строк на .mqh, но и из файлов тоже помойка сложится)

 
Alexey Viktorov:

数値の範囲ということでしょうか?

いいえ、例えばケース1を先にパスし、次にケース2をパスする、などです。

じょうれい