핍당 가격 - 페이지 9

 
gordon :

내 정의는 문맥에서 인용될 때 원래의 의미를 잃습니다. 명확히 하자면, MODE_TICKSIZE에 대한 정의에서 '가격'이라는 단어는 실제 가능한 가격 견적을 나타내는 반면 Point에 대한 정의에서는 모든 가격을 나타냅니다.

- Gordon, 내 정의는 너무 뜨겁지 않고 ( Point = 최소 소수점 가격에 대한 곱셈 계수 ) 16 진수 유추는 너무 절름발이입니다 ... 하지만 여기에 승자가있을 수 있습니다 ...

논리 :
브로커는 MODE_LOTSIZE가 인용 통화의 100,000단위이고 MODE_TICKVALUE가 인용 통화의 10단위 되도록 쌍 간에 가격 관계를 설정해야 합니다. 이러한 평등한 상호 관계 조건에 의해서만 가격이 서로 견적될 수 있습니다. 이것이 외환 가격 형성의 기초라고 생각합니다.

포인트 = MODE_LOTSIZE / 견적 통화의 Tickvalue. 예:
GBPUSD 0.0001 = 100,000 / 10 USD
USDJPY 0.01 = 100,000 / 1,000 JPY <-- MathRound( MODE_TICKVALUE * 호가 통화의 최신 입찰가 )
CHFJPY .... 등 당신이나 누군가가 그것을 확인할 수 있다면 좋을 것입니다.

우리가 선물 계약에 대해 이야기하기 시작하면 모든 베팅이 중단됩니다. 예를 들어, FXPro는 "my"가 M0과 같은 표준 만료 코드인 일반 형식에 가까운 #AAmy 형식의 선물 계약을 보유하고 있습니다. EUR_JPY_fut는 이상한 합성 계약처럼 들립니다.

- Ok Jjc... 미래에도 Price & TICK_VALUE 건물이 다른 것으로 가정합니다. 따라서 이것은 모든 비 외환 상품을 확실히 배제합니다. 접두사 및 중간 수정은 가능성이 낮은 것으로 간주됩니다.

- CB 위의 계산에 대한 귀하의 의견을 듣고 싶습니다. 지금까지 의견 주셔서 감사합니다.

친애하는
카메오

 
cameofx :

- Gordon, 내 정의는 너무 뜨겁지 않고 ( Point = 최소 소수점 가격에 대한 곱셈 계수 ) 16 진수 유추는 너무 절름발이입니다 ... 하지만 여기에 승자가있을 수 있습니다 ...

논리 :
브로커는 MODE_LOTSIZE가 인용 통화의 100,000단위이고 MODE_TICKVALUE가 인용 통화의 10단위 되도록 쌍 간에 가격 관계를 설정해야 합니다. 이러한 평등한 상호 관계 조건에 의해서만 가격이 서로 견적될 수 있습니다. 이것이 외환 가격 형성의 기초라고 생각합니다.

포인트 = MODE_LOTSIZE / 견적 통화의 Tickvalue. 예:
GBPUSD 0.0001 = 100,000 / 10 USD
USDJPY 0.01 = 100,000 / 1,000 JPY <-- MathRound( MODE_TICKVALUE * 호가 통화의 최신 입찰가 )
CHFJPY .... 등 당신이나 누군가가 그것을 확인할 수 있다면 좋을 것입니다.

- Ok Jjc... 미래에도 Price & TICK_VALUE 건물이 다른 것으로 가정합니다. 따라서 이것은 모든 비 외환 상품을 확실히 배제합니다. 접두사 및 중간 수정은 가능성이 낮은 것으로 간주됩니다.

- CB 위의 계산에 대한 귀하의 의견을 듣고 싶습니다. 지금까지 의견 주셔서 감사합니다.

친애하는
카메오

Digits = 5 또는 Digits = 3이면 논리가 변경됩니까?
 

마지막으로 게시물에 연결...

Would the logic change if Digits = 5 or Digits = 3?

engcomp 없음, 논리는 변경되지 않습니다. 적어도 그것이 내가 알아 내려고 노력하는 것입니다.

나는 몇 가지의 바닥에 도달하려고 노력하고 있습니다. 캐스트는 지금까지입니다 : Point, MODE_TICKVALUE, MODE_TICKSIZE, Price. 나는 그것들을 새로운 시각으로만 제시하게 될 수도 있지만 거기에서 활용할 수 있다면 그만한 가치가 있을 것입니다.

