호가 속도에 따른 스캘핑 시스템! 숨겨진 함정! 핑과 데이터 센터.

기성 전문가와 프로그래밍/프리랜서의 장점.
Push.Mail. 메타트레이더에서 이메일 및 알림 작업하기
기성 전문가와 프로그래밍/프리랜서의 장점.
Push.Mail. 메타트레이더에서 이메일 및 알림 작업하기

호가 속도 기반 스캘핑 시스템 - 숨겨진 함정, 핑 및 데이터 센터 | 비디오 썸네일

설명

    스캘핑은 돈을 버는 가장 도전적이고 위험하며 동시에 빠른 방법 중 하나입니다. 그러나 거래를 한 후에 수익을 받을 수 있다는 보장은 없습니다.

틱 데이터 속도를 기반으로 한 전략은 아마도 가장 많이 논의된 수익성 있는 시스템 중 하나일 것입니다. 그러나 고려해야 할 몇 가지 뉘앙스가 있습니다.

    터미널로 들어오는 호가에는 다양한 양의 데이터가 포함되어 있습니다.

동일한 회사의 두 개의 동일한 터미널을 설치하고 동시에 실행하더라도 (이는 비현실적입니다), 100% 정확한 결과를 얻을 수 없습니다.

또한, 스캘퍼를 동시에 시작해도 완벽하게 동기화된 결과를 얻을 수 없습니다.

터미널에서의 거래는 다를 수 있습니다.

이러한 변화는 전적으로 데이터 전송 흐름이 서버에서 터미널로 전달되는 방식에만 의존합니다.

내 시스템인 TickSniper for MT4TickSniper for MT5에 대한 논의는 다른 포럼에서 한 가지 질문과 함께 이루어집니다: MT4와 MT5에서 열린 포지션과 수익이 다른 이유는 무엇입니까?

답은 간단합니다: 호가의 차이입니다. MT4 터미널은 호가 흐름이 느리며, 이는 트래픽 혼잡 때문일 가능성이 높습니다.

MetaTrader 5 터미널에서는 호가 스트림이 10배 빠르기 때문에 열린 거래 간에 상당한 차이가 발생합니다.

이 기사에서는 두 개의 Expert Advisor가 특별히 개발되었습니다: TEST TICK for MT5TEST TICK for MT4. 이들은 코드가 완전히 동일하지만 (물론 프로그래밍 언어가 다르므로 함수 이름은 다릅니다).

MT4용 코드:

#property copyright "Copyright 2024, expforex"

#property link ""

int timestart = 0;
int ticknumber = 0; // Tick number
double PriceBID = 0; // BID tick price
double PriceASK = 0; // ASK tick price
int TimemsTick = 0; // Tick time in ms

int init()
{
    timestart = Time[0]; // Start counting from a new bar so that all EAs on all terminals start the same way.
    return(0);
}

// The advisor starts with each tick
int start()
{
    if(timestart != Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = GetTickCount();
        ticknumber++;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Tick Number = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Tick Number = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return(0);
}

MT5용 코드:

#property copyright "Copyright 2024, expforex."

#property link ""
#property version "1.00"

int timestart = 0;
int ticknumber = 0; // Tick number
double PriceBID = 0; // BID tick price
double PriceASK = 0; // ASK tick price
int TimemsTick = 0; // Tick time in ms

int OnInit()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    timestart = (int)Time[0]; // Start counting from a new bar so that all EAs on all terminals start the same way.
    return(INIT_SUCCEEDED);
}

// The advisor starts with each tick
void OnTick()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    if(timestart != (int)Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = (int)GetTickCount();
        ticknumber++;
        MqlTick last_tick;
        SymbolInfoTick(_Symbol, last_tick);
        double Bid = last_tick.bid;
        
        SymbolInfoTick(_Symbol, last_tick);
        double Ask = last_tick.ask;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Tick Number = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Tick Number = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return;
}

이 전문가들은 다음을 수행합니다:

초기화 시, 어드바이저는 시작한 바를 기록하여 모든 네 개의 터미널에서 모든 전문가들이 다음 바 (우리의 경우, M30)에서 동시에 시작되도록 보장합니다.

