orderopenprice가 열린 후 가장 높은 값을 얻으려면 어떻게 해야 합니까? - 페이지 2

 
코딩 학습을 시작하고 스레드 충돌을 중지하십시오.
 

나는 약간의 도움이 필요합니다. 그러면 모든 것이 괜찮을 것입니다.

많은 감사드립니다.

 int LastOpenTicketForBuy(){
     datetime lastTime  = 0 ;
     int       lastTicket = - 1 ; // None open.
     int magi.number= 0 ;
    //for(int pos=0; pos<OrdersTotal(); i++) {
      OrderSelect(pos, SELECT_BY_POS);
     for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if (
         OrderSelect (pos, SELECT_BY_POS)                 // Only my orders w/
    &&   OrderMagicNumber ()  == magic.number             // my magic number
    &&   OrderSymbol ()       == Symbol ()                 // and my pair.
    &&   OrderOpenTime ()     >  lastTime
    && OrderType ()==OP_BUY
    ){
      lastTime   = OrderOpenTime ();
      lastTicket = OrderTicket ();
    }
     return (lastTicket);
}

int LastOpenTicketForSell(){
     datetime lastTime  = 0 ;
     int       lastTicket = - 1 ; // None open.
     int magi.number= 0 ;
     for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if (
         OrderSelect (pos, SELECT_BY_POS)                 // Only my orders w/
    &&   OrderMagicNumber ()  == magic.number             // my magic number
    &&   OrderSymbol ()       == Symbol ()                 // and my pair.
    &&   OrderOpenTime ()     >  lastTime
    && OrderType ()==OP_SELL
    ){
      lastTime   = OrderOpenTime ();
      lastTicket = OrderTicket ();
    }
     return (lastTicket);
}

int previousorderforbuy(){
     datetime lastTime  = 0 ;
     int       lastTicket = - 1 ; // None open.
     int magi.number= 0 ;
     for ( int pos--; pos >= 0 ; pos--) if (
         OrderSelect (pos, SELECT_BY_POS)                 // Only my orders w/
    &&   OrderMagicNumber ()  == magic.number             // my magic number
    &&   OrderSymbol ()       == Symbol ()                 // and my pair.
    &&   OrderOpenTime ()     >  lastTime
    && OrderType ()==OP_BUY
    ){
      lastTime   = OrderOpenTime ();
      lastTicket = OrderTicket ();
    }
     return (lastTicket);
}

int previousorderforsell(){
     datetime lastTime  = 0 ;
     int       lastTicket = - 1 ; // None open.
     int magi.number= 0 ;
     for ( int pos--; pos >= 0 ; pos--) if (
         OrderSelect (pos, SELECT_BY_POS)                 // Only my orders w/
    &&   OrderMagicNumber ()  == magic.number             // my magic number
    &&   OrderSymbol ()       == Symbol ()                 // and my pair.
    &&   OrderOpenTime ()     >  lastTime
    && OrderType ()==OP_SELL
    ){
      lastTime   = OrderOpenTime ();
      lastTicket = OrderTicket ();
    }
     return (lastTicket);
}
 

얘들아,

보고 무엇이 잘못되었는지 말해 주시겠습니까?


다음을 위한 몇 가지 기능을 만들어야 합니다.
1- 구매에 대한 마지막 주문 시가 를 가져오고 유지하는 기능 .
2- 판매를 위한 마지막 주문 공개 가격을 가져오고 유지하는 기능 .
3- 구매 또는 판매에 관계없이 마지막 마감 주문 을 가져오고 유지하는 기능

 int LastOpenTicketForBuy(){ datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. 
int magi.number= 0 ;
for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/
&& OrderMagicNumber () == magic.number // my magic number
&& OrderSymbol () == Symbol () // and my pair.
&& OrderType ()==OP_BUY )
{ lastTime = OrderOpenTime ();
lastTicket = OrderTicket (); }
return (lastTicket);}

int LastOpenTicketForSell()
{ datetime lastTime = 0 ; int lastTicket = - 1 ; // None open.

int magi.number= 0 ;
for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/
&& OrderMagicNumber () == magic.number // my magic number
&& OrderSymbol () == Symbol () // and my pair.
&& OrderType ()==OP_SELL )
{ lastTime = OrderOpenTime (); 

lastTicket = OrderTicket (); }
return (lastTicket);}

int lastcloseorder()
{ datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. 
int magi.number= 0 ; 
for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/ 
&& OrderMagicNumber () == magic.number // my magic number
&& OrderSymbol () == Symbol () // and my pair.
&& OrderCloseTime () > lastTime
&& OrderType ()==OP_BUY||OP_SELL )
{ lastTime = OrderCloseTime (); lastTicket = OrderTicket (); }
return (lastTicket);}




그런 다음 ((LastOpenTicketForBuy()+LastOpenTicketForSell())/2)<MarketInfo("EURUSD",MODE_BID)포지션 닫기

 
당신의 의견으로는. . 무엇을 반환 합니까 (lastTicket); 하다 ?
 

내가 해야 한다는 말인가요?

1- int 대신 두 배의 LastOpenForBuy()를 넣습니다.

2-put double orderforbuy 다음 return( orderforbuy )

이런 식으로 나는 마지막 주문을 구매 전용으로 열 수 있습니다.

 double LastOpenForBuy(){ datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. 
int magi.number= 0 ; double orderforbuy;
for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/
&& OrderMagicNumber () == magic.number // my magic number
&& OrderSymbol () == Symbol () // and my pair.
&& OrderType ()==OP_BUY )
{ orderforbuy = OrderOpenprice ();
lastTicket = OrderTicket (); }
return (orderforbuy);}

 
Hand :

내가 해야 한다는 말인가요?

질문입니다. . . 나는 다른 것을 의미하지 않습니다. . . 당신의 대답은 무엇인가 ?

제가 도움이 되었으면 제 질문에 답해야 합니다. . . 그리고 "모른다"는 대답은 받아들일 수 없다. 조금 생각해보세요.

 

당신의 의견으로는. . return(lastTicket) 은 무엇을 합니까? 하다 ?

현재 선택한 주문 에 대한 티켓 번호를 반환합니다.

 
Hand :

WHRoeder님, 감사합니다.

당신의 진정한 도움을 위해. 구매에 대한 마지막 주문과 판매에 대한 마지막 주문을 가져와야 하는 경우 다음을 수행하여 비교합니다.

if ( 마지막 주문openforbuy == OOTlastest )

{ 뭔가 해 }

또 다른

{ } ....... 아래 코드가 작동합니다.

이게 정말 효과가 있나요???

첫 번째 루프

 for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if (

두 번째로 간다

 for (pos--; pos >= 0 ; pos--) if (

pos 0까지 감소합니다. 두 번째 루프가 종료됩니다 --> 첫 번째 루프로 다시 점프하고 첫 번째 루프는 마지막 시간 이후 pos가 어디에 남아 있는지 알지 못합니다. 가능성은 pos = 0입니다.

 

이 코드는 아마도 작동할 수 있습니다... 한 가지만 변경하면 됩니다.

두 번째 for 문

 for (pos--; pos >= 0 ; pos--) if (

다음과 같은 다른 반복자에게

 for ( int a=pos--; a>= 0 ; a--) if ( // abort the use of pos again and introduce a new iterator, a

마찬가지로 모든 두 번째 루프 논리에서만 pos를 새 반복자(이 경우 a)로 바꿉니다.

 
Hand :

당신의 의견으로는. . return(lastTicket) 은 무엇을 합니까? 하다 ?

현재 선택한 주문에 대한 티켓 번호를 반환합니다.

당신은 말했다. . .

"다음에 대한 몇 가지 기능을 만들어야 합니다.
1- 구매에 대한 마지막 주문 시가 를 가져오고 유지하는 기능 .
2- 판매를 위한 마지막 주문 공개 가격을 가져오고 유지하는 기능 .

3- 매수 또는 매도에 관계없이 마지막 마감 주문 을 가져오고 유지하는 기능 "

왜 티켓 번호를 반환합니까? 복사하여 붙여넣는 코드를 읽고 이해하고 배우십시오. . .