IMO, 인용 통화로 변환된 MODE_TICKVALUE는 매우 중요 합니다. 그래서 토론을 위해 QUOTE_TICKVALUE라고 부르겠습니다. 그런데 이전 방정식은 역방향입니다.

Point가 실제로 QUOTE_TICKVALUE(견적 통화의 TickValue) / MODE_LOTSIZE인지 계산하려면 이것을 가지고 있습니다. (Calc_Point는 Point와 일치한다고 가정)

 string Sym = Symbol ();
double Calc_Point = QUOTE_TICKVALUE(Sym) / MarketInfo(Sym, MODE_LOTSIZE);
int QUOTE_TICKVALUE( string Sym)
{
   string quoted_currency_name = StringSubstr (Sym, 3 , 3 ); double TV, QTV = 0.0 ;
   if (MarketInfo( StringConcatenate ( "USD" , quoted_currency_name), MODE_LOTSIZE)) > 0 )
   {
     TV = MarketInfo(Sym, MODE_TICKVALUE);
     QTV = MathRound (TV * MarketInfo(Sym, MODE_BID));
     return (QTV);
   }
   else if ((MarketInfo( StringConcatenate (quoted_currency_name, "USD" ), MODE_LOTSIZE)) > 0 )
   {
     TV = MarketInfo(Sym, MODE_TICKVALUE);
     QTV = MathRound (TV * MarketInfo(Sym, MODE_BID));
     return (QTV);
   }
}
참고: USD 형식(예: EURGBP)의 기준으로 통화를 인용한 교차 쌍의 경우 위의 내용을 약간 수정해야 합니다.

따라서 주어진 시간 주어진 가격 :

USDJPY, GBPJPY, AUDJPY, XXXJPY............. QUOTE_TICKVALUE의 --> 1000 [JPY]
EURUSD, AUDUSD, GBPUSD, XXXUSD ..............의 QUOTE_TICKVALUE는 --> 10[USD]입니다.
EURCHF, USDCHF, XXXCHF....................... QUOTE_TICKVALUE의 --> MathPow(10, x) [CHF] 있음

부동 TICK_VALUE에서 QUOTE_TICKVALUE를 '추출'하고 있음을 강조해야 합니다. 따라서 이것이 의미하는 바는 QUOTE_TICKVALUE가 브로커에 의해 미리 결정된다는 것이며 더 중요한 것은 인용 통화로 사용되는 각 통화 간에 병렬로 일관성이 있다는 것입니다. 따라서 MODE_LOTSIZE = 100,000이고 USD의 QUOTE_TICKVALUE = 10인 한 견적 통화로 사용되는 다른 기호 구성 요소도 일관성이 있을 것입니다(즉, 다른 QUOTE_TICKVALUE-s를 10으로 나누지 않고는 10 USD를 1 USD로 변경할 수 없습니다. 이것은 우리가 내 Valid_Point를 전반적으로 결정할 수 있는 곳이라고 생각합니다. 나는 그것이 명확하기를 바랍니다 ...

요즘은 net과 MT4를 동시에(복잡하다..) 할 수 없다. 따라서 누군가가 도움을 주거나 확인할 수 있다면 좋을 것입니다.

카메오

 

필요한 것, Valid_Point 등을 찾았습니다. Point, TickValue, Ticksize, Symbol() 및 가격에 대한 전반적인 이해. LEHayes가 이 스레드를 시작한 이후로 통찰력과 의견을 공유해 주신 모든 분들께 감사드립니다.

친애하는
카메오

 

이봐, 내가 일으킨 모든 뇌폭풍을 봐. 도움이 되었기를 바랍니다. 스레드를 따라갈 시간이 없었지만 검토할 기회가 있기를 바랍니다.

이 모든 토론과 훌륭한 작업 후에 우리가 찾던 것을 생성하는 일종의 표준 함수 를 갖게 된 지점에 이르렀습니까? 이 질문은 우리를 요약하기 위한 것입니다.

 

금속 또는 교차 통화 이외의 다른 기호에 대한 위의 계산 팁을 경험한 사람이 있습니까?

심볼에서 1포인트 이동의 계정 통화의 가격 변동 계산에 관심이 있어서 이 주제를 찾았습니다.

나의 기본 이론은 이랬다.

핍당 가격 = 계약 크기 * 포인트

계정 통화의 핍당 가격 = 핍당 가격 * 계정 카운터 교차 요율,

어디

계약 크기 = MarketInfo(Symbol(), MODE_LOTSIZE)

포인트 = 포인트 = MarketInfo(Symbol(), MODE_POINT)

계정 카운터 교차 환율은 계정 통화로 표시된 기호의 상대 통화 가격입니다(AAA는 계정 통화이고 CCC는 기호의 상대 통화인 CCCAAA 입찰율).

계정 기록의 실제 1.0 로트 거래에 대해 다른 브로커의 데모 계정(icm, insta, fxopen, fxopen ecn)으로 위의 내용을 확인했습니다. 클라우드브레이커의 틱값 계산 방식도 확인했습니다.

다음을 찾았습니다.

- 심볼의 1포인트 이동의 가격은 다른 브로커와 금속의 경우 계산하기 쉽지 않음

- cloudbreaker의 tickvalue * point / ticksize 공식도 잘못된 결과를 초래할 수 있습니다(insta - silver, icm - eurusd, fxopen - silver 및 gold).

- icm - gold의 경우 Contract size라도 * Point가 좋지 않은 결과를 낳음 (실제 5.0이 아닌 0.5, 브로커 데이터 오류인가?)

자세한 결과는 여기에서 찾을 수 있습니다. 1핍당 가격 .

그래서 내 결론은 핍당 가격을 100% 확신할 수 있는 방법은 없다는 것입니다.

 
당신이 작성한 이 작은 프로그램을 공유해 주셔서 감사합니다. 이렇게 쉬웠다니 믿어지지가 않네요!! 당신은 저에게 많은 시간을 절약했습니다 :-)
engcomp :

