[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 375

 
artmedia70:
Tempo[número_bar];

Obrigado! Vou tentar prescrevê-lo :)
 
nemo811:
Você já considerou o preço pelo qual seus pedidos são abertos (Ask ou Bid)?

Eu lhe disse para abrir o pedido pelo mesmo preço, mas ele é aberto 1-2 pips depois.
 
myrzila:

Estou lhes dizendo, prescrevo uma ordem para ser aberta pelo mesmo preço e ela abre 1-2 pips depois.

Sim, algumas empresas de corretagem podem utilizar posições com deslizamento. Eu mesmo não acreditava nisso até que o vi com meus próprios olhos. Naquela época, meu amigo e eu estávamos escalando em uma das corretoras. O negócio durou no mercado por não mais do que um minuto e foi imediatamente fechado. Como a grande maioria das transações foram fechadas no plus, não foi rentável para as corretoras. Esta corretora nos pagou o que ganhamos e introduziu o escorregamento em ordens pendentes e o escorregamento no acionamento de ordens stop que matou todos os nossos negócios. É assim que acontece. Portanto, entre em contato com sua corretora e pergunte a eles por que você não abre pedidos pelo preço a que eles são estabelecidos.
 

Boa tarde!

Voltando a uma pergunta que eu não consegui resolver sozinho. Como posso programar os depósitos/resgates para um período específico?

Ou seja, se você pegar o período de negociação de 25 de novembro e passar por todas as ordens para esse período, você pode determinar os depósitos/retiradas para esse período. E aqui está a pergunta: como você calcula?

extern string            DayX="25.11.2011 00:00";   

if(TimeCurrent()>StrToTime(DayX)) //если текущее время старше момента начала периода
     {
      for(i=0; i<StrToTime(OrdersHistoryTotal()); i++)
       {
         if(OrderOpenTime()<StrToTime(DayX)) continue;
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderType()==6)
          {
            jjjj=+ //а вот здесь загвоздка, что-же суммировать? профит по OrderType()==6????????
          }
       }
     }
 
forexnew:

Boa tarde!

Voltando a uma pergunta que eu não consegui resolver sozinho. Como posso programar os depósitos/resgates para um período específico?

Ou seja, se você pegar o período de negociação de 25 de novembro e passar por todas as ordens para esse período, você pode determinar os depósitos/retiradas para esse período. E aqui está a pergunta: como você calcula?


Se OrderProfit() for maior que zero - adicionar, menos - retirar
 
Vinin:

Se OrderProfit() for maior que zero - preencher, menos - retirar

Obrigado! Ou seja, é possível determinar quais preenchimentos e retiradas foram separados?!

extern string            DayX="25.11.2011 00:00";   

if(TimeCurrent()>StrToTime(DayX)) //если текущее время старше момента начала периода
     {
      for(i=0; i<StrToTime(OrdersHistoryTotal()); i++)
       {
         if(OrderOpenTime()<StrToTime(DayX)) continue;
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderType()==6 && OrderProfit()>0)
          {
            Profit1=+OrderProfit(); //доливки
          }

         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderType()==6 && OrderProfit()<0)
          {
            Profit2=+OrderProfit(); //снятия          
          }
       }
     }
 

Por que a função de cálculo do lote máximo retorna "0" para o instrumento #DD ? Isto nem sempre acontece.

double MaxmaxLots(int cmd) 
{
    double result = 0;
    double lotStep = MarketInfo(SymbolMax[nnnn], MODE_LOTSTEP);
    double v = MarketInfo(SymbolMax[nnnn], MODE_MINLOT);
    double mult = 100;
    
    while (true) {
        if (AccountFreeMarginCheck(SymbolMax[nnnn], cmd, v + lotStep * mult) > 0) { 
            v = v + lotStep * mult;
        } else {
            mult = mult / 10;
            
            if (mult < 1) {
                if (AccountFreeMarginCheck(SymbolMax[nnnn], cmd, v) > 0) {  
                    result = v;
                }
                break;
            }
        }
    }
    
    return(result);
}    
 
forexnew:

Obrigado! Isto é, é possível identificar quais recargas e remoções foram individualmente!


extern string            DayX="25.11.2011 00:00";   

if(TimeCurrent()>StrToTime(DayX)) //если текущее время старше момента начала периода
     {
      for(i=0; i<StrToTime(OrdersHistoryTotal()); i++)
       {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)=false) continue;
         if(OrderOpenTime()<StrToTime(DayX)) continue;
         if(OrderType()!=6) continue;

         if(OrderProfit()>0)
          {
            Profit1=+OrderProfit(); //доливки
          }
         else 
          {
            Profit2=+OrderProfit(); //снятия          
          }
       }
     }
 
int start()

  {
  DrowDownAlert=iCustom(NULL, 0, "Equity_v7",4,0);  
   

 double a=TotalLots(0);
 double b=TotalLots(1);
  Comment (a,b);
  return(0);
  }

//----------------------- подсчёт объема позиций----------------------------//
void TotalLots(bool zet)
{
   double total=0,total1=0;
   int slippage=20;
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
      if (OrderType()==OP_BUY ) total=total+OrderLots();
      if (OrderType()==OP_SELL) total1=total1+OrderLots();
   }
 if (zet==0) return (total); else return (total1) ;  
 
}
Por que o erro de saída que a função retorna tem um resultado nulo, qual é o erro?
 
nikelodeon:
Por que o erro de saída que a função retorna tem um resultado nulo, qual é o erro?

//----------------------- подсчёт объема позиций----------------------------//
int TotalLots(bool zet)
{
   double total=0,total1=0;
   int slippage=20;
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
      if (OrderType()==OP_BUY ) total=total+OrderLots();
      if (OrderType()==OP_SELL) total1=total1+OrderLots();
   }
 if (zet==0) return (total); else return (total1) ;  
 
}