[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 212

 
dzhini :

좋아요, 모두 여기 있습니다. 어제 밤에 게시했지만 스레드는 이미 magick이 무엇인지, 어떻게 준비되는지에 대한 설명으로 상당히 멀리 갔습니다.)))

내 질문에 대한 답변을 제공하십시오.

특정 시간에 어드바이저는 BUYLIMIT 및 SELLLIMIT 지연을 설정합니다. 당사자 중 한 곳에서 주문(OP_BUY 또는 OP_SELL)을 여는 순간 그가 다른 방향으로 보류 중인 것을 제거할 것이라는 사실을 그에게서 듣고 싶습니다.

나의 선택은 이랬다.


더 좋아 보이는 방법은 다음과 같습니다.

 void start(){
  .....

  for ( int i= OrdersTotal () - 1 ;i>= 0 ;i--) 
    if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) 
     {
      if (CalculateCurrentOrders( Symbol ())> 0 ) { Alert (CalculateCurrentOrders( Symbol ()));ClosePendingOrder(OP_SELLLIMIT);} // (1) 
      if (CalculateCurrentOrders( Symbol ())< 0 ) { Alert (CalculateCurrentOrders( Symbol ()));ClosePendingOrder(OP_BUYLIMIT);} //(2) 
      if ( TimeCurrent () - OrderOpenTime()>=HowManyHours* 60 * 60 ) {ClosePendingOrder(OP_BUYLIMIT);ClosePendingOrder(OP_SELLLIMIT);} //(3) 
     } 
   ....

}

논리에 들어가지 않고 중괄호가 없고 OrderSelect() 작업의 잘못된 구성이 즉시 명백합니다.

 
eddy :

이러한 질문을 주제별로 그룹화하고 바로 질문할 수 있는 기능을 추가하지 않겠습니까? 이것은 정상적인 질문일 것입니다.

여기에 코드/기사를 답변으로 사용하여 질문뿐만 아니라 작업을 추가하는 기능을 추가하면 내가 제안한 내용을 얻을 수 있습니다. 기존 콘텐츠를 모두 포함하는 다른 사이트 구조

로만, 오랫동안 준비 작업이 진행되고 있으며, FAQ 이념은 이전에 개발되었으며 특별 지점에 게시될 예정이며 기술 기반은 행정부와 합의되었습니다.
브랜치가 출시될 때까지 기다렸다가 아이디어와 어떻게 일치하는지 확인하고 필요한 경우 여유가 있으면 프로젝트 를 개발 및 구현할 수 있습니다.
 
Sergey_Rogozin :

더 좋아 보이는 방법은 다음과 같습니다.

논리에 들어가지 않고 중괄호가 없고 OrderSelect() 작업의 잘못된 구성이 즉시 명백합니다.

OrderSelect() 의 문제점을 설명해 주시겠습니까? 앞서 쓴 것처럼 이미 열린 거래 방향으로 지연을 제거하면 모든 것이 문제 없이 진행되기 때문입니다. 또한 엄격하게 정의된 시간에 모든 예금을 문제 없이 제거합니다.
 
dzhini :
OrderSelect() 의 문제점을 설명해 주시겠습니까? 앞서 쓴 것처럼 이미 열린 거래 방향으로 지연을 제거하면 모든 것이 문제 없이 진행되기 때문입니다. 또한 엄격하게 정의된 시간에 모든 예금을 문제 없이 제거합니다.
코드를 보지 않고는 확실히 말하기 어렵습니다. 기호, 마술, 작업 유형 등으로 선택할 필요가 없다면 OrderSelect() 도 잘 작동할 것입니다.
 

사실, 이것은 (단지 2개가 아닌) 다른 세트의 주문으로 작업하기 위해 미래를 위한 작동 시간을 만들려는 시도입니다.

주문 검토 주기가 실행 중일 때 어드바이저는 일반적으로 경고로 이동하지만 삭제 기능으로 올바르게 작동하는 것을 원하지 않습니다.

 void ClosePendingOrder( int ORDERType)
{
 while (!IsTradeAllowed()) Sleep ( 100 );
 if (OrderType()==ORDERType)
 {
 if (OrderSymbol()== Symbol ())
 { 
 if (!OrderDelete(OrderTicket(), CLR_NONE ))
   Print ( "Order close error" , GetLastError ());
return ;
      }
    }
}
 
granit77 :
자주 묻는 질문의 이념은 이미 개발되었으며 기술 기반은 행정부와 합의했습니다.
아이디어와 어떻게 일치하는지 확인하고 필요한 경우 자신의 프로젝트를 개발할 수 있습니다.
나는 대답을 올바르게 이해했습니다. "모든 것이 이미 생각되어 행정부와 동의했습니다(즉, 변경할 방법이 없음). 무언가가 귀하의 아이디어와 일치하지 않으면 스스로 할 수 있습니다"?
 
eddy :
나는 대답을 올바르게 이해했습니다. "모든 것이 이미 생각되어 행정부와 동의했습니다(즉, 변경할 방법이 없음). 무언가가 귀하의 아이디어와 일치하지 않으면 스스로 할 수 있습니다"?
"모든 것이 이미 당신보다 먼저 도난당했습니다"(c) )))
 
dzhini :

사실, 이것은 (단지 2개가 아닌) 다른 세트의 주문으로 작업하기 위해 미래를 위한 작동 시간을 만들려는 시도입니다.

주문 검토 주기가 실행 중일 때 어드바이저는 일반적으로 경고로 이동하지만 삭제 기능으로 올바르게 작동하는 것을 원하지 않습니다.

모든 것이 제자리에 있는 것 같습니다. 모르겠어.
 
Sergey_Rogozin :

작동 원리: ClosePendingOrder(OP_SELLLIMIT);} // (1) ?

그의 코드.

주문 삭제 기능 코드가 같은 메시지에 주어졌습니다... 질문을 이해하지 못했을 수도 있지만 이해한 방법을 바탕으로 설명하겠습니다.

for 루프는 사용 가능한 모든 미결 주문과 보류 중인 주문을 열거합니다. ClosePendingOrder(OP_SELLLIMIT) - 이 목록에서 통화 기호와 OP_SELLLIMIT 매개변수를 충족하는 항목을 선택합니다. 이러한 일치 항목을 찾는 즉시 이 연기를 제거합니다.

 
dzhini :

주문 삭제 기능에 대한 코드가 같은 메시지에 주어졌습니다... 질문을 이해하지 못했을 수도 있지만 이해한 방법을 바탕으로 설명하겠습니다.

for 루프는 사용 가능한 모든 미결 주문과 보류 중인 주문을 열거합니다. ClosePendingOrder(OP_SELLLIMIT) - 이 목록에서 통화 기호와 OP_SELLLIMIT 매개변수를 충족하는 항목을 선택합니다. 이러한 일치 항목을 찾는 즉시 이 연기를 제거합니다.

이미 이해가 .. 처음에는 그냥 무심코 바라보았다.

오류가 표시되지 않습니다.