초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1141

 
Vladimir Karputov :

네. 이제 그래프 상단에서 시작하여 십자선을 아래로 드래그하십시오...

(1250.761-1193.590)/1250.761*100 = 4.570897237762


 
Igor Zakharov :

(1250.761-1193.590)/1250.761*100 = 4.570897237762

이제 뉘앙스가 있습니다. 더 높이 끌어 올리기 시작하고 더 낮게 끝나기 때문에 차트의 백분율은 "-"기호로 표시됩니다. 저 같은 경우 정보 내용을 추가했습니다.

 
Vladimir Karputov :

글쎄, 나는 당신이 계산기가 있다는 것을 잊지 않았다고 생각합니까? 아마도 당신은 뭔가를 생각할 수 있습니까?


추가됨: 계산기가 매우 무거우면 다시 인용할 수 있습니다.

터미널: 이제 "Crosshair" 도구는 핍뿐만 아니라 백분율로가격 수준 간의 거리를 표시합니다.

계산기에는 문제가 없으며 한 번도 없었습니다.

그러나 "백분율"은 사전 정의된 전체 값 = 100%와 관련하여 어떤 것의 일부입니다.

따라서 가격 수준 간의 거리 무엇 의 백분율 로?

https://ru.wikipedia.org/wiki/백분율

 
Anzhela Sityaeva :

따라서 가격 수준 간의 거리 무엇 의 백분율 로?

초기 가격에 상대적입니다(십자선을 드래그하는 위치에서). 동의했습니다. 위 참조.

 
Igor Zakharov :

초기 가격(십자선을 드래그한 위치)에 상대적입니다. 동의했습니다. 위 참조.

드래그할 위치가 100%이고 멈춘 위치가 0%이면 결과 = 100%
 
Anzhela Sityaeva :
드래그할 위치가 100%이고 멈춘 위치가 0%이면 결과 = 100%

고객이 이 글을 읽지 않기를 바랍니다...

0%(0은 절대값)
 
Igor Zakharov :

고객이 이 글을 읽지 않기를 바랍니다...

0%(0은 절대값)

네... 금요일, 혼자가 아니라서 좋습니다. 가격가치는 100%라고 하는게 더 쉬우나, 측정이 시작되는 곳에서요.

 

도와주세요. MT5))))에서 고문을 픽업하십시오.

고정 로트 및 위험 로트 선택 추가... 테스터에서는 모든 것이 잘 작동하지만 터미널에서는 위험 로트를 선택할 때 차트에서 EA를 완전히 던집니다...

   double dfg, ifg;
   dfg = AccountInfoDouble ( ACCOUNT_MARGIN_FREE );
   ifg = InpVolumeLotOrRisk;
   switch (IntLotOrRisk)
     {
       case MY_FIXLOT:
         InpLots= InpLotsfix;
         break ;

       case MY_RISKLOT:
         InpLots= dfg*ifg/ 25000 ;     // FreeMargin * %риска) / 100 * 250(средняя цена лота)
         break ;

     }

이 코드 조각에 어떤 문제가 있습니까?

추신: 여러 페이지에 대한 위험 공식을 비판하기 시작하지 마십시오 - 이 옵션에 매우 만족합니다) 중요한 것은 로트 자체가 잔액 이후에 상승한다는 것입니다)

 
Vlad Svetlov :

도와주세요. MT5))))에서 고문을 픽업하십시오.

고정 로트 및 위험 로트 선택 추가... 테스터에서는 모든 것이 잘 작동하지만 터미널에서는 위험 로트를 선택할 때 차트에서 EA를 완전히 던집니다...

이 코드 조각에 어떤 문제가 있습니까?

추신: 여러 페이지에 대한 위험 공식을 비판하기 시작하지 마십시오 - 이 옵션에 매우 만족합니다) 중요한 것은 로트 자체가 잔액 이후에 상승한다는 것입니다)

수학 계산 의 결과로 받은 로트는 확인해야 하며 필요한 경우 반올림해야 합니다.

나는 기능을 사용하고 있습니다 :

 //+------------------------------------------------------------------+
//| Lot Check                                                        |
//+------------------------------------------------------------------+
double LotCheck( double lots,CSymbolInfo &symbol)
  {
//--- calculate maximum volume
   double volume= NormalizeDouble (lots, 2 );
   double stepvol=symbol.LotsStep();
   if (stepvol> 0.0 )
      volume=stepvol* MathFloor (volume/stepvol);
//---
   double minvol=symbol.LotsMin();
   if (volume<minvol)
      volume= 0.0 ;
//---
   double maxvol=symbol.LotsMax();
   if (volume>maxvol)
      volume=maxvol;
   return (volume);
  }

호출 후 반환된 값을 확인해야 합니다. "0.0"이면 계산된 로트가 매우 작습니다.

 

모두에게 경의를 표합니다.

예제 폴더에서 표준 지그재그로 그릴 때 이러한 이상 현상을 발견했습니다.

유일한 차이점은 테스트 시작 날짜입니다. 아마도 누군가가 그러한 왜곡의 원인과 해결 방법을 알고 있습니까?

사유: