마감된 주문 "HELP"에 대한 이익 계산 - 페이지 9

 
Natashe4ka :

나 역시 모든 것이 옳다고 느꼈다.
이 정보를 코드에 넣을 필요가 없었고 살기가 더 쉬웠을 것입니다))

그리고 이제 휴식을주지 않습니다.이 시간 동안 기능이 올바르게 작동하지 않았습니다 !!

나는 이익 = 양수에 대한 수표를 제거해야한다는 것을 깨달았습니다. 그 때문에 계정이 나중에 중지되고 계정의 이전 손실을 고려해야했습니다.

double lastloss()
{
double lastlos= 0.0 ,lastlot= 0.0 ,op= 0.0 ;
int cnt= 0 ;
datetime time= 0 ;
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--)
{
       if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ))
      {
         if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==Magic && OrderType ()< 2 )
         {
             if (cnt== 0 && OrderCloseTime ()!= 0 ) time= OrderCloseTime ();
             if ( OrderCloseTime ()+ PeriodSeconds ()<time /* && op>0.0*/ ) break ;
            op= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
            lastlos+=op;
            cnt++;
         }
      }
}
return (lastlos);
}
 
Natashe4ka :

나 역시 모든 것이 맞다고 느꼈다.
이 정보를 코드에 넣을 필요가 없었고 살기가 더 쉬웠을 것입니다))

그리고 지금은 휴식을 취하지 않습니다. 이 모든 시간 동안 기능이 올바르게 작동하지 않았습니다 !!

입문서의 첫 페이지에서 닫는 기능이 있습니다. 테스터에서는 거의 정상적으로 닫히지만 실제 거래에서는 이러한 클로저가 있는 봇이 특히 작은 이익을 취하는 경우 종종 빨간색으로 닫힙니다.

실제 시장에서 한 번 이상 거래를 시도한 적이 있습니까, 아니면 테스터에서만 시도합니까?

일련의 직책이 어떻게 마감되는지 그런 것을 본 적이 있습니까? 시그널 수신부터 청산, 마지막 포지션 청산까지의 포인트 차이에 주의

스팸을 방지하기 위해 3개의 스크린샷만 첨부하겠습니다. 하지만 실제로는 100개가 넘는 재고가 있습니다.


모든 기능은 모든 사람에게 올바르게 작동하지만 사용자에게만 올바르게 작동하는 것은 아닙니다. 왜 그런지 궁금하지 않으세요?

그리고 마지막으로 스스로에게 묻는 질문에 답은 필요하지 않습니다. 터미널을 다시 시작하시겠습니까, 아니면 주말 동안 닫으실 건가요...? 그렇다면, 마지막으로 시리즈를 닫을 때 있었던 Expert Advisor의 작업을 계속하기 위해 터미널을 다음번에 출시 할 때 수익을 어디에서나 저장하고 싶지 않다면 어떻게 받을 수 있습니까?

 

뿐만 아니라:

청산 포지션 간 오더 삭제가 뭐냐고 물어봤는데 답이 없네요


그리고 이제 상황: 고문은 이익에 도달했을 때 포지션을 닫기 시작합니다. 그러면 그에게 주문이 전달된 이유가 명확하지 않습니다. 이 주문은 이익도 손실도 전혀 가져오지 않습니다. 삭제되는 동안 주문 삭제를 실행하면 가격이 떠나고 어드바이저는 계속해서 추가 마감됩니다. 결과는 다음과 같습니다. 그들은 이익을 닫기 시작했지만 모든 것이 잘못 마감되었으므로 결과적으로 시리즈를 손실로 마감했습니다. 이건 괜찮아? 테스터만을 위한 코드를 작성하지 말고 최소한 데모 계정에서 작동하도록 코드를 작성하십시오.

 
Vitalie Postolache :

