핍당 가격 - 페이지 6

 
jjc :
Gordon의 "거의 항상"에 대한 설명을 추가하면 이것이 사실이 아닌 외환 상품을 즉시 생각할 수 없지만 중개인이 금속, 지수 등을 제공할 때 거의 사실이 아닙니다. 예를 들어 Alpari의 금 계약에서 TICKSIZE는 0.05입니다. (그리고 포인트는 0.01입니다). 내가 아는 한 MarketInfo(Symbol(),MODE_POINT) = MathPow(10, -MarketInfo(Symbol(), MODE_DIGITS))

jjc, 답변 감사합니다.

우리가 숫자를 계산하고 인식할 때 수학적 규칙으로 십진법을 사용하기 때문이라고 생각합니다. 예를 들어 16진수를 대신 사용하면 편리한 Point가 하나로 끝나지 않습니다. 예를 들어 몇 미터가 5cm인지 변환하는 경우 변환 계수를 100분의 1로 곱하면 됩니다. ( 5 cm * 0.01 --> 0.05 m ) -- 10[cm 단위]의 전체 수를 횡단 -- 10번. 그러나 우리가 16진수를 사용한다면. 우리는 4의 계수로 6 - 16번의 전체 카운트를 횡단해야 할 것입니다.

따라서 Point는 십진 변환 계수입니다. 시장 관습이 예를 들어 GBPUSD 의 현재 가격 비율이 1.3535라고 제안하는 경우 이는 우리/그들이 1 GBP를 1.3535 USD로 구매하는 소수점 이하 다섯 번째 변환 값이 무역 경제에 중요하지 않다고 간주했기 때문입니다. 그러나 거래가 더 크고(야드 값으로) 빈번해야 합니다. 그런 다음 우리/그들은 가격 비율이 되어야 하는 가장 중요한 페니까지 그것을 쫓을 것입니다. 예를 들어 1.3535665와 같습니다.

그래서 나는 Point가 항상 = MathPow(10, -MarketInfo(Symbol(), MODE_DIGITS))가 될 것이라는 데 동의합니다.

편집: 죄송합니다. 첫 번째 초안이 통과되었습니다. 게시하기에는 아직 너무 추가되었습니다. 이게 더 낫길 바라며...

 
1005phillip :

첨부된 rar 파일에 포함되어 있습니다. 나는 당신이 사용 질문이있을 것이라고 확신합니다.

필립, 나는 충분히 감사할 수 없습니다! 이것은 너무 굉장하다! 나는 이것을 알아낼 시간이 필요합니다. 하지만 언뜻 보면 주석이 모두 명확하고 Excel 파일을 이해하는 데 문제가 없습니다. 이것은 내 무기고에 귀중한 추가입니다. 이 작업을 커뮤니티 Phillip에 공유하는 것은 매우 관대합니다. 다시 한번 감사합니다!

맞아요. 그러나 백분율 오류는 단순히 포인트의 스프레드를 호가로 나눈 것입니다(통화 쌍에 따라 ~0.02%-0.05%)... 모든 마지막 페니를 설명하려는 경우에만 중요합니다.

아주 흥미롭네요!

귀하의 질문이 현재 작성되어 있으므로 쉬운 대답은 예입니다. USD가 없는 모든 십자가는 귀하의 기준을 충족합니다. 하지만 다른 질문을 하려는 것 같습니다. 즉, 교차 통화 쌍을 제공하는 동시에 교차 쌍의 상대 통화와 계정의 통화를 포함하는 필수 통화 쌍을 제공하지 않는 브로커를 만난 적이 있습니다. 명칭?

그 질문에 대한 대답은 아니오이며 브로커가 단순히 할 수 없기 때문에 정당한 이유가 있습니다. 브로커가 그렇게 할 수 없는 이유는 여기에 자세히 설명된 방정식의 동일한 기본 가격 연결에 묶여 있기 때문입니다... 즉, 교차 통화 위치를 계산하고 보고하기 위해 동일한 가격 정보에 액세스해야 합니다. 평가.

예를 들어 유로 표시 계정이 있고 GBPUSD 1랏을 구매한다고 가정해 보겠습니다. GBPUSD의 카운터 통화는 USD입니다. 따라서 귀하의 GBPUSD 포지션에 대한 손익을 계산하려면 귀하의 브로커(및 귀하)도 EURUSD의 가격을 알아야 합니다. (EUR은 귀하의 계정 통화이고 USD는 귀하가 포지션을 개설한 교차 쌍의 카운터 통화입니다)

중개인이 EURUSD를 제안 쌍으로 가지고 있지 않은 경우 MT4 터미널은 틱 단위로 포지션의 유동 이익/손실을 계산할 수 없습니다. 따라서 귀하는 귀하의 계정 통화가 포함된 기본 통화 쌍을 제공하지 않고 교차 쌍(귀하의 계정 액면가와 관련하여)을 거래할 수 있는 기능을 제공하는 중개인을 절대 찾지 못할 것입니다.

