[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 316

 
fore-x:

Favor aconselhar como ensinar o programa a lembrar as últimas variáveis utilizadas. Preciso me lembrar do símbolo, do prazo, da caixa, do verso, da largura e do número de barras. Após as configurações selecionadas por um usuário, elas seriam salvas em algum lugar e, posteriormente, se os parâmetros fossem salvos em algum lugar, elas seriam carregadas de lá. O que usar, o que fazer?

Imprensa F7.

Isto abrirá as propriedades da EA.

Na aba "Parâmetros de entrada", pressione o botão "Salvar".

Você pode carregar os parâmetros salvos da mesma forma.

 

Uma imagem (com o algoritmo) não se encaixa, então eu a anexei.

Aqui está a essência. (1) A EA deve abrir uma ordem e definir sl, tp, lot. (2) Se houve lucro no comércio, ele simplesmente o repete.(3) Se houve prejuízo, ele muda alguns valores e uma nova ordem com eles, e assim por diante, até que haja um comércio lucrativo. (4)Em seguida, restaura os valores iniciais do ponto 1 e rola tudo novamente. Não é possível organizar um ciclo (ponto 3) com saída do mesmo se houvesse lucro no comércio e restaurar os parâmetros iniciais após a saída do mesmo.

 
enya:

A figura (com o algoritmo) não está inserida, por isso a anexei.

parece que você não os tem presos.

Mas na verdade este tópico é para programadores novatos, não para comerciantes novatos.

É aqui que você discute os erros de código.

Você tem pelo menos um esboço do código do seu algoritmo?

 
sergeev:
parece que você não os tem presos.

.

há um problema com o laço e a restauração dos valores iniciais após a saída do laço.

 
Que tipo de esboço pode haver? 10 linhas. A questão é "o que fazer enquanto da VB e como colocar o valor do lucro (resultado) da última ordem em uma variável"?
 
Por favor, informe como se livrar do nome do símbolo de erro para a função MarketInfo deve ser uma cadeia
 
enya:
Que tipo de plano é esse? A pergunta é "o que fazer enquanto analógico da VB e como colocar o valor do lucro (resultado) da última ordem em uma variável?

Leia primeiro o tutorial https://book.mql4.com/ru/

Não há um análogo completo de fazer loop com pré e pós-checagem, mas há um tempo normal (pós-checagem pode ser representado por for).

Os programas não são exatamente lineares, é mais fácil se concentrar nos eventos, em vez de fazer looping no procedimento de partida.

Aqui está um esquema aproximado,

1. conjunto SL,TP...

2. Verifique o número de pedidos abertos, se houver menos de um, um novo pedido é aberto.

A lógica do diagrama de blocos ainda está sofrendo, há muitas perguntas às quais ele não responde. Por exemplo, o que acontecerá se vários EA forem lançados, ou o que acontecerá se reiniciarmos a EA antes de fechar um pedido, etc.?

 
dofer-dert:
Por favor, informe como se livrar do nome do símbolo de erro para a função MarketInfo deve ser uma cadeia

A função MarketInfo precisa de um fio como nome de ferramenta. Por favor, forneça um fio com seu uso.
 

o que poderia estar errado com isto

aqui no código

{

if (lote1 < MarketInfo(NULL,MODE_MINLOT)) {lot1=MarketInfo(NULL,MODE_MINLOT);lot2=lot1*2;lot3=lot1*3;lot4=lot1*4;lot5=lot1*5;

}

ou aqui

STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);

 
 MarketInfo(Symbol(),MODE_MINLOT)
Razão: