何がいけないんですか? - ページ 6

 
2つの注文を同時に出すにはどうすればよいですか? 異なる方向で2つの注文を同時に出すEAがあります。
 
sss2019:
同時に2つの注文を出すのはどうでしょうか?
例えば、異なるアカウントや端末で。
 
sss2019:
2つの注文を同時に出すにはどうすればよいですか? 異なる方向で2つの注文を同時に出すEAが あります。
同じ銃身から同時に発射する機関銃は存在しない。弾は一発ずつ出ていく。
 
うまくいかない場合、保留中の注文を 適切なタイミングで削除させるにはどうしたらよいですか。毎日開いた注文が5時に終了するように、正しく日付を設定するにはどうすればよいですか?教えていただけませんか。
 

h_timeを注文の終了時刻(時間)とする。そうすると、次のようなコードになります。

extern   int h_time = 17;    // время указано по серверу
..........

   datetime c_time = TimeCurrent(); 
   int HourCurrent = TimeHour(c_time);

   // установим c_time в 00:00:00 текущего дня
   c_time = c_time - HourCurrent*60*60 - TimeMinute(c_time)*60 - TimeSeconds(c_time);
   // теперь установим c_time на указанный час
   if (h_time > HourCurrent) //время можем установить, если оно еще не наступило
     c_time = c_time + h_time*60*60;
   else
     c_time = 0;

また、金曜日はセッションが短くなること、祝日があること、注文の 有効期限をサーバー時刻に近づけることができないこと(どのくらい近づけるかは証券会社によって異なる)、といったニュアンスも覚えておく必要があります。

 
sss2019:
つまり、一度注文がTicket変数に番号を割り当てたら、returnで出力する必要はなく、次のtickでさらに変数が削除されることはないのですね。
この場合、グローバルに宣言されているため、削除されることはありません。
 
granit77:
同じ銃身から同時に発射する機関銃は存在しない。弾は一発ずつ出てきます。

金言の言葉
 

こちらもよろしくお願いします。

   if(TimeHour(TimeCurrent()) == 9 && TimeMinute(TimeCurrent()) == 28 && OrdersTotal() == 0)
     {
     if(OrderSend(Symbol(),OP_BUYLIMIT,Lot,Open[0] - 10 * MyPoint,Slippage,0,0,MyComment,16523,0,Green) == true)
       {
       Alert("Ордер открыт");
       }
       else
          {
          Alert("Ошибка ",GetLastError());
          }
     }

実際に、1つの注文が開かれましたが、Alert("Order is open") シグナルは鳴らず、代わりに Alert("Error ",GetLastError()) が鳴りました; しかしそれは、次のティックで鳴るように思えます

 
sss2019:

こちらもよろしくお願いします。

実際に、1つの注文が開かれましたが、Alert("Order is open") シグナルは鳴らず、代わりに Alert("Error ",GetLastError()) が鳴りました; しかしそれは、次のティックで鳴るように思えます


いつからOrderSendは trueを返すようになったのですか?
 
ああなるほど、でもどこかで私のような状態、あるいは似たような状態を見たことがあります。また、注文を開始した後に条件を満たすようにするにはどうすればよいのでしょうか?