[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 895

 
belck:

Eu lhe disse para não tomar muito, não estamos aqui para lutar. Também não gosto quando alguém se recusa a ajudar - ou seja, ele decide por mim, preciso de conselhos ou preciso ler um livro. Como eles dizem - inteligente!

Mais uma vez, rapazes, por favor, não o levem agressivamente ou este é meu pedido ainda é uma contradição, se assim for, então eu não o escreverei mais.

Ninguém tem o direito de proibir que você escreva e faça perguntas... Mas é útil ler com o que muitos de vocês já começaram. E também fazemos perguntas, mas, IMHO, bem diferentes...

Não lhe está sendo recusada ajuda - está lhe sendo dada uma fonte de conhecimento. O que o livro SC não pode lhe ajudar com???????????????

O que você não gostou nas características totalmente funcionais de Igor Kim??????????

Primeiro eu lhe dei um link para o fio do Igor - pegar ou largar... Use-o, insira-o em seu código. Você pode montar a partir deles, como de tijolos, YUMO diferentes Expert Advisors totalmente funcionais.

O que você começou a fazer com eles?

Seu próximo posto foi uma construção completamente incompreensível... ...Código empilhado, no qual iniit e start e deinit e todas as funções foram praticamente escritas em uma linha...

Sugeri que você se familiarizasse com a programação modular, dei-lhe um link para um tutorial...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Você me pediu em resposta para postar este tutorial aqui (!) neste tópico !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

POR????????????????????

Você tem uma enorme variedade de tutoriais diferentes à sua frente...

Mas, de acordo com você, todos deveriam abandonar urgentemente o que estão fazendo e entrar na fila para uma resposta à sua pergunta. E a resposta está, de fato, bem na frente de seus olhos

 

Obrigado.

 
artmedia70:

Ninguém tem o direito de proibir você de escrever e pedir... Mas vale a pena ler com o que muitos de vocês começaram. E também fazemos perguntas, mas, IMHO, bem diferentes...

Não lhe está sendo recusada ajuda - está lhe sendo dada uma fonte de conhecimento. Por que o livro SC não pode ajudar você??????????????? A resposta é ajuda!!!

O que você não gostou sobre as funções totalmente funcionais de Igor Kim?????????? A resposta é que leva muito tempo para juntá-los todos e passar por todos eles.

Primeiro eu lhe dei um link para o fio do Igor - pegar ou largar... Use-o, cole-o em seu código. Você pode montar a partir deles, como de tijolos, UYMU de vários Expert Advisors totalmente funcionais...

O que você começou a fazer com eles?

Seu próximo cargo foi um projeto completamente incompreensível, ... Código empilhado, onde iniit e start e deinit e todas as funções estavam praticamente escritas em uma linha...

Sugeri que você se familiarizasse com a programação modular e lhe dei um link para um tutorial... A resposta - eu a li e não a entendi completamente.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Sua resposta foi me pedir para postar este tutorial aqui (!) neste tópico !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

POR???????????????????? Por que você acha isso?

Você tem uma quantidade enorme de tutoriais diferentes à sua frente... A resposta é sua.

Mas, na sua opinião, todos deveriam abandonar urgentemente seus casos e entrar na fila para uma resposta à sua pergunta. A resposta - tudo de acordo com você E a resposta, de fato, está com você - novamente, diante de seus olhos

 
artmedia70:

Você seleciona uma posição a partir do bilhete. Mas você não verifica ONDE exatamente é. A posição pode ser em posições já fechadas:

bool OrderSelect( índice int , int select, int pool=MODE_TRADES)

Esta função seleciona uma ordem para posterior manipulação. Devolve VERDADEIRO se a função for concluída com sucesso. Devolve FALSO se a função falhar. Ligue para a função GetLastError() para obter informações sobre o erro.

O parâmetro do pool é ignorado se o pedido for selecionado pelo número do bilhete. O número do bilhete é o identificador único do pedido. Para determinar a partir de qual lista um pedido é selecionado, seu horário de fechamento deve ser analisado. Se o tempo de fechamento do pedido for 0, então o pedido está aberto ou pendente e é retirado da lista de posições abertas do terminal. Uma posição aberta pode ser distinguida de uma ordem pendente por seu tipo. Se o tempo de fechamento não for igual a 0, então o pedido é fechado ou pendente e foi selecionado a partir do histórico do terminal. A distinção entre uma ordem fechada e uma ordem pendente excluída também pode ser feita por tipo de ordem.

O bug 4051 relata uma função inválida !!!!!

int total=OrdensTotal();
int n=0;
para (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}
}
se (total === 1)
{
para (int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alerta("o pedido é ", k);
se ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alerta("erro", GetLastError());
}
}
}
}}

