초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 88

 
Gregory Kovalenko :

안녕하세요. 현재 미결 주문에 대한 현재 손익 을 얻는 방법은 무엇입니까?

나는 시도

- 양수, 이익만 반환, 현재 위치가 빨간색인 경우 손실이 표시되지 않습니다.

추신: 주문 내역에서 OrderProfit ()도 마이너스를 표시합니다.

어떻게 이익을 얻으려고 합니까? 전체 코드를 보여주세요.
 

주문에 대한 현재 이익에 관하여 (게시물의 개시자를 찾지 못함)

 double profit= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
 
Renat Akhtyamov :

주문에 대한 현재 이익에 관하여 (게시물의 개시자를 찾지 못함)


덕분에 코드 로직에 오류가 있어서
 double profit= OrderProfit ()+ OrderSwap ()+ OrderCommission ();

작동하지 않았다.

이제 흥미로운 질문이 생겼습니다.

역사상 마지막 주문을 보니 손실이 보입니다. tp를 줄이고 로트를 늘리고 싶습니다. ㅜ-

 MarketInfo ( Symbol (), MODE_STOPLEVEL )

열릴 현재 가격 과 새 tp를 알고 필요한 로트를 계산하는 방법은 무엇입니까? 손실을 닫으려면?

 
Gregory Kovalenko :

덕분에 코드 로직에 오류가 있어서

작동하지 않았다.

이제 흥미로운 질문이 생겼습니다.

역사상 마지막 주문을 보니 손실이 보입니다. tp를 줄이고 로트를 늘리고 싶습니다. ㅜ-

열릴 현재 가격 과 새 tp를 알고 필요한 로트를 계산하는 방법은 무엇입니까? 손실을 닫으려면?

질문은 확실히 흥미롭지만 전략의 개발과 관련이 있습니다. 개인적으로 저는 합격입니다.
 
Gregory Kovalenko : 현재 가격 과 새로운 tp를 알고 손실을 마감하는 데 필요한 로트를 계산하는 방법은 무엇입니까?

OrderLots()와 같은 로트를 가진 주문에 의해 손실의 어느 부분이 마감될 것인지 계산하십시오. OrderLots()를 받은 값으로 나눈 값과 동일한 로트를 사용하여 주문을 엽니다.

즉, OrderLots()가 0.5 손실을 마감하면 로트가 있는 주문을 엽니다. OrderLots()/0.5 = OrderLots()*2입니다.

OrderLots()가 손실을 두 번 닫으면 OrderLots() / 2를 사용합니다.

 
LRA :

귀하는 OrderLots()와 동일한 로트를 가진 주문으로 손실의 어느 부분을 마감할지 계산합니다. OrderLots()를 받은 값으로 나눈 값과 동일한 로트를 사용하여 주문을 엽니다.

손실의 어느 부분이 로트 = 1인 주문으로 마감될 것인지 계산하는 것이 더 쉽습니다. 로트 = 1을 받은 값으로 나눈 주문을 엽니다.
 

4개 묻습니다

모든 사람이 3000핍 의 차트 설정에 제한이 있습니까? 아니면 수직 크기 조정이 아무에게나 작동합니까?

여기 스크린샷이 있습니다 sjfhakslljas


 

"루프 프로그램"의 적용

장점과 단점을 설명해주세요. 이것이 start()에서 새로운 틱을 기다리는 것보다 낫습니까? 이러한 처리로 인해 새로운 틱에 대한 응답률이 증가합니까?

start()
   {
   while(!IsStopped())
      {
      RefreshRates();
      //...
      Sleep(5);
      }
   return;
   }

 
smart_man :

"루프 프로그램"의 적용

장점과 단점을 설명해주세요. 이것이 start()에서 새로운 틱을 기다리는 것보다 낫습니까? 이러한 처리로 인해 새로운 틱에 대한 응답률이 증가합니까?

start()
   {
   while(!IsStopped())
      {
      RefreshRates();
      //...
      Sleep(5);
      }
   return;
   }

그렇게 해서는 안 됩니다. 리소스 오버런이 클 것입니다. 그리고 순환하지 않고 반응의 속도에 적합하지 않은 것은 무엇입니까?
 
smart_man : 장단점을 설명합니다. 이것이 start()에서 새로운 틱을 기다리는 것보다 낫습니까? 이러한 처리로 인해 새로운 틱에 대한 응답률이 증가합니까?

   while(!IsStopped())
      {
      RefreshRates();
      //...
      Sleep(5);
      }

틱은 서버에서 새 데이터가 도착하는 것입니다. 그리고 도착 후 즉시 처리되어야 합니다. 5ms의 지연이 있는 루프에서 이 작업을 수행하면 대부분의 틱이 이 지연을 실행하는 동안 정확히 올 것입니다. 따라서 처리가 0 ... 5ms 지연됩니다.