FORTSがMT5トレーダーを探しています

 

こんにちは。

MT5ロボットを使ってFORTSでトレードしている人を探しています。

Openerではなく、MT5ロボットを使ってFORTSでトレードしている人を探しています。

解決すべき重大な問題がある場合は、私に知らせてください。

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

ФОРТС. Вопросы по исполнению
ФОРТС. Вопросы по исполнению
  • www.mql5.com
С большими проблемами удалось это сделать (начальник отдела по работе с профессиональными клиентами ДЦ Открытие Евгений Сергеевич,. - - Категория: автоматические торговые системы
 
オープンハウスでみんな取引してる?
 
Михаил:
皆さん、オープンで取引していますか?
また、全く取引しないということもありえます。
 
私はBCSに口座を持っていますが、まだそこでロボットを取引したことがありません。私は実行時間を 測定するために制限をスパムにスプレッダーを実行することができます(あなたが必要とするものを正しく理解していれば)。
 
Adept:
BCSに口座を持っていますが、まだそこでロボットの取引はしていません。私は実行時間を 測定するために制限をスパムにスプレッダーを実行することができます(あなたが必要とするものを正しく理解していれば)。

こんにちは。

もちろん、ちゃんと届いていますよ。

ただ、長い時間(できれば丸一日)、非常にできれば複数のシンボルについて、保留中の注文を配置し、削除する必要があります。

そして、そのログファイルをここに添付してください。

ありがとうございました。

無料で、2000件の取引ができることをお忘れなく。

P/S 確か、スプレッダーはマーケットに非常に近いところに注文を出すんですよね。

トリガーしないようにMAXとMINの価格に注文を入れる必要があります。

そんなEAがないのであれば、簡単に書きます。

 

今朝早くスティッチしたので、まだテストして いない(先にデモでテストした方が良い)

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

今朝早くからステッチして、まだテストして いない(先にデモでテストした方が良い)。

OK、明日の昼過ぎから端末に行くので、夕方にはファイルを添付します。
 
Adept:
OK、明日は昼間に端末に行くので、夕方にはファイルを添付する予定です。

デモで確認したところ、正常に動作しています。

Expert Advisorを少し調整(添付ファイル参照)

ファイル:
BKS_Test.mq5  7 kb
 
Михаил:

デモで確認したところ、正常に動作しています。

Expert Advisorを少し調整(添付ファイル参照)

BCSのどの楽器でデモを試せばいいのでしょうか?

リアルにデモがあるのですが、埋まっていません。 どこに埋めようかと考えているのですが......。

砦 - 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はこのセプテンバーに合うのでしょうか?

時間を見ていたんです。オトクリティーとBCSのどちらかのクロックに勝つ...。つまり、取引時間...

カンプはいつも動いている...。

プリポストで絵を流し込む。

理由: