여기서 무슨 문제가 있습니까? - 페이지 6

 
그리고 서로 다른 방향으로 동시에 두 개의 주문을 여는 어드바이저가 있기 때문에 거의 동시에 두 개의 주문을 동시에 여는 방법.
 
sss2019 :
그리고 거의 동시에 두 개의 주문을 여는 방법.
예를 들어, 다른 계정이나 터미널에서.
 
sss2019 :
그리고 다른 방향으로 동시에 두 개의 주문을 여는 어드바이저가 있기 때문에 거의 동시에 한 번에 두 개의 주문을 여는 방법.
같은 총열에서 동시에 발사되는 기관총은 없습니다. 총알이 하나씩 발사됩니다.
 
그리고 보류 중인 주문 이 작동하지 않을 경우 적시에 삭제하는 방법. 매일 열리는 주문이 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;

또한 뉘앙스에 대해 기억해야 합니다. 금요일에는 세션이 더 짧습니다. 휴가 전 날이 있습니다. 보류 중인 주문 의 만료 시간은 서버 시간에 가깝게 설정할 수 없습니다(얼마나 가까운지는 DC에 따라 다름).

 
sss2019 :
따라서 주문이 Ticket 변수에 번호를 할당한 후에는 return을 사용하여 표시할 필요가 없습니다. 변수는 다음 틱에서 더 이상 삭제되지 않습니까?
이 경우 전역 수준에서 선언되기 때문에 삭제되지 않습니다.
 
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 ());
          }
     }

실제로 하나의 주문이 열려 있지만 경고 신호( "주문이 열려 있음" )가 작동하지 않습니다. 대신 Alert ( "Error " , GetLastError ()); 그러나 그것은 다음 틱에서 이미 나에게 보인다.

 
sss2019 :

바로 여기에서 저를 도와주세요.

실제로 하나의 주문이 열려 있지만 경고 신호( "주문이 열려 있음" )가 작동하지 않습니다. 대신 Alert ( "Error " , GetLastError ()); 그러나 그것은 다음 틱에서 이미 나에게 보인다.


OrderSend 는 언제부터 true를 반환합니까?
 
그리고 나는 이해했지만 어딘가에서 나와 비슷한 상태를 보았습니다. 그리고 주문을 연 후 조건을 충족시키는 방법은 무엇입니까?