retorno(0);


Eu ficarei cinza e morrerei logo se não resolver este problema

 
VOLDEMAR:

O erro 4051 está escrito com uma função inválida !!!!!

int total=OrdensTotal();
int n=0;
para (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}
}
se (total === 1)
{
para (int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alerta("o pedido é ", k);
se ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alerta("erro", GetLastError());
}
}
}
}}

retorno(0);


Eu ficarei cinza e morrerei logo se não resolver este problema




ERR_INVALID_FUNCTION_PARAMVALUE 4051 Valor do parâmetro da função inválida
 
artmedia70:

Você terá muito disso :)

Muito obrigado, não pensei em olhar entre as constantes.

 
VOLDEMAR:

erro 4051 função errada !!!!!

por que

se (total === 1)
{
para (int k=total-1; k>=0; k--)
{

????

Não vejo nenhuma lógica - o ciclo dentro da condição nem sempre funcionará

 
VOLDEMAR:

erro 4051 função errada !!!!!

int total=OrdensTotal();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}
}
if(total === 1)
{
for(int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("order exists ", k);
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}

retorno(0);


Eu vou ficar cinza e morrer se não resolver este problema.



Você tem o número de posição na variável k, e precisa passar a ordem TICKET para a função OrderModify() como seu primeiro parâmetro.

Antes de modificar, pegue o ticket da posição, por exemplo, int ticket = OrderTicket(); e passe ticket em vez de k

Algo como isto em algum lugar. Eu o escrevi de joelhos, não verifiquei nada - apenas uma idéia... Nem sequer entrou em seu código.

int i, k, n=0, ticket=0, total=OrdersTotal();
for(i=total-1; i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS))
         {
            if(OrderSymbol()==Symbol())
            n++;
         }
   }
if (total == 1)
   {
      for (k=total-1; k>=0; k--)
         {
            if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
               {
                  Alert("ордер есть ", k);
                  if (OrderType()==OP_BUY && OrderTakeProfit()==0 && OrderStopLoss()==0)
                     {
                        ticket = OrderTicket();
                        OrderModify(ticket,OrderOpenPrice(),slb,tpb,0,Blue);
                        Alert("ошибка ", GetLastError());
                     }
               }
         }
   }

return(0);
 
IgorM:

por que

if (total === 1)
{
for (int k=total-1; k>=0; k--)
{

????

Não vejo nenhuma lógica nisso - o laço dentro da condição nem sempre vai se manter.

Igor, o significado não está claro aqui...

Se o número total de pedidos for um (total===1), o laço de zero (total-1) a zero k>=0

Você entende alguma coisa????? Eu também... :))

 

Hi.

Aqui vai uma pergunta. Quero tirar lucro assim:

double TakeProfit =  ((LineIndicator - Ask)/2); // но мне нужно указать, что если эта цифра меньше допустимого значение, то выставляется автоматом минимальное допустимое 
значение, а это 10 пунктов.

Esse foi o primeiro ponto, mas agora aqui está outro:

A linha indicadora muda sua posição após um certo período de tempo. como faço para que o lucro não mude, mas permaneça o mesmo que foi definido quando eu o abri?