Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Parâmetro para quantidade de ordens abertas por mar
- // extern ou input têm a mesma função... qualquer um dos 2 será aceito
- // input int MaxOrders = 1;
- // extern int MaxOrders = 1;
- input int MaxOrders = 1; // Maximo de ordens abertas por par
- input int MagicNumber = 111111; // Magic Number, filtro para ordem única por janela/ativo
- void OnTick(){
- // Seu código blahblahblah
- // Deu sinal pra dar entrada, mas não vem ao caso pois vai depender da sua estratégia
- // Vai abrir uma nova ordem apenas se tiver menos ordens do que o máximo permitido.
- if( CountOrders() < MaxOrders ){
- if( SEU_SINAL_PARA_COMPRA ){
- // Código para compra
- }
- if( SEU_SINAL_PARA_VENDA ){
- // Código para venda
- }
- }
- }
- bool CountOrders(){
- // Contador de ordens abertas
- // Serão contabilizadas apenas ordens do par que o EA está adicionado descartando as demais
- int c = 0;
- // Percorre o Histórico de ordens abertas
- for( int i=OrdersTotal()-1; i>=0; i--){
- // Seleciona ordem por ordem do Histórico
- if( OrderSelect(i, SELECT_BY_POS ) ){
- // Verifica se a ordem é do par e com mesmo magic number
- // E incrementa o contador se for o caso
- if( OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber ) {
- c++;
- }
- }
- }
- return c;
- }
Advertisement
Add Comment
Please, Sign In to add comment