Todos estão negociando no Open?
Eu tenho uma conta na BCS, mas ainda não negociei lá robôs. Posso fazer um "spreader" para fazer spam os limites para medir o tempo de execução (se eu entender corretamente o que você precisa).
Boa tarde!
É claro que você acertou.
Você só precisa colocar e apagar pedidos pendentes, mas apenas por um longo tempo (de preferência o dia inteiro) e muito de preferência por mais de um símbolo.
E depois anexe o arquivo de registro aqui.
Muito obrigado de antemão!
Não esqueça que, de graça, você pode fazer 2000 transações.
P/S Se bem me lembro, o spreader coloca os pedidos muito próximos do mercado.
Você tem que fazer pedidos pelo preço MAX e MIN para que eles não acionem.
Se você não tiver tal EA, eu escreverei uma rápida.
Cosido esta manhã cedo, não o testei (é melhor testá-lo em uma demonstração primeiro)
//+------------------------------------------------------------------+ //| 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(); } } }
Cosido esta manhã cedo, não o testei (é melhor testá-lo em uma demonstração primeiro)
Ok, amanhã eu estarei no terminal no meio do dia e anexarei o arquivo à noite.
Confira na demonstração - funciona corretamente!
Ajustou um pouco o Expert Advisor (ver anexo)
Confira na demonstração - funciona corretamente!
Ajustou um pouco o Expert Advisor (ver anexo)
Em que instrumento da BCS devo testar a demonstração?
Tenho uma demonstração sobre o real - não preenchida. Estou pensando onde preenchê-la...
Forts - o acesso da BCS está aberto no real.
Há uma demonstração do MT 5 em forex-bcs.ru.
Existem instrumentos:
Em qual instrumento da BCS a demonstração deve ser testada?
Tenho um DEP real - não preenchido. Estou pensando onde preencher...
Forts - o acesso da BCS está aberto no real.
Há uma demonstração MT 5 em forex-bcs.ru.
Aí estão os instrumentos:
Bom dia!
Em qualquer instrumento FORTS (por exemplo) Si-9.15
Boa tarde!
Em qualquer instrumento FORTS (por exemplo) Si-9.15
Ri U5 caberá neste mês de setembro?
Eu estava olhando para a época. Bate o relógio da Otkritie ou da BCS. Refiro-me ao tempo de negociação...
O Kamp funciona o tempo todo...
Desfrutei da imagem no pré-post.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Boa tarde!
Procurando por alguém que negocia em FORTS com o robô MT5 NÃO no Open.
Estou procurando alguém que negocia em FORTS usando um robô MT5, não um Opener.
Por favor, avise-me se você tiver um problema sério para resolver.
https://www.mql5.com/ru/forum/38456