나는 이익 = 양수에 대한 수표를 제거해야한다는 것을 깨달았습니다. 그 때문에 계정이 나중에 중지되고 계정의 이전 손실을 고려해야했습니다.

double lastloss()
{
double lastlos= 0.0 ,lastlot= 0.0 ,op= 0.0 ;
int cnt= 0 ;
datetime time= 0 ;
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--)
{
       if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ))
      {
         if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==Magic && OrderType ()< 2 )
         {
             if (cnt== 0 && OrderCloseTime ()!= 0 ) time= OrderCloseTime ();
             if ( OrderCloseTime ()+ PeriodSeconds ()<time /* && op>0.0*/ ) break ;
            op= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
            lastlos+=op;
            cnt++;
         }
      }
}
return (lastlos);
}

제대로 작동하고 독창적이고 세련됩니다!!!
고마워 고마워 고마워!!!!!!!!!!!!!!!!))))))))))))))

수고하셨습니다))

 
Vitaly Muzichenko :

뿐만 아니라:

청산 포지션 간 오더 삭제가 뭐냐고 물어봤는데 답이 없네요


그리고 이제 상황: 고문은 이익에 도달했을 때 포지션을 닫기 시작합니다. 그러면 그에게 주문이 전달된 이유가 명확하지 않습니다. 이 주문은 이익도 손실도 전혀 가져오지 않습니다. 삭제되는 동안 주문 삭제를 실행하면 가격이 떠나고 어드바이저는 계속해서 추가 마감됩니다. 결과는 다음과 같습니다. 그들은 이익을 닫기 시작했지만 모든 것이 잘못 마감되었으므로 결과적으로 시리즈를 손실로 마감했습니다. 이건 괜찮아? 테스터만을 위한 코드를 작성하지 말고 최소한 데모 계정에서 작동하도록 코드를 작성하십시오.

예, 거기에서 순서가 맞지 않게 닫힙니다. 이는 닫는 주기가 처음부터 시작되는 경우에 발생합니다.
 
Vitalie Postolache :
예, 거기에서 순서가 맞지 않게 닫힙니다. 이는 닫는 주기가 처음부터 시작되는 경우에 발생합니다.

어떤 0에서?

글쎄, 왜 그리드를 닫는 순간에 주문을 삭제하는 데 시간을 낭비합니까? 주문을 삭제하는 데 시간이 걸리고 왜 낭비하는지, DC가 빠르지 않으면 모든 것이 엉망이라는 것을 스스로 알고 있습니다. 한 번은 1분 34초 동안 15개의 포지션이 마감된 화면을 펼쳤는데, 이 시간 동안 가격이 십여점 이상을 넘을 수 있다는 것을 이해해야 하며, 그 다음에는 우리 방향으로 가면 운이 좋을 것입니다. 그리고 우리를 반대하지 않습니다.

 
Vitaly Muzichenko :

어떤 0에서?

글쎄, 왜 그리드를 닫는 순간에 주문을 삭제하는 데 시간을 낭비합니까? 주문을 삭제하는 데 시간이 걸리고 왜 낭비하는지, DC가 빠르지 않으면 모든 것이 엉망이라는 것을 스스로 알고 있습니다. 한 번은 1분 34초 동안 15개의 포지션이 마감된 화면을 펼쳤는데, 이 시간 동안 가격이 십여점 이상을 넘을 수 있다는 것을 이해해야 하며, 그 다음에는 우리 방향으로 가면 운이 좋을 것입니다. 그리고 우리를 반대하지 않습니다.

이 0 에서 for(int i=0;i<OrdersHistoryTotal();i++) - 따라서 1 이후의 주문은 선택 항목이 일련 번호인 경우 기껏해야 마감됩니다.

네, 미결 주문 삭제는 시리즈 마감 과정에서 정리할 필요가 없는 것으로 알고 있으며, 순차적으로 마감하는 것이 좋으며, 뭐 이것도 경험이 있는 것 같습니다.