Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 85
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
1) o compilador reclamará se a segunda dimensão não for definida, "especificar tipo de classe, parâmetros desconhecidos" surgirá imediatamente
2) então o bot morrerá imediatamente na partida com "matriz de erros críticos fora de alcance".
3) setint count1=-1; depois passar pelo laço. O que há de errado aqui?
Bem, reveja as respostas de vez em quando: 1 e 2 e 3 e ...
Você vem fazendo a mesma coisa há mais de uma semana e a situação piora a cada vez, embora já tenha recebido uma resposta e tenha apontado o erro. Então, o compilador não reclamou da ausência da segunda dimensão no primeiro código, mas começa a reclamar nas dimensões seguintes? O compilador ficou ruim? Você também pode abrir qualquer código com arrays e ver como eles são criados e fazer o mesmo.
Não existe tal coisa. Os MAs já foram tão arrastados, por tantas pessoas, que basta esperar um novo pensamento de um comerciante ambicioso recém-cunhado. Estava brincando.
A verdade é que estou cansado de bisbilhotar com uma garrafa de MA por tantos anos. Eles ficam para trás. Eles provavelmente deveriam ser utilizados em outra área, mas não para capturar fluxos de tendências.
Há todos os tipos de mashkas.
De modo geral, só há empurradores em todos os lugares.
Há todos os tipos de mash-ups.
De modo geral, todos os cogumelos estão sendo utilizados em todos os lugares
Artyom Trishkin:
Que tal isso?
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=0;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1);
orders[count1-1].Ticket=OrderTicket();
orders[count1-1].lot=OrderLots();
orders[count1-1].orderopenprice=OrderOpenPrice();
orders[count1-1].ordertype=OrderType();
orders[count1-1].profit=OrderProfit();
orders[count1-1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
até que eu o faça. Eu não estaria escrevendo aqui se tivesse encontrado um semelhante com outros.
até que eu o faça. Eu não teria escrito aqui se tivesse encontrado a mesma coisa com os outros. Eu acho que você mesmo entende que a série numérica e a lista de estruturas não são a mesma, caso contrário, você terá outra equação com um número infinito de incógnitas.
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=-1;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1,10);
orders[count1].Ticket=OrderTicket();
orders[count1].lot=OrderLots();
orders[count1].orderopenprice=OrderOpenPrice();
orders[count1].ordertype=OrderType();
orders[count1].profit=OrderProfit();
orders[count1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
Errado. Trace de seu código qual será o tamanho de sua matriz.
Você tem que pensar, pelo menos um pouco. Não é preciso adivinhar. Pense. Cada passo do programa. Ou você está esperando que alguém o escreva para você? Este é um serviço freelance - às vezes eles ordenam que você escreva funções.
Errado. Trace de seu código qual será o tamanho de sua matriz.
Você deveria pensar um pouco sobre isso. Você não deve tentar adivinhar. Basta pensar. Cada passo do programa. Ou você está esperando que alguém o escreva para você? Este é um serviço freelance - às vezes eles ordenam que você escreva funções.
Do meu ponto de vista
1) adicionar a zero se o pedido for encontrado
2) mudar o tamanho para 0, reservar 10
3) Escreva 0 como o primeiro número de pedido, 1 como o segundo, etc.
Quanto ao freelance, não estou contestando que eles escreverão qualquer coisa, mas você ainda tem que reescrevê-lo você mesmo. Você não tem que ir lá sem parar.até que eu o faça. Eu não teria escrito aqui se eu tivesse encontrado o mesmo com os outros. Eu acho que você mesmo entende que a seqüência numérica e a lista de estruturas não é a mesma, caso contrário, será outra equação com um número infinito de incógnitas.
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1,10);
orders[count1].Ticket=OrderTicket();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
Eu não escrevi muito, apenas gravei uma pequena resposta em vídeo.
Artem certamente ajuda o máximo que pode, mas ele não me dá um peixe, apenas uma cana de pesca)
comerciante781, procure na documentação às vezes, ela agora está cheia a cada volta.do jeito que eu vejo
1) adicionar a zero se for encontrado um pedido
2) mudar o tamanho para 0, reservar 10
3) Escreva 0 como primeiro número de pedido, 1 como segundo número de pedido, etc.
Quanto à agência autônoma, não estou contestando que eles escreverão qualquer coisa, mas você ainda tem que reescrevê-la você mesmo. Não vá lá sem parar.E como você quer escrever algo em uma matriz com tamanho zero?
Coloque dinheiro em uma carteira que você não tem...
E como você quer escrever algo em um array com um tamanho zero?
Para colocar dinheiro em uma carteira que não existe ...
revisado pelo correio 844, para não ter que escrever código aqui novamente.
Quanto à matriz de tamanho zero - 0 pode ser um número inteiro, pode ser o equivalente a um falso booleano, pode ser um vazio, e pode ser um ponto de partida.