Ist es möglich, die Kurse eines anderen Brokers in MT4 zu überlagern? - Seite 4

 
getch >>:

Спреды в теории арбитража не при чем.


Alle schreiben so geheimnisvoll, als ob sie etwas wüssten, aber sie schweigen))))) und schreiben, dass es keine Fische gibt))), also vielleicht sollten Sie die Nutzer darüber informieren, damit sie ihre Zeit nicht verschwenden)
 
Das tut jeder. Sie nicht?
 
zhuki >>:
Но открыться всё равно сложнее.Да и завершить хотелось бы положительно.

Es ist alles formalisiert.

 
getch >>:

Это все формализовано.

Ich bin mit Ihrer Arbeit vertraut und habe großen Respekt vor Ihrer Forschung. Ich danke Ihnen.

 

Haben Sie versucht, nicht die Kurse mit dem Expert Advisor zu lesen, sondern die Pakete zu lesen, die am Port ankommen. Sozusagen in dem Moment, in dem sie von MT4 empfangen werden.

Sie sehen, um die Geschwindigkeit zu erhöhen.

 

Dieses Thema wurde in diesem Forum angesprochen, und ich habe versprochen, etwas Nützliches dazu zu schreiben. Es stellte sich heraus, dass es sich um einen universellen Kern eines Arbitration Expert Advisors handelt. Ich habe nichts anderes zu diesem Thema gemacht.

Ich denke, dass die Verzögerung zwischen dem Empfang eines Ticks durch das Terminal und seiner Weiterleitung an den Händler gegen Null geht.

Es wurden mögliche Verbesserungen vorgeschlagen. Ich sehe das Thema eigentlich als interessant an, aber nicht, wenn man es frontal löst.

 
getch >>:

Эта тема была затронута на этом форуме и пообещал попробовать что-то дельное по ней написать. Получилось универсальное ядро арбитражного советника. Больше ничего на тему не делал.

Думаю, что задержка между получением тика терминалом и отправкой его трейдеру близка к нулю.

Возможные доработки высказывал. Тему на самом деле вижу интересной, но не при решении в лоб.

Danke, ich habe es verstanden.

 
Fduch >>:

Саму программу не смотрел, я писал собственную реализацию (приложение на c#, которое принимает через сокеты котировки и рассылает приказы терминалам).

Да и вопрос не в реализации, а в применении на практике. Пар ДЦ, подходящих для арбитража, я так до сих пор и не встретил.

Wenn Sie nichts dagegen haben, posten Sie bitte ein Codebeispiel. (Beispielcode, der Zitate über Sockets abruft).

 
fevrall >>:

Если не сложно выложите пример кода. (Пример кода, котрый получает котировки через сокеты).

Leider ist es ohne den Rest des Codes nutzlos =)

Die Sprache ist c#.

        /// <summary>
        /// Метод обработки входящих соединений
        /// </summary>
        public override void ProceedSocket( object objSocket)
        {
            string dealingCenterName = "";
            Socket socket = ( Socket) objSocket;
            #region ProcessingSocket
            {
                #region GetMessage
                string incomingMessage = "";
                byte[] buffer = new byte[10000];
                Console. WriteLine("Recieving data from socket..");
                int recieved = 0;
                while (( recieved = socket. Receive( buffer)) != 0)
                {
                    Console. WriteLine("Recieved "+ Convert. ToString( recieved));
                    string str = "";
                    for (int k = 0; k < buffer. Length; k++)
                        str = str + Convert. ToChar( buffer[ k]);
                    incomingMessage = incomingMessage + str;
                    if ( str. Contains("\r\n\r\n") == true)
                        break;
                }
                #endregion

                lock ( DealingCentersDictionary)
                {
                    #region UpdateMarketsInfo
                    // Обновляем инфу в ServerMarketInstruments
                    string[] instruments = incomingMessage. Split("\r\n". ToCharArray());
                    // Выбирам дилинговый центр
                    dealingCenterName = instruments[0];
                    Console. WriteLine("Proceeding " + dealingCenterName + " socket");
                    if ( DealingCentersDictionary. ContainsKey( dealingCenterName) == false)
                        DealingCentersDictionary. Add( dealingCenterName, new Market());
                    Market CurrentDCInstruments = DealingCentersDictionary[ dealingCenterName];
                    // Обновляем котировки
                    for (int k = 1; k < instruments. Length; k++)
                    {
                        string s = instruments[ k];
                        string[] data = s. Split(';');
                        if ( data. Length == 3 && data[0] != "" && data[1] != "" && data[2] != "")
                        {
                            string ticket = data[0];
                            double ask = Convert. ToDouble( data[1]. Replace(".", ","));
                            double bid = Convert. ToDouble( data[2]. Replace(".", ","));
                            if ( CurrentDCInstruments. Instruments. ContainsKey( ticket) == false)
                            {
                                CurrentDCInstruments. Instruments. Add( ticket, new Instrument());
                            }
                            CurrentDCInstruments. Instruments[ ticket]. CurrentState.Ask = ask;
                            CurrentDCInstruments. Instruments[ ticket]. CurrentState.Bid = bid;
                        }
                    }
                    #endregion
                }

                #region Answer
                byte[] byteAnswer = new byte[300];
                socket. Send( byteAnswer);
                #endregion
            }
            #endregion
            socket.Close();
            Console. WriteLine("Closed " + dealingCenterName + " socket");
        }

Nur um eine Vorstellung davon zu bekommen, was genau mit "Rest des Codes" gemeint ist:


Und das alles ist wirklich nutzlos, da es keine Schlichtungssituationen gibt.

Getch, danke. Ich werde eine Methode zur Überprüfung von Kunststoffen hinzufügen. Daran hatte ich nicht gedacht...

 
Fduch >>:


И все это действительно бесполезно, т.к. арбитражных ситуаций нет.


Ich bin an der Idee interessiert, Angebote über eine Steckdose einzuholen. Danke, ich werde mir das später ansehen.