귀하의 질문에 답할 수 있도록 제가 개발한 작은 스크립트가 첨부되어 있습니다.

스크립트에는 "extern" 매개변수가 없기 때문에 코드에서 매개변수를 변경하고 다시 컴파일해야 합니다.

전문가/스크립트 폴더에 로드하고 컴파일하고 차트에 첨부하기만 하면 됩니다.

어떻게 되는지 알려주세요, 헬무트

 
DE30에 대한 참고 사항
 double   PointValuePerLot( string pair= "" ){
     /* Value in account currency of a Point of Symbol.
     * In tester I had a sale: open=1.35883 close=1.35736 (0.0147)
     * gain$=97.32/6.62 lots/147 points=$0.10/point or $1.00/pip.
     * IBFX demo/mini       EURUSD TICKVALUE=0.1 MAXLOT=50 LOTSIZE=10,000
     * IBFX demo/standard   EURUSD TICKVALUE=1.0 MAXLOT=50 LOTSIZE=100,000
     *                                  $1.00/point or $10.0/pip.
     *
     * https://forum.mql4.com/33975 CB: MODE_TICKSIZE will usually return the
     * same value as MODE_POINT (or Point for the current symbol), however, an
     * example of where to use MODE_TICKSIZE would be as part of a ratio with
     * MODE_TICKVALUE when performing money management calculations which need
     * to take account of the pair and the account currency. The reason I use
     * this ratio is that although TV and TS may constantly be returned as
     * something like 7.00 and 0.0001 respectively, I've seen this
     * (intermittently) change to 14.00 and 0.0002 respectively (just example
     * tick values to illustrate).
     * https://forum.mql4.com/43064#515262 zzuegg reports for non-currency DE30:
     * MarketInfo(Symbol(),MODE_TICKSIZE) returns 0.5
     * MarketInfo(Symbol(),MODE_DIGITS) return 1
     * Point = 0.1
     * Prices to open must be a multiple of ticksize */
     if (pair == "" ) pair = Symbol ();
     return (   MarketInfo (pair, MODE_TICKVALUE)
           / MarketInfo (pair, MODE_TICKSIZE) ); // Not Point.
}
 
나는 non-forex 기호에 대한 위험 비율을 계산하려고 노력했지만 대부분의 non-forex 기호가 매우 다르게 작동하기 때문에 원격으로 신뢰할 수 있는 어떤 것도 생각해낼 수 없었습니다. 올바른 위험 비율을 계산하기 위해 비 외환 기호에서 올바른 pipvalue를 계산하는 방법에 대한 포인터가 있는 사람이 있습니까?
 
위의 방법이 올바르게 작동하지 않는 이유는 무엇입니까?