예, 하지만 이전 start() 가 아직 완료되지 않았기 때문에 일부 틱이 누락될 수 있습니다(start() 함수가 호출되지 않음).
신규 견적이 들어오면 첨부된 전문가 및 커스텀 인디케이터의 start() 함수가 실행됩니다. 이전 견적에서 시작된 start() 함수가 새 견적이 왔을 때 실행 중이었다면 전문가는 새 견적을 건너뜁니다 . 프로그램이 실행되는 동안 모든 새 견적 수입은 start() 함수의 현재 실행이 완료될 때까지 프로그램에서 건너뜁니다. 그 후 start() 함수는 새로운 견적이 연속적으로 들어올 때만 실행됩니다. 사용자 지정 표시기의 경우 현재 차트 기호 또는 기간이 들어오는 새 시세에 따라 독립적으로 변경된 후 재계산을 위해 start() 함수가 시작됩니다. 전문가 속성 창이 열려 있으면 start() 함수가 실행되지 않습니다. 후자는 전문가 실행 중에 열 수 없습니다.
MarketInfo () 호출은 딜러로 가지 않고 딜러로부터 이미 받은 가장 최근 값을 읽습니다.
대리점에 대한 호출은 완료하는 데 각각 약 100-300밀리초가 소요됩니다.
// script
int start(){
int startTime = GetTickCount();
for(int i = 0; i < 10000; i++){
int spread = MarketInfo(Symbol(), MODE_SPREAD);
}
int endTime = GetTickCount();
Print("Time to collect 10000 instances of data = " + (endTime -startTime) + " milliseconds");
startTime = GetTickCount();
OrderSend(Symbol(), OP_BUY, 1, Ask, 0, 0, 0 , "", 0, 0, CLR_NONE);
endTime = GetTickCount();
Print("Time to send one order to Server = " + (endTime -startTime) + " milliseconds");
return(0);
}
2008.10.27 16:32:37 Test GBPJPY,M15: Time to send one order to Server = 531 milliseconds
2008.10.27 16:32:37 Test GBPJPY,M15: open #8556064 buy 1.00 GBPJPY at 144.77 ok
2008.10.27 16:32:37 Test GBPJPY,M15: Time to collect 10000 instances of data = 438 milliseconds
MB Trading Futures , Inc .
MBTrading - Demo Server
MB Trading Futures , Inc .
MBT MetaTrader 4
D : \Program Files ( x86 ) \MetaTrader\MBT MetaTrader 4/ reports / MarketInfo_MB Trading Futures , Inc . _ . txt
2009.07.1516:47:49
Report for EURUSD
1.39775MODE_LOWLow day price .1.41344MODE_HIGHHigh day price .2009.07.1516:47:48MODE_TIME The last incoming tick time ( last known server time ).1.41044MODE_BID Last incoming bid price . For the current symbol , it is stored in the predefined variable Bid1.41054MODE_ASK Last incoming ask price . For the current symbol , it is stored in the predefined variable Ask0.00001MODE_POINTPoint size in the quote currency . For the current symbol , it is stored in the predefined variable Point5MODE_DIGITS Count of digits after decimal point in the symbol prices . For the current symbol , it is stored in the predefined variable Digits10MODE_SPREAD Spread value in points .0MODE_STOPLEVEL Stop level in points .10000MODE_LOTSIZE Lot size in the base currency .0.1MODE_TICKVALUE Tick value in the deposit currency .0.00001MODE_TICKSIZE Tick size in the quote currency .-0.6MODE_SWAPLONG Swap of the long position .-2.4MODE_SWAPSHORT Swap of the short position .0MODE_STARTING Market starting date ( usually used for futures ).0MODE_EXPIRATION Market expiration date ( usually used for futures ).1MODE_TRADEALLOWED Trade is allowed for the symbol .0.1MODE_MINLOT Minimum permitted amount of a lot .0.1MODE_LOTSTEP Step for changing lots .10000MODE_MAXLOT Maximum permitted amount of a lot .2MODE_SWAPTYPE Swap calculation method .0- in points ;1- in the symbol base currency ;2- by interest ;3- in the margin currency .0MODE_PROFITCALCMODE Profit calculation mode .0- Forex ;1- CFD ;2- Futures .0MODE_MARGINCALCMODE Margin calculation mode .0- Forex ;1- CFD ;2- Futures ;3- CFD for indices .0MODE_MARGININIT Initial margin requirements for1 lot .0MODE_MARGINMAINTENANCE Margin to maintain open positions calculated for1 lot .0MODE_MARGINHEDGED Hedged margin calculated for1 lot .141.05MODE_MARGINREQUIRED Free margin required to open 1 lot for buying .0MODE_FREEZELEVEL Order freeze level in points . If the execution price lies within the range defined by the freeze level , the order cannot be modified , cancelled or closed .
Report for GBPAUD
2.04 MODE_LOW Low day price.
2.06095 MODE_HIGH High day price.
2009.07.15 16:47:42 MODE_TIME The last incoming tick time (last known server time).
2.04538 MODE_BID Last incoming bid price. For the current symbol, it is stored in the predefined variable Bid
2.04588 MODE_ASK Last incoming ask price. For the current symbol, it is stored in the predefined variable Ask
0.00001 MODE_POINT Point size in the quote currency. For the current symbol, it is stored in the predefined variable Point
5 MODE_DIGITS Count of digits after decimal point in the symbol prices. For the current symbol, it is stored in the predefined variable Digits
50 MODE_SPREAD Spread value in points.
0 MODE_STOPLEVEL Stop level in points.
10000 MODE_LOTSIZE Lot size in the base currency.
0.080262 MODE_TICKVALUE Tick value in the deposit currency.
0.00001 MODE_TICKSIZE Tick size in the quote currency.
-1.47 MODE_SWAPLONG Swap of the long position.
-3.65 MODE_SWAPSHORT Swap of the short position.
0 MODE_STARTING Market starting date (usually used for futures).
0 MODE_EXPIRATION Market expiration date (usually used for futures).
1 MODE_TRADEALLOWED Trade is allowed for the symbol.
0.1 MODE_MINLOT Minimum permitted amount of a lot.
0.1 MODE_LOTSTEP Step for changing lots.
10000 MODE_MAXLOT Maximum permitted amount of a lot.
2 MODE_SWAPTYPE Swap calculation method. 0 - in points; 1 - in the symbol base currency; 2 - by interest; 3 - in the margin currency.
0 MODE_PROFITCALCMODE Profit calculation mode. 0 - Forex; 1 - CFD; 2 - Futures.
0 MODE_MARGINCALCMODE Margin calculation mode. 0 - Forex; 1 - CFD; 2 - Futures; 3 - CFD for indices.
0 MODE_MARGININIT Initial margin requirements for 1 lot.
0 MODE_MARGINMAINTENANCE Margin to maintain open positions calculated for 1 lot.
0 MODE_MARGINHEDGED Hedged margin calculated for 1 lot.
164.21 MODE_MARGINREQUIRED Free margin required to open 1 lot for buying.
0 MODE_FREEZELEVEL Order freeze level in points. If the execution price lies within the range defined by the freeze level, the order cannot be modified, cancelled or closed.
좋아, 좋은 주제 !!!!
볼륨이란 무엇입니까? 틱 변경 횟수 또는 거래 횟수 또는 기간의 거래 자금 금액 ?
다시 말하려면:
내 기본 발견은 쌍에 대한 MarketInfo ()에 변경 사항이 있는 경우 "틱"이 수신된다는 것입니다.
.
"변경 사항을 찾을 수 없음"과 같은 예외가 있을 수 있지만 틱이 수신되었지만 매우 드뭅니다.
가격 변경 없이 수신된 틱은 드물지 않으며 해당 쌍에 대한 MarketInfo의 다른 변경 사항을 나타냅니다.
.
볼륨은 수신된 틱 수와 같습니다. 즉, start() 함수가 호출된 횟수이며, 구체적으로 거래 또는 Bid/Ask 변경이 아닙니다. MarketInfo()의 변경은 틱을 트리거하고 틱 수 = 볼륨입니다.
.
Volume은 수신된 틱 수, 즉 start() 함수가 호출된 횟수와 같습니다.
예, 하지만 이전 start() 가 아직 완료되지 않았기 때문에 일부 틱이 누락될 수 있습니다(start() 함수가 호출되지 않음).
신규 견적이 들어오면 첨부된 전문가 및 커스텀 인디케이터의 start() 함수가 실행됩니다. 이전 견적에서 시작된 start() 함수가 새 견적이 왔을 때 실행 중이었다면 전문가는 새 견적을 건너뜁니다 . 프로그램이 실행되는 동안 모든 새 견적 수입은 start() 함수의 현재 실행이 완료될 때까지 프로그램에서 건너뜁니다. 그 후 start() 함수는 새로운 견적이 연속적으로 들어올 때만 실행됩니다. 사용자 지정 표시기의 경우 현재 차트 기호 또는 기간이 들어오는 새 시세에 따라 독립적으로 변경된 후 재계산을 위해 start() 함수가 시작됩니다. 전문가 속성 창이 열려 있으면 start() 함수가 실행되지 않습니다. 후자는 전문가 실행 중에 열 수 없습니다.
Start() 함수를 사용하여 트리거하는 것이 아니라 무한 루프가 있는 스크립트를 사용하여 MarketInfo ()를 검사하고 있습니다.
실험이 예상치 못한 방향으로 흘러갔기 때문에 스크립트를 다시 작성하겠습니다.
.
가격 변경 또는 가격 변경 없이 수신된 틱, 틱 수 = 볼륨.
그러나 클라이언트 MT는 일시적으로 몇 초 동안 net break와 같은 몇 가지 이유로 모든 Tick을 받지 못할 수 있습니다.
그런 다음 틱 수 = 볼륨은 서버의 횟수 또는 변경 시간입니다. 또는 브로커가 정의한 기간 동안 가격을 몇 번이나 변경하려고 합니다.
그렇습니까?
브로커가 시장에 참여하여 고객의 티드 포지션을 헤지하기 위해 거래량은 또한 브로커가 일정 기간 동안 가격을 변경하고자 하는 것으로 정의됩니다.
맙소사!
볼륨 데이터를 사용하는 방법?
Marketinfo()에 대한 질문입니다.
무한 루프에서 과도한 Marketinfo() 호출이 브로커에 의해 스팸 으로 간주됩니까?
스팸 으로 간주되지 않는 것은 무엇입니까?
얼마나 자주 Marketinfo()를 실행하고 브로커를 화나게 하지 않을 수 있습니까?
Marketinfo() 명령이 Brokers 캐시에서 가져오나요, 아니면 실제 requote인가요 ?
감사해요
MarketInfo () 호출은 딜러로 가지 않고 딜러로부터 이미 받은 가장 최근 값을 읽습니다.
대리점에 대한 호출은 완료하는 데 각각 약 100-300밀리초가 소요됩니다.
// script int start(){ int startTime = GetTickCount(); for(int i = 0; i < 10000; i++){ int spread = MarketInfo(Symbol(), MODE_SPREAD); } int endTime = GetTickCount(); Print("Time to collect 10000 instances of data = " + (endTime -startTime) + " milliseconds"); startTime = GetTickCount(); OrderSend(Symbol(), OP_BUY, 1, Ask, 0, 0, 0 , "", 0, 0, CLR_NONE); endTime = GetTickCount(); Print("Time to send one order to Server = " + (endTime -startTime) + " milliseconds"); return(0); }
Phy - 이 주제를 다시 열어서 죄송합니다 :-)
나는 당신이 진드기의 본질에 대해 믿는 것과 이익/위험 등을 계산하는 방법 사이에 불일치가 있다고 생각합니다(일부 이전 게시물을 읽은 결과).
즉, 예금 통화로 표시되는 쌍의 핍 값을 결정하기 위해 자체적으로 MarketInfo (Symbol(),MODE_TICKVALUE)를 사용합니다.
그러나 MT4의 틱에 대해 믿는 것이 정확하다면 틱 값은 틱 사이의 핍 수에 따라 변경될 수 있습니다.
다시 말해서, 가격이 갑자기 몇 핍 상승하면 MarketInfo에 대한 이전 호출을 통해 TICKSIZE와 TICKVALUE가 각각 0.0001과 7.16임을 알 수 있습니다. 그런 다음 다음 호출은 0.0002 및 14.32를 반환할 수 있습니다.
이 경우 항상 MarketInfo(Symbol(),MODE_TICKSIZE) 및 MarketInfo(Symbol(),MODE_TICKVALUE)를 모두 수익/위험 공식에 포함하고 MarketInfo(Symbol(),MODE_TICKVALUE) 자체를 고려하지 않습니다.
정확합니까?
CB
.
MBtrading에서 유로의 경우:
10000 MODE_LOTSIZE 기본 통화의 로트 크기.
0.1 MODE_TICKVALUE 예금 통화의 틱 값.
0.00001 MODE_TICKSIZE 견적 통화의 눈금 크기.
.
원하는 경우 위의 "틱"이라는 단어를 "핍"으로 바꾸세요.
.
이 브로커는 미니 로트를 표준 크기로 사용합니다 -- MODE_LOTSIZE
가격은 3/5자리 숫자를 사용합니다. -- MODE_TICKSIZE
해당 "틱" 중 하나의 값은 $0.10 -- MODE_TICKVALUE입니다.
.
GBPAUD의 경우:
.
10000 MODE_LOTSIZE 기본 통화의 로트 크기.
0.080262 MODE_TICKVALUE 예금 통화의 틱 값입니다.
0.00001 MODE_TICKSIZE 견적 통화의 눈금 크기.
.
한 로트에서 GBPAUD 단일 핍 이동은 $0.080262를 지불합니다.
.
주문의 가격 변동을 순간적으로 계산하는 아이디어는...
PositionValueChange = PriceChangeInPips * MarketInfo ( OrderSymbol(), MODE_TICKVALUE) * OrderLots();
.