그 후, 각 틱마다 어드바이저는 화면과 로그에 데이터를 기록합니다: 틱 번호, BID/ASK 가격, 그리고 계산 시작 이후의 틱 시간 (밀리초 단위).

테스트를 더 신뢰할 수 있게 하기 위해 같은 브로커에서 두 개의 MT4 터미널과 두 개의 MT5 터미널을 다운로드했습니다.

MetaTrader 다운로드

MetaTrader 터미널에서의 스캘핑 Expert Advisors

터미널을 실행하고, EURUSD M30 차트를 네 개의 터미널 모두에 적용한 후, 한 개의 Expert Advisor를 사용하여 우리의 관찰을 검증했습니다.

MetaTrader 터미널에서의 EURUSD M30 차트

로그의 초기 항목들은 우리가 동시에 시작했다는 것을 나타냅니다:

mt4_1:

18:29:58 TEST TICK EURUSD, M30: Tick number = 1 PriceBID = 1.32281000 PriceASK = 1.32289000 TimeTickinms = 0

mt4_2:

18:29:58 TEST TICK EURUSD, M30: Tick number = 1 PriceBID = 1.32281000 PriceASK = 1.32289000 TimeTickinms = 0

mt5_1:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Tick number = 1 PriceBID = 1.32336000 PriceASK = 1.32344000 TimeTickinms = 1065503

mt5_2:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Tick number = 1 PriceBID = 1.32335000 PriceASK = 1.32345000 TimeTickinms = 1065674

다음 스크린샷에서 볼 수 있듯이, 호가는 동일하게 시작되었지만, 우리는 1-2 틱의 불일치를 관찰했습니다. 이는 명확하게 다음을 나타냅니다:

스캘퍼는 두 개의 다른 MT4 플랫폼과 MT5에서 100% 동일한 결과를 얻을 수 없습니다.

또한, 동일한 MT4/MT5 플랫폼의 두 터미널에서 동시에 거래를 열 수 없습니다.

이는 비현실적이며 브로커의 잘못이 아닙니다.

전송 프로토콜이 서버에서 컴퓨터로 네트워크를 통과하면서 패킷 손실이 발생하는데, 이는 정상적인 현상입니다.

계산 및 분석의 차이

다음 스크린샷들은 불일치를 설명합니다:

틱 데이터 계산의 불일치 - 스크린샷 1
틱 데이터 계산의 불일치 - 스크린샷 2
틱 데이터 계산의 불일치 - 스크린샷 3
틱 데이터 계산의 불일치 - 스크린샷 4
틱 데이터 계산의 불일치 - 스크린샷 5

이는 어드바이저가 시작된 지 단 3분 후입니다.

틱 번호 1433에 대한 로그를 참조합시다:

18:47:44 TEST TICK EURUSD, M30: Tick number = 1433 PriceBID = 1.32336000 PriceASK = 1.32344000 TimeTickinms = 1065503
18:47:44 TEST TICK EURUSD, M30: Tick number = 1433 PriceBID = 1.32335000 PriceASK = 1.32345000 TimeTickinms = 1065674

우리는 동일한 서버 시간을 가지고 있지만, ms 단위 시간과 호가도 다릅니다.

틱 번호 1684

18:52:05 TEST TICK EURUSD, M30: Tick number = 1684 PriceBID = 1.32377000 PriceASK = 1.32385000 TimeTickinms = 1326586
18:52:03 TEST TICK EURUSD, M30: Tick number = 1684 PriceBID = 1.32374000 PriceASK = 1.32382000 TimeTickinms = 1324496

시간뿐만 아니라 BID/ASK 가격도 다릅니다.

이제 MT5 터미널에서 동일한 것을 비교해 보겠습니다:

ES 0 18:48:42 TEST TICK (EURUSD, M30) Tick number = 4316 PriceBID = 1.3231 PriceASK = 1.32318 TimeTickinms = 1124050
DS 0 18:48:43 TEST TICK (EURUSD, M30) Tick number = 4316 PriceBID = 1.32311 PriceASK = 1.3232 TimeTickinms = 1124502

같은 틱 번호지만, 왜 가격이 다릅니까?

또 다른 예를 들어보겠습니다:

