FORTS sucht MT5-Händler

 

Guten Tag!

Ich suche jemanden, der auf FORTS mit MT5-Roboter NICHT im Open handelt.

Ich suche jemanden, der auf FORTS mit einem MT5-Roboter handelt, nicht mit einem Opener.

Bitte lassen Sie mich wissen, wenn Sie ein ernsthaftes Problem zu lösen haben.

https://www.mql5.com/ru/forum/38456

ФОРТС. Вопросы по исполнению
ФОРТС. Вопросы по исполнению
  • www.mql5.com
С большими проблемами удалось это сделать (начальник отдела по работе с профессиональными клиентами ДЦ Открытие Евгений Сергеевич,. - - Категория: автоматические торговые системы
 
Handeln alle am Tag der offenen Tür?
 
Михаил:
Handeln alle bei der Eröffnung?
Es könnte auch sein, dass sie überhaupt nicht handeln.
 
Ich habe ein Konto bei BCS, habe dort aber noch nicht mit Robotern gehandelt. Ich kann einen Spreader laufen lassen, um die Grenzen zu spammen und die Ausführungszeit zu messen (wenn ich richtig verstehe, was Sie brauchen).
 
Adept:
Ich habe ein Konto bei BCS, aber ich habe dort noch nicht mit Robotern gehandelt. Ich kann einen Spreader laufen lassen, um die Grenzen zu spammen und die Ausführungszeit zu messen (wenn ich richtig verstehe, was Sie brauchen).

Guten Tag!

Natürlich haben Sie das richtig verstanden.

Sie müssen lediglich schwebende Aufträge erteilen und löschen, allerdings nur für einen längeren Zeitraum (vorzugsweise den ganzen Tag) und vorzugsweise für mehr als ein Symbol.

Und fügen Sie dann die Protokolldatei hier an.

Vielen Dank im Voraus!

Vergessen Sie nicht, dass Sie kostenlos 2000 Transaktionen durchführen können.

P/S Wenn ich mich recht erinnere, platziert der Spreader Aufträge sehr nah am Markt.

Sie müssen Aufträge zum MAX- und MIN-Kurs platzieren, damit sie nicht ausgelöst werden.

Wenn Sie einen solchen EA nicht haben, schreibe ich einen kurzen.

 

Heute früh genäht, noch nicht getestet (besser erst auf einer Demo testen)

//+------------------------------------------------------------------+
//|                                                     BKS_Test.mq5 |
//|                                          Copyright 2015, Mikalas |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Mikalas"
#property link      "https://www.mql5.com"
#property version   "1.00"
//
double sell_price;
double buy_price;
ulong buy_ticket;
ulong sell_ticket;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
  sell_price = 0;
  buy_price = 0;
  buy_ticket = 0;
  sell_ticket = 0;
//---
  if ( !GlobalVariableCheck( "trans_count" ) )
  {
    datetime a_time = GlobalVariableSet( "trans_count", 0 );
    
    if ( ulong( a_time ) == 0 )
    {
      MessageBox( "Глобальная переменная терминала 'Счётчик транзакций' не создана!", "Ошибка", MB_OK | MB_ICONHAND );
      return( INIT_FAILED );
    }
  }
//---  
  if ( !MarketBookAdd( _Symbol ) )
  {
    MessageBox( "Не добавлен стакан по символу " + _Symbol,   "Ошибка", MB_OK | MB_ICONHAND );
    return( INIT_FAILED );
  }
  return( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
  MarketBookRelease( _Symbol );   
}
//+------------------------------------------------------------------+
//| Expert Set transaction count function                            |
//+------------------------------------------------------------------+
void SetTransCount( const bool up_down )
{
  double tr_count;
  uint i = 0;
  do
  {
    i++;
    if ( GlobalVariableGet( "trans_count", tr_count ) )
    {
      if ( up_down )
      {
        if ( GlobalVariableSetOnCondition( "trans_count", tr_count + 1, tr_count ) )
        {
          i = 100;
        }
      }
      else
      {
        if ( GlobalVariableSetOnCondition( "trans_count", tr_count - 1, tr_count ) )
        {
          i = 100;
        }
      }
    }
  }  
  while( i < 100 );
}
//+------------------------------------------------------------------+
//| Remove order function                                            |
//+------------------------------------------------------------------+
void RemoveOrder( ulong &ticket )
{
   MqlTradeRequest request = {0};
   MqlTradeResult  result  = {0};
            
  request.action = TRADE_ACTION_REMOVE;
  request.order = ticket;
          
  if ( OrderSend( request, result ) )
  {
    if ( result.retcode == TRADE_RETCODE_PLACED )
    { 
      ticket = 0;
      SetTransCount( true );
    }
  }
  else
  {
    Print( "Ордер не удалён. Билет = ", ticket );
  }  
}
//+------------------------------------------------------------------+
//| Set order function                                               |
//+------------------------------------------------------------------+
void SetOrder( ulong &ticket, const double price, const bool buy_sell )
{
  ticket = 0;
  MqlTradeRequest request = {0};
  MqlTradeResult  result  = {0};
    
//--- Fill structure
  request.action = TRADE_ACTION_PENDING;
  request.magic  = 987654321;
  request.symbol = _Symbol;
  request.volume = 1;
  request.price  = price;
    
  if ( buy_sell )
  {
    request.type = ORDER_TYPE_BUY_LIMIT;
  }
  else
  {
    request.type = ORDER_TYPE_SELL_LIMIT;
  } 
  request.comment = "Отложенный ордер...";      
  request.type_filling = ORDER_FILLING_RETURN;
  request.type_time = ORDER_TIME_DAY;
  
//--- Send order
  if ( OrderSend( request, result ) )
  {
    if ( result.retcode == TRADE_RETCODE_PLACED ) 
    {
      ticket = result.order;
      SetTransCount( true );
    }
  }
  else
  {
    Print( "Ордер не установлен! ", _Symbol, ", Цена = ", price, "; Код возврата = ", result.retcode );
  }  
}
//+------------------------------------------------------------------+
// Expert Check orders timer function                                |
//+------------------------------------------------------------------+
bool CheckOrdersTimer( const uint start_value, const uint per_value )
{
  uint end_value = GetTickCount();
  
  if ( end_value < start_value )
  {
    if ( ( start_value - end_value ) >= per_value ) return( true );
  } 
  else
  {
    if ( ( end_value - start_value ) >= per_value ) return( true );
  }
  return( false );
}
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{
  if ( symbol == _Symbol )
  {
    double trc_value = GlobalVariableGet( "trans_count" );
//---
    if ( long( trc_value ) < 2000 )
    {
      uint st_val = GetTickCount();
      int tick_cnt = 1;
      sell_price = SymbolInfoDouble( _Symbol, SYMBOL_SESSION_PRICE_LIMIT_MAX );
      buy_price = SymbolInfoDouble( _Symbol, SYMBOL_SESSION_PRICE_LIMIT_MIN );
//---
      while ( !CheckOrdersTimer( st_val, 2000 ) )  //Используем вместо sleep 2 сек
      {
        tick_cnt--;
        tick_cnt++;
      }
//---           
      if ( ( sell_ticket > 0 ) && ( OrderSelect( sell_ticket ) ) )
      {
        RemoveOrder( sell_ticket );
      }
      else
      {
        SetOrder( sell_ticket, sell_price, false);
      }
//---      
      if ( ( buy_ticket > 0 ) && ( OrderSelect( buy_ticket ) ) )
      {
        RemoveOrder( buy_ticket );
      }
      else
      {
        SetOrder( buy_ticket, buy_price, true );
      }        
    }
    else
    {
      if ( ( sell_ticket > 0 ) && ( OrderSelect( sell_ticket ) ) )
      {
        RemoveOrder( sell_ticket );
      }
      if ( ( buy_ticket > 0 ) && ( OrderSelect( buy_ticket ) ) )
      {
        RemoveOrder( buy_ticket );
      }  
      ExpertRemove();
    }  
  } 
}
 
Михаил:

Heute früh genäht, noch nicht getestet (besser erst auf einer Demo testen)

Ok, ich bin morgen Mittag am Terminal und werde die Datei am Abend anhängen.
 
Adept:
Ok, morgen bin ich mitten am Tag am Terminal und werde die Datei am Abend anhängen.

Ich habe es in der Demo überprüft - es funktioniert einwandfrei!

Den Expert Advisor ein wenig optimiert (siehe Anhang)

Dateien:
BKS_Test.mq5  7 kb
 
Михаил:

Ich habe es in der Demo überprüft - es funktioniert einwandfrei!

Den Expert Advisor ein wenig optimiert (siehe Anhang)

Auf welchem BCS-Gerät soll ich die Demo testen?

Ich habe eine Demo auf der Real - nicht ausgefüllt. Ich überlege, wo ich sie ausfüllen soll...

Forts - der Zugang von BCS ist in der Realität offen.

Es gibt eine Demo von MT 5 auf forex-bcs.ru.

Es gibt Instrumente:


 
Roman Shiredchenko:

Auf welchem Gerät von BCS soll die Demo getestet werden?

Ich habe auf einem echten - nicht gefüllten DEP. Ich bin am Überlegen, wo ich füllen soll...

Forts - der Zugang von BCS ist in der Realität offen.

Es gibt eine MT 5 Demo auf forex-bcs.ru.

Es gibt Instrumente:

Guten Tag!

Auf jedem Instrument FORTS (z.B.) Si-9.15

 
Михаил:

Guten Tag!

Auf jedem FORTS Instrument (z.B.) Si-9.15

Ri U5 wird dieser September passen?

Ich habe auf die Uhrzeit geachtet. Besser als die Uhr von Otkritie oder BCS... Ich meine die Handelszeit...

Kamp arbeitet die ganze Zeit...

Gießen Sie das Bild in der Pre-Post.