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

 
Obrigado pela resposta, mas eu quis dizer que funções mql4 podem ser usadas para implementar isto?
 
MiroshA:
Obrigado pela resposta, mas eu quis dizer que funções mql4 podem implementar isto?
Diferentes. Dependendo do algoritmo que você decidir desenvolver.
 

Olá. Meu consultor especializado está anexado a muitas janelas de pares de moedas e compra no mais provável. uso variáveis globais para troca de informações entre cópias em execução do EA. os dados são atualizados a cada segundo. Tive a idéia de salvar todas essas informações em um arquivo, mas não o fiz porque ele recorria com muita freqüência ao flash drive.

Não consigo realmente pensar em uma maneira de contornar isto, a única maneira é definir cada moeda para um número específico por padrão e usar as mesmas variáveis globais, por exemplo 01023334455 onde 01 é USD, 02 é EUR, 3, 4, 5 são os dados para o câmbio.

 
pycha:

Olá. Meu consultor especializado está anexado a muitas janelas de pares de moedas e compra no mais provável pullbacks. uso variáveis globais para troca de informações entre cópias em execução do EA. os dados são atualizados a cada segundo. Tive a idéia de salvar todas essas informações em um arquivo, mas não o fiz porque ele recorria com muita freqüência ao flash drive.

Não consigo realmente pensar em uma maneira de contornar isto, a única maneira é definir cada moeda para um número específico por padrão e usar as mesmas variáveis globais, por exemplo 01023334455 onde 01 é USD, 02 é EUR, 3, 4, 5 são os dados para o câmbio.

E quanto ao símbolo no nome da variável? Portanto, se existe uma variável GV ... ...e é possível armazenar um valor nele. Desta forma, temos 1 variável, que serve 2 propósitos.

 

Eu só quero que o software seja mais universal. desta forma você pode colocar 01 -usd , 02 eur em um arquivo e quando você abrir a janela usdaud descobrirá que aud não está na lista e lhe dará o número 03, salvando informações no arquivo. desta forma eu não preciso recompilar o software toda vez que eu abrir uma nova moeda que não tenha sido tentada

 
AlexeyVik:

Mas e a inserção de um símbolo em um nome variável? Correspondentemente, se existe tal variável GV ... ...e um valor pode ser escrito nele. Portanto, temos 1 variável que serve a 2 propósitos.


Explicarei por que não funciona. Uma vez transcorrido um certo tempo, o programa apaga todas as variáveis para remover lixo desnecessário, se houver. GV1 GV2 e assim por diante até que se esgote. portanto, se houver uma variável criada por outra cópia do programa, ela também será apagada, e elas serão restauradas após 1 segundo. e se eu nomear uma variável por um símbolo, terei que passar por todas as variações possíveis do símbolo para remover tudo.



Minha pergunta é - existem outros truques além da GV - variáveis que permitem passar dados de uma instância de um programa para outra através do sistema operacional?

 
pycha:

Eu só quero que o software seja mais universal. desta forma você pode colocar 01 -usd , 02 eur em um arquivo e quando você abrir a janela usdaud descobrirá que aud não está na lista e lhe dará o número 03, salvando informações no arquivo. desta forma eu não preciso recompilar o software toda vez que eu abrir uma nova moeda que não tenha sido tentada


Por que eu preciso reatribuí-lo? Há uma lista de símbolos. Ela é independente da classificação. Acontece que você pode encontrar o número do símbolo na lista e usá-lo.
 
OK, obrigado a todos vocês
 
pycha:

Explicarei porque não funciona. uma vez por um determinado período de tempo o programa apaga todas as variáveis para remover lixo desnecessário se houver. GV1 GV2 e assim por diante até que se esgote. assim, se houver uma variável criada por outra cópia do programa ela também será apagada, e elas serão restauradas após 1 segundo. e se você fizer um nome de variável por símbolo, você terá que passar por todas as variações de símbolo possíveis para remover todas .



Minha pergunta é - existem outros truques além da GV - variáveis que permitem transferir dados de uma cópia do programa para outra via RAM?

Então tente fazer uma estrutura em uma biblioteca, preencha e leia a partir daí.
 

Boa noite! Ajude-me a entender o código abaixo, vender está escrito com o mesmo princípio, por que três opções para abrir, porque eu tive que mexer na opção de evitar abrir um pedido então - quando o pedido abre na barra atual e fecha em um empate,

e o sinal permanece e se abre novamente, por isso tive que escrevê-lo assim. O problema é que apenas uma ordem de compra e venda é aberta e tudo o mais é silencioso. Agradeço antecipadamente.

//+------------------------------------------------------------------+
//| Open Order Buy                                                   |
//+------------------------------------------------------------------+
if (!OrdersTotal()==true)
{
if (PLO0>S0 && PLO1<=S1 && PLO2<S2)
if (!OrdersHistoryTotal()==true)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
if (OrdersHistoryTotal()==true)
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderCloseTime()>0 && OrderType()==OP_BUY && OrderSymbol()==Symbol()&& PLO0>S0 && PLO1<=S1 && PLO2<S2 && OrderCloseTime()< Time[0])
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
if (OrdersHistoryTotal()==true)
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderCloseTime()>0 && !OrderType()==OP_BUY && OrderSymbol()==Symbol()&& PLO0>S0 && PLO1<=S1 && PLO2<S2)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
}