RJ 0 18:52:21 TEST TICK (EURUSD, M30) Tick number = 4984 PriceBID = 1.32363 PriceASK = 1.32371 TimeTickinms = 1342701
H 0 18:52:22 TEST TICK (EURUSD, M30) Tick number = 4984 PriceBID = 1.32364 PriceASK = 1.3237 TimeTickinms = 1344355

ms 단위의 틱 도착 시간 차이 및 다른 ASK/BID 가격

아카이브에는 이 기사와 관련된 모든 자료가 포함되어 있으며, Expert Advisors 자체, 비디오, 이미지 및 터미널 로그 파일이 포함됩니다. Download

질문이 생깁니다:

두 개의 실제/라이브 계정, 한 브로커, 한 플랫폼에서 동일한 Expert Advisor가 100% 정확도로 동일한 거래를 실행할 수 있습니까?

명백한 답은 아니오입니다.

이런 일은 발생하지 않습니다!

앞으로 이 기사가 여러분의 모든 질문에 자세히 답변해 드리기를 바랍니다. 이 지식을 통해 여러분은 터미널 전반에서 스캘퍼를 보다 정확하게 운영할 수 있을 것입니다.

수익을 증대하세요.

핑(브로커 서버에 대한 액세스 시간)을 알아내는 방법

VPS에서 브로커의 서버까지의 속도는 쉽게 확인할 수 있습니다. 이 기능은 Windows에서 표준으로 제공되며, PING이라고 합니다.

접속 시간을 확인하려면, 서버의 주소를 찾아야 합니다.

먼저, 터미널 폴더를 열고 CONFIG 하위 폴더로 이동하세요.

서버 이름이 있는 파일을 찾으세요.

MetaTrader CONFIG 폴더에서 서버 주소 찾기
MetaTrader 서버 구성 파일

다음으로, 파일을 메모장에서 열고 브로커에 대한 경로를 찾습니다. 이를 클립보드에 복사하세요.

그런 다음, 시작 메뉴를 열고 cmd 명령어를 입력하세요.

Windows에서 명령 프롬프트 열기

그런 다음, ping 명령어를 입력하고 서버의 주소를 입력하세요.

ping mt4-demo.roboforex.com

결과는 컴퓨터에서 브로커 서버까지의 시간을 밀리초(ms) 단위로 표시합니다.

값이 낮을수록 모든 Expert Advisor, 특히 스캘퍼에게 더 좋습니다.

브로커 서버에 대한 핑 결과

또한, 서버에 대한 핑을 확인하거나 터미널의 오른쪽 하단에서 데이터 센터를 변경할 수 있습니다:

MetaTrader 터미널에서 데이터 센터 변경

핑이 너무 높으면, Expert AdvisorVPS 서버에 설치할 수 있습니다.

질문이 있습니까?

질문이 있으시면 언제든지 문의해 주세요. 우리는 보지 않고 물건을 팔지 않습니다.

우리의 각 제품은 구매 전에 테스트할 수 있습니다.

우리는 여러분의 피드백과 제품에 대한 요청에 감사드리며, 높은 품질 기준을 유지하기 위해 노력합니다.

함께 해 주셔서 감사합니다!

질문이 있습니까?

Leave a Reply

Your email address will not be published. Required fields are marked *

This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어


    잠시만 기다려 주세요, AI와 통신 중...

     

    위험 경고:


    과거의 거래 실적이 미래의 결과를 보장하는 것은 아닙니다.

    마진 외환 거래는 높은 수준의 위험을 수반하므로 모든 투자자에게 적합하지 않을 수 있습니다.

    트레이딩 로봇을 사용하면 상당한 위험이 수반되며 초기 투자금보다 더 많은 손실을 볼 수 있다는 점에 유의하세요.

    신중하게 진행하고, 재정 상황을 신중하게 평가하고, 자격을 갖춘 전문가에게 조언을 구하는 것이 좋습니다.

    면책 조항

    이 웹사이트는 귀하의 경험을 향상시키기 위해 쿠키를 사용합니다. 이 웹사이트를 사용함으로써 귀하는 당사의 데이터 보호 정책면책 조항에 동의하게 됩니다.
    더 읽기