네, 제 질문에 대한 귀하의 후자의 해석은 올바른 것입니다. 내 입장에서 나쁜 말. 이것은 통화 쌍 의 특성에 약간의 깨달음을 더할 것입니다. 고맙습니다...

카메오

 
gordon :
"'포인트'(MODE_POINT)는 가능한 가장 작은 가격 변동입니다." 따라서 분명히 1로 끝나야 합니다.

네, 좀 엉뚱한 설명입니다. 그러나 나는 TICK_SIZE가 항상 1로 끝나지 않기 때문에 Point가 TICK_SIZE와 특징적으로 다를 것이라는 점을 강조하려고만 노력했습니다. 브로커는 변동/경제적 가치에 맞는 값으로 크기를 조정할 것입니다.

"이전에 말했듯이 문서에는 " Tick size in points "라고 명시되어 있지만 이것은 분명히 정확하지 않습니다. 가격 측면에서도 마찬가지 입니다."

굵은 Gordon의 부분을 이해하지 못합니다... 설명을 하자면...

"MODE_TICKVALUE: 기본 비율로 변환된 상대 통화의 현재 가치입니다."

이 정의는 불분명합니다...(영어가 모국어가 아닐 수도 있습니다.).

네, 제 2외국어입니다. 그 문제에 대해 과거 또는 미래에 무의미한 옹알이를 생성하는 데 방해가 되지는 않았지만 :))))

다음 포스팅에서 설명해 보도록 하겠습니다. 시간이 부족해서 죄송합니다. 항상 Gordon에 감사드립니다!
 
cameofx :
"이전에 말했듯이 문서에는 " Tick size in points "라고 명시되어 있지만 이것은 분명히 정확하지 않습니다. 가격 측면에서도 마찬가지 입니다."

굵은 Gordon의 부분을 이해하지 못합니다... 설명을 하자면...

포인트 = 0.00001이라고 합시다. MODE_TICKSIZE가 포인트 단위인 경우 예를 들어 MarketInfo(Symbol(),MODE_TICKSIZE)가 1을 반환하도록 하고 1*Point=1*0.00001=0.00001로 해석됩니다. 그러나 그것은 MarketInfo(Symbol(),MODE_TICKSIZE)가 반환하는 것이 아니라 0.00001을 반환하므로 Points가 아닌 가격을 나타내는 값을 반환합니다. 문서는 " Tick size in points "라고 주장하는데 이것은 분명히 정확하지 않습니다(아마도 러시아어 번역의 실수일 것입니다).
 
SDC :

모순적인 정보로 가득 차 있기 전에 그 스레드를 읽었습니다.

BarrowBoy - 입찰 및/또는 요청 변경

Rosh - "새로운 가격" 이벤트

kminler - 각 틱은 닫힌 거래를 나타냅니다.

펀처 - 진드기는 핍입니다

틱에 대한 다른 스레드와 토론을 읽은 후 틱에 포함된 모든 것이 새로운 입찰가와 새로운 요청뿐이므로 틱에는 특정 가치가 없다는 결론에 이르렀습니다. 핍 차이가 있으므로 틱 자체에는 가격 차이가 없고 새 가격만 있습니다.

그러나 지금 나는 핍의 가치를 계산하는 방법을 조사하고 있습니다. MarketInfo MODE_TICKVALUE는 정적 설정 값으로 보입니다. 이것은 그 자체로 대부분의 사람들이 틱에 대해 말하는 것처럼 보이는 것과 모순되며, 단순히 가격의 변화를 전달한다는 것입니다. , 특정 금액이 없으므로 어떻게 MODE_TICKVALUE와 같은 것이 있을 수 있습니까? 대부분의 사람들이 잘못되고 1틱이 실제로 1핍과 같은 특정 값을 갖지 않는 한 의미가 없습니다. 제 문제는 적절한 문서가 부족하다는 것입니다. 무엇이 옳고 그른지 알아내야 하는 포럼 스레드에는 일부 정보가 포함되어 있습니다. 대부분의 경우 사실이 아니라 의견이나 가정에 기반한 정보입니다. 대부분의 경우 중요하지 않지만 그러한 대략적인 내용을 기반으로 프로그램을 작성하려고 할 때 삶을 매우 어렵게 만드는 모순된 정보


네, 이것도 제 고민입니다.

내 연구에 대한 후속 조치를 위해 여기로 돌아와서 내일 다시 읽어야 할 것입니다. 잠을 너무 적게 자고 컴퓨터를 보는 시간이 너무 많아 이미 독서에 어려움을 겪고 있습니다.

 

