mode_tickvalue -- 嘘だ!!!!:) - ページ 3 1234567 新しいコメント Dmitry Fedoseev 2010.01.13 10:50 #21 SProgrammer писал(а)>> 私はちょっと頭がいいんですよ、ね)- テスターで動かしていました。そこに未確定なものはありえない。 そこで例を挙げたのですが、手で計算できるのでしょうか?また、Marketinfoからの回答もお伝えしました。 多くの証券会社のホームページにJavaScriptの計算機があるので、それをコピーして、正しい計算方法を確認することができます。 kombat 2010.01.13 10:52 #22 気配値通貨と入金通貨が同じ通貨ペアの場合 MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_TICKSIZE) 拡張版では、引用の通貨を分析する必要があります... kombat 2010.01.13 11:03 #23 USDを預け、USDJPYのチャートに コードを投げると、同じ数値が表示されます。MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_TICKSIZE) )/MarketInfo(Symbol(),MODE_BID) だから、ティックワームを信じていいんだ...。 削除済み 2010.01.13 11:15 #24 SProgrammer >>: Вы ручками считать проверяли? 自動でやる方法しか知らない。 #property show_inputs extern string BaseCurrency = "USD"; bool RealSymbol( string Str ) { return(MarketInfo( Str, MODE_BID) != 0); } double GetTickValue( string Symb, bool Average ) { string Str, ProfitCurrency, SymbolPrefix; double Res, PriceExchage; ProfitCurrency = StringSubstr( Symb, 3, 3); SymbolPrefix = StringSubstr( Symb, 6); if ( ProfitCurrency == BaseCurrency) Res = MarketInfo( Symb, MODE_LOTSIZE) * MarketInfo( Symb, MODE_TICKSIZE); else { Str = BaseCurrency + ProfitCurrency + SymbolPrefix; if ( RealSymbol( Str)) { if ( Average) PriceExchage = (MarketInfo( Str, MODE_BID) + MarketInfo( Str, MODE_ASK)) / 2; else // PriceExchage = MarketInfo(Str, MODE_BID); // Так считает MetaTrader4 - неправильно PriceExchage = MarketInfo( Str, MODE_ASK); // Правильный вариант Res = MarketInfo( Symb, MODE_LOTSIZE) * MarketInfo( Symb, MODE_TICKSIZE) / PriceExchage; } else { Str = ProfitCurrency + BaseCurrency + SymbolPrefix; if ( Average) PriceExchage = (MarketInfo( Str, MODE_BID) + MarketInfo( Str, MODE_ASK)) / 2; else PriceExchage = MarketInfo( Str, MODE_BID); Res = MarketInfo( Symb, MODE_LOTSIZE) * MarketInfo( Symb, MODE_TICKSIZE) * PriceExchage; } } return( Res); } void start() { double TickValue, TickValue1, TickValue2; TickValue = MarketInfo(Symbol(), MODE_TICKVALUE); TickValue1 = GetTickValue(Symbol(), TRUE); TickValue2 = GetTickValue(Symbol(), FALSE); Print("MT4 TickValue = " + DoubleToStr( TickValue, 5)); Print("Average TickValue = " + DoubleToStr( TickValue1, 5)); Print("Real TickValue = " + DoubleToStr( TickValue2, 5)); return; } MODE_TICKVALUEが 正しく カウントされない場合があるのはご指摘の通りです。ASK 価格でカウントされるべき場合でも、BID 価格でしかカウントされません。 kombat 2010.01.13 11:18 #25 getch >>: Умею только автоматом: Вы оказались правы, MODE_TICKVALUE считается в некоторых случаях некорректно: все считается только через BID-цену, даже когда надо считать через ASK-цену. どれくらいの誤差があるのでしょうか? 削除済み 2010.01.13 11:21 #26 kombat >>: А насколь % эта погрешность? 監査役に疑問を抱かせるには十分だ。 kombat 2010.01.13 11:23 #27 getch >>: Достаточная, чтобы у аудиторов возникли вопросы. オン・ザ・ティックのボリウム? 始値終値しか興味がないのでは...? John 2010.01.13 11:33 #28 kombat >>: Нуно не одна из, а та что валюта котировки, JPY в данном случае. ウォッチ 米ドル円 テスター 2008/10/01 -> 2009/01/01 2008/10/01にスキップする ==== 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_FREEZELEVEL=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINREQUIRED=1000.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINHEDGED=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINMAINTENANCE=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGININIT=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINCALCMODE=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_PROFITCALCMODE=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SWAPTYPE=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MAXLOT=1000.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_LOTSTEP=0.10000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MINLOT=0.10000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TRADEALLOWED=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_EXPIRATION=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_STARTING=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SWAPSHORT=-0.50000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SWAPLONG=-0.50000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TICKSIZE=0.00100000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TICKVALUE=1.09488252 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_LOTSIZE=100000.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_STOPLEVEL=20.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SPREAD=19.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_DIGITS=3.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_POINT=0.00100000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_ASK=111.70900000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_BID=111.69000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TIME=1199260860.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_HIGH=0.00000000 2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_LOW=0.00000000 ============= string s=Symbol(); int Code2[]={ MODE_LOW, MODE_HIGH, MODE_TIME, MODE_BID, MODE_ASK, MODE_POINT, MODE_DIGITS, MODE_SPREAD, MODE_STOPLEVEL, MODE_LOTSIZE, MODE_TICKVALUE, MODE_TICKSIZE, MODE_SWAPLONG, MODE_SWAPSHORT, MODE_STARTING, MODE_EXPIRATION, MODE_TRADEALLOWED, MODE_MINLOT, MODE_LOTSTEP, MODE_MAXLOT, MODE_SWAPTYPE, MODE_PROFITCALCMODE, MODE_MARGINCALCMODE, MODE_MARGININIT, MODE_MARGINMAINTENANCE, MODE_MARGINHEDGED, MODE_MARGINREQUIRED, MODE_FREEZELEVEL }; string CodeName2[]={"MODE_LOW", "MODE_HIGH", "MODE_TIME", "MODE_BID", "MODE_ASK", "MODE_POINT", "MODE_DIGITS", "MODE_SPREAD", "MODE_STOPLEVEL", "MODE_LOTSIZE", "MODE_TICKVALUE", "MODE_TICKSIZE", "MODE_SWAPLONG", "MODE_SWAPSHORT", "MODE_STARTING", "MODE_EXPIRATION", "MODE_TRADEALLOWED", "MODE_MINLOT", "MODE_LOTSTEP", "MODE_MAXLOT", "MODE_SWAPTYPE", "MODE_PROFITCALCMODE", "MODE_MARGINCALCMODE", "MODE_MARGININIT", "MODE_MARGINMAINTENANCE", "MODE_MARGINHEDGED", "MODE_MARGINREQUIRED", "MODE_FREEZELEVEL" }; for ( i=0; i< ArraySize( Code2); i++){ double mre = MarketInfo ( s, Code2[ i]); int err = GetLastError(); Print ( CodeName2[ i],"=", DoubleToStr( mre,9)); if ( ERR_NO_ERROR != err ) Print ( "error(", err,")", "--", ErrorDescription( err) ); MODE_TICKVALUE -- LIES!!!! :) Error #130? Symbol() --- 2010.01.13 11:36 #29 SProgrammer >>: MODE_TICKVALUE для EURUSD по маркетинфо = 1.0000000 :), а не 10. 1 - 5桁の場合 10 - 4人分 削除済み 2010.01.13 11:37 #30 kombat >>: По тик волуму??? Мне казалось что их интересует лишь цена окрытия цена закрытия... 開発者がどうやって利益を計算しているのかわからない。MODE_TICKVALUEで 行う場合、場合によっては利益が実際よりも多くカウントされることがあります。例えば、GBPJPYの 場合。 しかし、実際にはMetaTrader4は 利益を全く間違って計算しています - それは利益の通貨をすぐに口座の基本通貨に変換します。正しくは、バリュー時です。 インターバンクでは、口座通貨以外の利益通貨でポジションを建てたり閉じたりした場合(例えば、USD口座で USDJPYの 取引をした場合)、Equityは 常に変化しています。評価(この用語の使い方が間違っているかもしれません)の時点で初めてEquityが 確定します(例として、日本円での 利益は現在のUSDJPY 対USDの 為替レートで換算されます)。 一番気になるのは、例えばEUR 口座で AUDNZDの レートをブローカーから入手できない場合、利益がどのようにカウントされるかということです... 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はちょっと頭がいいんですよ、ね)- テスターで動かしていました。そこに未確定なものはありえない。
そこで例を挙げたのですが、手で計算できるのでしょうか?また、Marketinfoからの回答もお伝えしました。
多くの証券会社のホームページにJavaScriptの計算機があるので、それをコピーして、正しい計算方法を確認することができます。
気配値通貨と入金通貨が同じ通貨ペアの場合
拡張版では、引用の通貨を分析する必要があります...
USDを預け、USDJPYのチャートに コードを投げると、同じ数値が表示されます。
だから、ティックワームを信じていいんだ...。Вы ручками считать проверяли?
自動でやる方法しか知らない。
MODE_TICKVALUEが 正しく カウントされない場合があるのはご指摘の通りです。ASK 価格でカウントされるべき場合でも、BID 価格でしかカウントされません。
Умею только автоматом:
Вы оказались правы, MODE_TICKVALUE считается в некоторых случаях некорректно: все считается только через BID-цену, даже когда надо считать через ASK-цену.
どれくらいの誤差があるのでしょうか?
А насколь % эта погрешность?
監査役に疑問を抱かせるには十分だ。
Достаточная, чтобы у аудиторов возникли вопросы.
オン・ザ・ティックのボリウム?
始値終値しか興味がないのでは...?
Нуно не одна из, а та что валюта котировки, JPY в данном случае.
ウォッチ
米ドル円
テスター
2008/10/01 -> 2009/01/01
2008/10/01にスキップする
====
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_FREEZELEVEL=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINREQUIRED=1000.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINHEDGED=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINMAINTENANCE=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGININIT=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MARGINCALCMODE=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_PROFITCALCMODE=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SWAPTYPE=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MAXLOT=1000.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_LOTSTEP=0.10000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_MINLOT=0.10000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TRADEALLOWED=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_EXPIRATION=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_STARTING=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SWAPSHORT=-0.50000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SWAPLONG=-0.50000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TICKSIZE=0.00100000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TICKVALUE=1.09488252
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_LOTSIZE=100000.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_STOPLEVEL=20.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_SPREAD=19.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_DIGITS=3.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_POINT=0.00100000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_ASK=111.70900000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_BID=111.69000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_TIME=1199260860.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_HIGH=0.00000000
2010.01.13 12:14:42 2008.01.02 08:01 OTestExpert3 USDJPY,M1: MODE_LOW=0.00000000
=============
MODE_TICKVALUE для EURUSD по маркетинфо = 1.0000000 :), а не 10.
1 - 5桁の場合
10 - 4人分
По тик волуму???
Мне казалось что их интересует лишь цена окрытия цена закрытия...
開発者がどうやって利益を計算しているのかわからない。MODE_TICKVALUEで 行う場合、場合によっては利益が実際よりも多くカウントされることがあります。例えば、GBPJPYの 場合。
しかし、実際にはMetaTrader4は 利益を全く間違って計算しています - それは利益の通貨をすぐに口座の基本通貨に変換します。正しくは、バリュー時です。
インターバンクでは、口座通貨以外の利益通貨でポジションを建てたり閉じたりした場合(例えば、USD口座で USDJPYの 取引をした場合)、Equityは 常に変化しています。評価(この用語の使い方が間違っているかもしれません)の時点で初めてEquityが 確定します(例として、日本円での 利益は現在のUSDJPY 対USDの 為替レートで換算されます)。
一番気になるのは、例えばEUR 口座で AUDNZDの レートをブローカーから入手できない場合、利益がどのようにカウントされるかということです...