[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 531

 

Você pode me dizer onde posso encontrar um roteiro que mostre a quantidade de dinheiro real
por exemplo
saldo da conta = 10000
quantidade de dinheiro com alavancagem = 10000
quantidade de dinheiro real = 100

 
novicek:

Diga-me onde encontrar um script que mostre a quantidade de dinheiro real
por exemplo
a quantidade na conta = 10000
a quantidade de dinheiro com alavancagem = 10000
a quantidade de dinheiro real = 100



A quantidade de dinheiro real é o saldo da conta. O valor é devolvido pela função AccountBalance(). As três figuras que você listou são todas iguais. O último também será de 10.000.
 

Sancho77


for(int i=orderstotal-1 ; i>=0 ;i--)
   {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {   
      if(OrderSymbol() != Symbol() // ордер в торговом пуле и его символ не соответсвует текущему
        
 
tol64:

A quantidade de dinheiro real é o saldo da conta. O valor é devolvido por AccountBalance(). As três figuras que você listou são todas iguais. O último também seria de 10.000.
Eu diria que a quantidade de dinheiro real é AccountEquity() no entanto. Caso contrário, há pouco que pende no menos - até que as negociações sejam fechadas, o saldo não refletirá o estado de coisas na conta.
 
tol64:

A quantidade de dinheiro real é o saldo da conta. O valor é devolvido por AccountBalance(). As três figuras que você listou são todas iguais. O último também será de 10.000.
Esqueça o equilíbrio. E não induza os outros em erro. O capital próprio é seu fundo real. Se seus fundos permitirem, seu saldo pode ser zero, mas não o contrário. Mesmo que você tenha um saldo de até um milhão, e os fundos tenham caído para um valor crítico, espere pela Chamada de Margem, e então o Stop Out... ...se você não colocar o dinheiro em sua conta a tempo.
 
Dimka-novitsek:

Sim, desculpe mesmo, é o calor do momento, parece que não consigo me fartar. Desculpe. Obrigado!!!!!!!!!

Não se preocupe... Você precisa fechar todas as posições e apagar todas as ordens se a última posição fechada na TakeProfit ?

Aqui está a sua próxima tarefa de casa.

   int j=-1;
   datetime t;
   string PoseType;
   // Поищем в цикле последнюю закрытую позицию, которая закрылась по TakeProfit
   for (int i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(),Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         for (int k=OrdersTotal()-1; k>=0; k--) {
            if (OrderSelect(k, SELECT_BY_POS) {
               if (OrderSymbol()!=Symbol())  continue;
               if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
                  if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
                     if (OrderType()==0) PoseType="BUY"; else PoseType="SELL";
                     Alert("Закрываем позицию ",PoseType," с тикетом #",OrderTicket());
                     // Здесь вставьте команду для закрытия рыночной позиции (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции закрытия позиций с проверкой и обработкой ошибок сервера
                     }
                  if (OrderType()>1 && OrderType()<=5) {
                     if (OrderType()==2) PoseType="BUYLIMIT";
                     if (OrderType()==3) PoseType="BUYSTOP";
                     if (OrderType()==4) PoseType="SELLLIMIT";
                     if (OrderType()==5) PoseType="SELLSTOP";
                     Alert("Удаляем отложенный ордер ",PoseType," с тикетом #",OrderTicket());
                     // Здесь команда для удаления отложенного ордера (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции удаления отложенного ордера с проверкой и обработкой ошибок сервера
                     }
                  }
               }
            }
         }
      }

Pelo amor de Deus, não empilhe tudo novamente... Eu já fiz tudo por você - tudo que você tem que fazer é peidar duas vezes... Eu até escrevi onde... :) E, é claro, limpar todos os alertas e o código que os acompanha. embora... Não tenho certeza de que você encontrará o quê, onde e como e para quê...

 
artmedia70:
Esqueça o equilíbrio. E não induza os outros em erro. Equidade é seu dinheiro real. Se seus fundos permitirem, seu saldo pode ser zero, mas não o inverso. Mesmo que você tenha um saldo de até um milhão, e os fundos tenham caído para um valor crítico, espere pela Chamada de Margem, e então o Stop Out... ...se você não colocar o dinheiro em sua conta a tempo.

Eu não o fiz de propósito).
Acontece que este é um conceito relativo)). O saldo é um lucro/perda fixa. E isto é real. Fundos, AccountEquity(), ainda podem mudar quantas vezes você quiser e isto, em princípio, também é real, mas já é bastante vago. É claro que não devemos aumentar o valor crítico de nossa conta e controlar a carga do depósito e o risco de não pararmos e de não perdermos o percentual de margem. Tal exemplo já foi dado acima. O mesmo "kamikaze")))

Nesse caso, novicek deveria ter sido mais específico e usado definições claras como Equilíbrio/Equidade (claro) e não Real/Unreal (vago). O exemplo abaixo funcionaria para você então?

Para mim, AccountEquity(), como uma vela não-formada e outros indicadores que me interessam, calculo sobre o saldo, mas é claro, também sigo os meios, para estar ciente de quando a Equidade (meios) deve ser convertida em dinheiro real ou virtual (se for um teste), ou seja, o saldo. ))

 
artmedia70:

Não se preocupe... Você precisa fechar todas as posições e apagar todas as ordens se a última posição fechada na TakeProfit ?

Aqui está a sua próxima tarefa de casa.

O código belamente estruturado, mesmo sem comentários, é claro. Como um livro).
 
tol64:

Eu não o fiz de propósito).
Acontece que se trata de um conceito relativo). Um balanço é um lucro/perda fixa. E é real. Fundos, AccountEquity(), ainda podem mudar quantas vezes você quiser e isto, em princípio, também é real, mas já é bastante vago. É claro que não devemos aumentar o valor crítico de nossa conta e controlar a carga do depósito e o risco de não pararmos e de não perdermos o percentual de margem. Tal exemplo já foi dado acima. O mesmo "kamikaze"))).

Nesse caso, Novicek deve ser mais específico e utilizar definições claras e compreensíveis, tais como Equilíbrio/Equidade (claro) e não Real/Unreal (vago). O exemplo abaixo funcionaria para você então?

Para mim, AccountEquity(), como uma vela não-formada e outros indicadores que me interessam, calculo sobre o saldo, mas é claro, também sigo os meios, para estar ciente de quando a Equidade (meios) deve ser convertida em dinheiro real ou virtual (se for um teste), ou seja, o saldo. ))

E é melhor fechar todas as posições quando a linha de patrimônio líquido sobe acima da linha de saldo. Afinal, ao fechar as posições abertas, o saldo se torna igual ao patrimônio líquido. :)

Bem, você está errado sobre a "vela da iniquidade" em relação à equidade... Equidade é seu lucro/perda que já foi formado, enquanto o saldo, quando as posições não estão fechadas, é pó, nada...

 
artmedia70:

Equidade é seu lucro/perda já gerado, e o saldo com posições descobertas é pó, nada...


É por isso que eu fecho uma posição quando os fundos atingem um certo valor sobre o saldo, mas eu também deveria fechar uma posição quando os fundos estão abaixo do saldo, se eu estava errado e o preço foi na direção errada). Se você não fechar uma posição a tempo, quando os fundos estiverem acima do saldo, depois de um tempo pode acontecer que os fundos estarão abaixo do saldo e não subirão mais por muito tempo, e depois descer ainda mais para parar de perder, e depois da parada de perder ainda mais, e algumas pessoas nem sequer põem um fim))). Para onde foram esses fundos quando estavam em excesso? Eles se transformaram em pó, em nada))

É como um poema)). Na verdade, estamos falando da mesma coisa, muito provavelmente. Sobre a vela não-formada. Referia-me às condições de entrada e saída. As encomendas não se enquadram nesta categoria. Fechamento de posições por stop-loss, abertura por ordens pendentes, é claro, não se realizam por uma vela formada)).