와우, 나는 여기에서 모든 독서를 따라 잡았습니다. 나는 정말로 지쳤고 여전히 문제를 해결하는 방법을 확신하지 못합니다.

그래서, 이제 우리가 내 우려를 이해하는 것 같으면서도 가장 작은 값 중 하나에서 다음 값(일명 x.0001 x.0002까지) EA가 어떤 기호에 있는지에 따라 관련된 레버리지도 계산해야 합니다. (즉, 계약이 100,000이고 레버리지가 400:1인 경우 EURUSD의 비용은 10 또는 얼마인지 예상할 수 있습니다.


그 대가로 2개의 수동 거래 전문가 자금 관리 공식이 있습니다. 귀하의 기능 을 사용하여 적용하여 핍 가치를 얻고 2세트의 자금 관리 기능을 생성할 수 있습니다. 다른 방법도 연구하고 있습니다. 내가 염두에 두고 있는 아이디어는 다양한 전문가를 기반으로 한 선택 사항이 포함된 머니 매니저 패키지를 만들고 사용자가 자신에게 맞는 것을 선택할 수 있다는 것입니다.

그래서 누군가가 나에게 pip 값을 얻을 수 있는 기능을 생각해낼 수 있다면 정말 감사할 것입니다. 솔직히 MT4에서 이미 표준 기능이 아니라는 점에 놀랐습니다.

point가 1.1234 - 1.1233의 값이고 그 결과의 금전적 가치를 생각해낼 수 있다면 이것이 제가 찾고 있는 것입니다. 나에게 여기서 point라는 용어는 pip라는 용어만큼 좋습니다.

레버리지 값을 변경할 수 있으므로 이것이 매개변수여야 합니다.

자, 이제 깨어난지 53시간 정도 되었으니 좀 쉬어야겠습니다. 우리는 우리의 새로운 릴리스를 위해 망치질하느라 바빴고 나는 완전히 씻겨졌습니다.

 
LEHayes :

그래서, 이제 우리가 내 우려를 이해하는 것 같으면서도 가장 작은 값 중 하나에서 다음 값(일명 x.0001 x.0002까지) EA가 켜져 있을 수 있는 기호에 따라

글쎄, 6 페이지에 걸쳐 말한 내용을 부분적으로 요약하면 MODE_TICKSIZE로 가능한 가장 작은 가격 변동이 주어지고 전체 로트당 현금 가치는 MODE_TICKVALUE로 주어집니다. 세 가지 주의 사항:

  • MODE_TICKSIZE 및 MODE_TICKVALUE는 사용되는 소수점 이하 자릿수에 따라 브로커마다 다를 수 있습니다. 예를 들어 Alpari(5DP)는 EURUSD에서 TS를 0.00001로, TV를 1.00으로 보고합니다. FXDD는 TS를 0.0001로 보고하고 TV는 이에 따라 10.00으로 보고합니다. 브로커 전체에서 MODE_TICKSIZE를 표준화하려는 시도는 별도의 문제입니다(예: https://www.mql5.com/en/forum/124692 ).
  • MODE_TICKVALUE는 기호의 견적 통화가 예금 통화와 다른 경우 시간이 지남에 따라 달라집니다(예: USD 계정에서 EURUSD에는 고정 TICKVALUE가 있지만 USDJPY는 유동적임).
  • Cloudbreaker는 다양한 TICKSIZE 인스턴스를 기록했습니다(예: TICKSIZE는 연속 호출에서 0.0002 및 0.0001로 보고되고 TICKVALUE의 해당 변동 포함). 저는 15개의 다른 브로커에서 이것을 개인적으로 본 적이 없습니다.
 
gordon :
포인트 = 0.00001이라고 합시다. MODE_TICKSIZE가 포인트 단위인 경우 예를 들어 MarketInfo(Symbol(),MODE_TICKSIZE)가 1을 반환 하도록 할 수 있으며, 이는 1*Point=1*0.00001=0.00001로 해석됩니다. 그러나 그것은 MarketInfo(Symbol(),MODE_TICKSIZE)가 반환하는 것이 아니며 (예를 들어) 0.00001을 반환하므로 Points가 아닌 가격을 나타내는 값을 반환합니다. 이것은 분명히 문서의 실수입니다(아마도 러시아어 번역의 실수일 것입니다).
나는 Gordon을 다르게 하기를 간청합니다. MODE_TICKSIZE 포인트 단위입니다. 정확히는 포인트입니다. MODE_TICKSIZE는 항상 Point의 X 배수입니다. 1, 2, 5, 35 등이 될 수 있습니다. Point IMHO는 가격 비율의 마지막 유효 소수점 자리로 안내하는 유형 이중 변환 요소입니다. 브로커가 고객에게 제안할 거래로 소수점 이하 6자리를 제안하는 것이 적절하다고 판단하면 포인트를 0.000001로, 숫자를 6으로 만듭니다.
이 문제의 숫자는 정수로 Point를 나타냅니다.
 
LEHayes :

그래서, 이제 우리가 내 우려를 이해하는 것 같으면서도 가장 작은 값 중 하나에서 다음 값(일명 x.0001 x.0002까지) EA가 어떤 기호에 있는지에 따라 관련된 레버리지도 계산해야 합니다. (즉, 계약이 100,000이고 레버리지가 400:1인 경우 EURUSD의 비용은 10 또는 얼마인지 예상할 수 있습니다.

5페이지에 첨부된 rar 파일에 포함된 포함 파일을 확인하십시오... 귀하의 질문을 오해하지 않는 한 이 두 가지를 모두 수행합니다.

편집: 특히 다음 코드가 잘립니다.

"Analyze Currency Symbol 2010.06.07.mqh"라는 제목의 포함 파일을 사용하는 tickvalue 의 경우:

1. int SymbolType() 함수 를 호출합니다.

 int CalculatedSymbolType=SymbolType();

2. CounterPairForCross() 함수 호출

 string CalculatedCounterPairForCross=CounterPairForCross();


3. 그런 다음 기호에 대한 현재 시장 가격에서 틱 값을 계산합니다.

   switch (CalculatedSymbolType) // Determine the tickvalue for the financial instrument based on the instrument's SymbolType (major, cross, etc)
      {
       case 1    :   Print ( "Calculated TICKVALUE = " ,DoubleToStr(MarketInfo( Symbol (),MODE_POINT)*MarketInfo( Symbol (),MODE_LOTSIZE)/MarketInfo( Symbol (),MODE_BID), 6 ), " (Tick value in the deposit currency - base)" ); break ;
       case 2    :   Print ( "Calculated TICKVALUE = " ,DoubleToStr(MarketInfo( Symbol (),MODE_POINT)*MarketInfo( Symbol (),MODE_LOTSIZE), 6 ), " (Tick value in the deposit currency - counter)" ); break ;
       case 3    :   Print ( "Calculated TICKVALUE = " ,DoubleToStr(MarketInfo( Symbol (),MODE_POINT)*MarketInfo( Symbol (),MODE_LOTSIZE)/MarketInfo(CalculatedCounterPairForCross,MODE_BID), 6 ), " (Tick value in the deposit currency - " ,AccountCurrency(), " is Base to Counter)" ); break ;
       case 4    :   Print ( "Calculated TICKVALUE = " ,DoubleToStr(MarketInfo( Symbol (),MODE_POINT)*MarketInfo( Symbol (),MODE_LOTSIZE)/MarketInfo(CalculatedCounterPairForCross,MODE_BID), 6 ), " (Tick value in the deposit currency - " ,AccountCurrency(), " is Base to Counter)" ); break ;
       case 5    :   Print ( "Calculated TICKVALUE = " ,DoubleToStr(MarketInfo(CalculatedCounterPairForCross,MODE_BID)*MarketInfo( Symbol (),MODE_POINT)*MarketInfo( Symbol (),MODE_LOTSIZE), 6 ), " (Tick value in the deposit currency - " ,AccountCurrency(), " is Counter to Counter)" ); break ;
       default   :   Print ( "Error encountered in the SWITCH routine for calculating tickvalue of financial instrument " , Symbol ()); // The expression did not generate a case value
      }


"Analyze Currency Symbol 2010.06.07.mqh"라는 제목의 포함 파일을 사용하여 활용 하려면 다음을 수행합니다.

1. int SymbolType() 함수를 호출합니다.
 int CalculatedSymbolType=SymbolType();

2. BasePairForCross() 함수 호출

 string CalculatedBasePairForCross=BasePairForCross();


3. 그런 다음 SymbolLeverage()를 호출하여 해당 기호의 현재 시장 가격에서 기호별 레버리지를 계산합니다.

 int    CalculatedLeverage=SymbolLeverage();   // Leverage for USDJPY is set to 100:1
Print ( "Leverage for " , Symbol (), " is set at " ,CalculatedLeverage, ":1" );
 
cameofx :
나는 Gordon을 다르게 하기를 간청합니다. MODE_TICKSIZE 포인트 단위입니다. 정확히는 포인트입니다. MODE_TICKSIZE는 항상 Point의 X 배수입니다. 1, 2, 5, 35 등 [...]
이것은 의미론의 문제인 것 같습니다... 일반적인 규칙에 따르면 '값은 x에 있습니다'라고 할 때 x는 사용된 '단위'라는 의미입니다. 이 경우 Point는 사용된 단위가 아니므 로 MODE_TICKSIZE는 Points가 아닙니다 . 나는 그것이 Point의 배수라는 것에 동의하지만, 그것이 Point가 가능한 가장 작은 가격 변동 이기 때문에 정의에 따라 Point의 배수여야 합니다.