MT5 트레이더를 찾는 FORTS

 

안녕하세요!

오프너에 없는 MT5 로봇으로 FORTS에서 거래할 사람을 찾고 있습니다.

당신이 결정해야하기 때문에 응답에 대한 큰 요청

모두에게 심각한 문제.

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

ФОРТС. Вопросы по исполнению
ФОРТС. Вопросы по исполнению
  • www.mql5.com
С большими проблемами удалось это сделать (начальник отдела по работе с профессиональными клиентами ДЦ Открытие Евгений Сергеевич,. - - Категория: автоматические торговые системы
 
모두 Otkryvashka에서 판매합니까?
 
Михаил :
모두 Otkryvashka에서 판매합니까?
다른 옵션일 수도 있습니다. 거래하지 마십시오.
 
BCS에 계정이 있지만 아직 로봇을 거래한 적이 없습니다. 실행 시간을 측정하기 위해 제한을 스팸하도록 스프레더를 실행할 수 있습니다(필요한 것을 올바르게 이해한 경우).
 
Adept :
BCS에 계정이 있지만 아직 로봇을 거래한 적이 없습니다. 실행 시간을 측정하기 위해 제한을 스팸하도록 스프레더를 실행할 수 있습니다(필요한 것을 올바르게 이해한 경우).

안녕하세요!

물론 맞췄습니다.

보류 중인 주문을 작성하고 삭제하기만 하면 되지만 오랜 시간 동안(하루 종일 권장) 하나의 도구가 아닌 매우 바람직합니다.

그런 다음 여기에 로그 파일을 첨부합니다.

미리 대단히 감사합니다!

무료로 2000건의 거래를 할 수 있다는 것을 잊지 마십시오.

P/S 제 기억에 스프레더는 시장에서 매우 가까운 곳에서 주문을 합니다.

작동하지 않도록 MAX 및 MIN 가격으로 주문해야 합니다.

그런 조언자가 없으시다면 빠르게 글을 쓰겠습니다.

 

나는 아침 일찍 낙서를 하고 확인하지 않았다 (데모에서 먼저 확인하는 것이 좋다)

 //+------------------------------------------------------------------+
//|                                                     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 ();
    }  
  } 
}
 
Михаил :

나는 아침 일찍 낙서를 하고 확인하지 않았다 (데모에서 먼저 확인하는 것이 좋다)

음, 내일 낮부터 터미널에 도착해서 저녁에 파일을 첨부하겠습니다.
 
Adept :
음, 내일 낮부터 터미널에 도착해서 저녁에 파일을 첨부하겠습니다.

지금은 데모 오프너를 확인했습니다. 올바르게 작동합니다!

EA를 약간 수정했습니다(첨부 파일 참조).

파일:
BKS_Test.mq5  7 kb
 
Михаил :

지금 나는 Openers 데모를 확인했습니다. 올바르게 작동합니다!

EA를 약간 수정했습니다(첨부 파일 참조).

BCS의 어떤 기기에서 데모를 테스트해야 합니까?

나는 실제 - 범람되지 않은 dep를 가지고 있습니다. 어디에 넣을까 고민중...

요새 - BCS로부터의 접근은 실생활에서 열려 있습니다.

forex-bcs.ru에 MT 5 데모가 있습니다.

도구가 있습니다:


 
Roman Shiredchenko :

BCS의 어떤 도구에서 데모를 테스트해야 합니까?

나는 진짜가 있습니다 - dep로 채워지지 않았습니다. 어디에 올려야할지 고민...

요새 - BCS로부터의 접근은 실생활에서 열려 있습니다.

forex-bcs.ru에 MT 5 데모가 있습니다.

도구가 있습니다:

안녕하세요!

모든 FORTS 도구(예: Si-9.15)

 
Михаил :

안녕하세요!

모든 FORTS 도구(예: Si-9.15)

Ri U5가 9월에 적합합니까?

제 시간에 시청했습니다. 오프닝부터, BCS부터 ... 거래 시간에 대해 이야기하고 있습니다 ...

캠프는 언제나 열려있습니다. . .

사전 포스트에 사진을 업로드했습니다.

사유: