気配値スピードに基づくスキャルピング・システム!Pingとデータセンター

レディメイド・エキスパートとプログラミング/フリーランスのメリット。
Push.Mail。MetaTraderでEメールと通知を操作する
レディメイド・エキスパートとプログラミング/フリーランスのメリット。
Push.Mail。MetaTraderでEメールと通知を操作する

クォート速度に基づくスキャルピングシステム - 隠れた落とし穴、ピング、データセンター | ビデオサムネイル

説明

    スキャルピングは、最も挑戦的でリスクが高く、同時に迅速な資金獲得方法の一つです。しかし、取引を行った後に利益を確実に受け取れるわけではありません。

ティックデータ率に基づく戦略は、おそらく最も議論されている収益性の高いシステムの一つです。しかし、考慮すべきいくつかのニュアンスがあります。

    端末に入るクォートは、異なる量のデータを含んでいます。

同じ会社からの2つの同一の端末をインストールし、同時に起動したとしても(これは非現実的ですが)、100%正確な結果を達成することはできません。

さらに、同時にスキャルパーを起動しても、完全に同期された結果は得られません。

2つの端末での取引は異なる場合があります。

この変動は、サーバーから端末へのデータ伝送フローのみに依存します。

私のシステムTickSniper for MT4TickSniper for MT5の議論は、他のフォーラムで一つの質問と共に行われます:なぜMT4とMT5で異なるオープンポジションと利益があるのですか?

答えは簡単です:クォートの違いです。MT4端末はクォートフローが遅く、恐らくトラフィックの混雑が原因です。

MetaTrader 5端末では、クォートストリームが10倍速く、オープントレード間に大きな違いが生じます。

この記事のために、2つのエキスパートアドバイザーが特別に開発されました: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;
}

これらのエキスパートが行うこと:

初期化時に、アドバイザーは開始したバーを記録し、すべての4つの端末でのすべてのエキスパートが次のバー(この場合、M30)で同時に開始することを確認します。

その後、各ティックごとに、アドバイザーは画面とログにティック番号、BID/ASK価格、および計算開始からのミリ秒単位のティック時間を記録します。

テストをより信頼性の高いものにするために、同じブローカーから2つのMT4端末と2つのMT5端末をダウンロードしました。

MetaTraderをダウンロード

MetaTrader端末上のスキャルピングエキスパートアドバイザー

端末を起動し、EURUSD M30チャートをすべての4つの端末に適用し、1つのエキスパートアドバイザーを使用して観察結果を検証しました。

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ティックの不一致が観察されました。これは明らかに次のことを示しています:

スキャルパーは、2つの異なるMT4プラットフォームおよびMT5で100%同一の結果を達成することはできません。

また、同じMT4/MT5プラットフォームの2つの端末で同時に取引を開くこともできません。

これは非現実的であり、ブローカーのせいではありません。

トランスポートプロトコルは、サーバーからコンピューターへのネットワークを経由してパケット損失を引き起こし、これは通常の現象です。

計算と分析の違い

以下のスクリーンショットは、不一致を示しています:

ティックデータ計算の不一致 - スクリーンショット1
ティックデータ計算の不一致 - スクリーンショット2
ティックデータ計算の不一致 - スクリーンショット3
ティックデータ計算の不一致 - スクリーンショット4
ティックデータ計算の不一致 - スクリーンショット5

これはアドバイザーの開始からわずか3分後です。

MT4端末でのティック番号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

同じサーバー時間がありますが、ミリ秒単位の時間とクォートが異なります。

ティック番号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

ミリ秒単位のティック到着時間の違い、ASK/BID価格の違い

アーカイブには、この記事に関連するすべての資料が含まれており、エキスパートアドバイザー自体、ビデオ、画像、および端末のログファイルが含まれています。

疑問が生じます:

同じエキスパートアドバイザーが、2つの実際のアカウント、一つのブローカー、一つのプラットフォームで、100%の精度で同一の取引を実行できますか?

明白な答えは「いいえ」です。

これは発生しません!

この知識により、端末全体でスキャルパーをより正確に操作できるようになり、将来的にこの記事がすべての質問に詳細に答えることを願っています。

利益を増やしましょう。

Ping(ブローカーのサーバーへのアクセス時間)の確認方法

VPSからブローカーのサーバーへの速度は簡単に測定できます。この機能はWindowsに標準搭載されており、PINGと呼ばれます。

アクセス時間を測定するには、サーバーのアドレスを見つける必要があります。

まず、端末のフォルダを開き、CONFIGサブフォルダに移動します。

サーバー名が記載されたファイルを見つけます。

MetaTraderのConfigフォルダでサーバーアドレスを見つける
MetaTraderサーバー設定ファイル

次に、そのファイルをメモ帳で開き、ブローカーへのパスを見つけてクリップボードにコピーします。

その後、スタートメニューを開き、cmdコマンドを入力します。

Windowsでコマンドプロンプトを開く

次に、pingコマンドの後にサーバーのアドレスを入力します。

ping mt4-demo.roboforex.com

結果には、コンピューターからブローカーのサーバーまでの時間がミリ秒(ms)で表示されます。

値が低いほど、どのエキスパートアドバイザー、特にスキャルパーにとって良好です。

ブローカーサーバーへのPing結果

サーバーへのpingを確認するか、端末の右下隅にあるデータセンターを変更することもできます:

MetaTrader端末でデータセンターを変更する

もしpingが高すぎる場合、VPSサーバーエキスパートアドバイザーをインストールすることができます。

質問がありますか?

質問がある場合は、お気軽にお問い合わせください。私たちは「裏表のない取引」を提供します。

私たちの製品は、購入前にテストすることができます。

私たちは、お客様のフィードバックや製品に対するリクエストを大切にし、高品質の基準を維持するよう努めています。

ご愛顧ありがとうございます!

質問がありますか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この記事は次の言語でもご覧いただけます: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어


    お待ちください、AIと通信中...

     

    リスクの警告


    過去の取引実績は将来の結果を保証するものではない。

    外国為替証拠金取引には高いリスクが伴うため、すべての投資家に適しているとは限りません。

    取引ロボットを使用することはかなりのリスクを伴い、初期投資額以上の損失を被る可能性があることに注意してください。

    慎重に行動し、ご自身の財務状況を慎重に判断し、資格を有する専門家の助言を求めることをご検討ください。

    免責事項

    このウェブサイトは、あなたの体験を向上させるためにクッキーを使用しています。このウェブサイトを利用することで、当社のデータ保護方針および免責事項に同意したことになります。
    続きを読む