Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 676

 

Artyom Trishkin:

Parece que trabalhei demais...

Parece que... ))))))

Quando você cria uma EA de acordo com as instruções na ajuda e tutoriais de todos os tipos, ela cria exatamente o modelo em questão. Foi assim que eu entendi. Em seguida, alguns lugares neste modelo são corrigidos. Eu pessoalmente não gosto que OnDeinit() fique diante de OnTick() e eu o mudei para o fim do código. Eu também não gosto de alguns não essenciais .... De qualquer forma, eu tenho meus próprios bichinhos na cabeça.

 
Andrey Sokolov:

É óbvio, eu também estou interessado no modelo em si.

cerca de 5 anos atrás, exatamente era um modelo na metaeditora de pastas, antes de regras para mim mesmo, agora cavado tudo no terminal de pastas - não encontrei, mas deveria estar em algum lugar, havia um arquivo de texto simples

ZS:

encontrei meus antigos terminais, não na distribuição - já implantados

costumava haver modelos/indicadores/scrições/libris especializados, tudo estava a caminho:

....\i1: modelos de especialistas

e os arquivos foram localizados ali:

Incluir.mqt

Biblioteca.mqt

Especialista.mqt

Indicador.mqt

Script.mqt


Eu tentei copiar a pasta dos modelos para a pasta do MT4 instalado... sem sorte (((

Arquivos anexados:
templates.zip  7 kb
 
Igor Makanu:

há cerca de 5 anos atrás havia um modelo na pasta do meta editor, eu costumava editá-lo por mim mesmo, agora procurei na pasta terminal e não consegui encontrá-lo, mas deve estar em algum lugar, era apenas um simples arquivo de texto

ZS:

encontrei meus antigos terminais, não na distribuição - já implantados

costumava haver modelos/indicadores/scrições/libris especializados, tudo estava a caminho:

....\i1: modelos de especialistas

e os arquivos foram localizados ali:

Incluir.mqt

Biblioteca.mqt

Especialista.mqt

Indicador.mqt

Script.mqt


Eu tentei copiar a pasta dos modelos para a pasta do MT4 instalado... sem sorte (((

Faz muito tempo que os MCs abandonaram tais modelos.

 
Igor Makanu:

há cerca de 5 anos atrás havia um modelo na pasta do meta editor, eu costumava editá-lo por mim mesmo, agora procurei na pasta terminal e não consegui encontrá-lo, mas deve estar em algum lugar, era apenas um simples arquivo de texto

ZS:

encontrei meus antigos terminais, não na distribuição - já implantados

costumava haver modelos/indicadores/scrições/libris especializados, tudo estava a caminho:

....\i1: modelos de especialistas

e os arquivos foram localizados ali:

Incluir.mqt

Biblioteca.mqt

Especialista.mqt

Indicador.mqt

Script.mqt


Eu tentei copiar a pasta dos modelos para a pasta do MT4 instalado... Infelizmente, nada (((

Infelizmente, mais uma vez "infelizmente, nem pensar" - mesmo dentro do MT4!

Eu não entendo o que está acontecendo!

Igor!

Você precisa "reflash"!

Caso contrário, não seria uma coisa boa! Eles dizem coisas diferentes sobre você no Fórum!!!

 
Igor Makanu:

Não importa o que as pessoas dizem sobre você, o que importa é o que as pessoas dizem sobre você. (С)

Ao citar os pensamentos de pessoas inteligentes (em oposição a você mesmo) - você deve fazer uma referência!!!

De acordo com as regras das publicações, deve ser assim. Para distinguir os tolos dos inteligentes.

https://socratify.net/quotes/iuristy-bostona/171580

Embora Mussolini tenha dito a mesma coisa.

Не важно, что о тебе говорят, главное, что о тебе говорят
  • socratify.net
Если хочешь узнать человека, не слушай, что о нём говорят другие, послушай, что он говорит о других. Не важно, что тебе скажут другие о начале твоего пути. Важно, что они скажут после того когда ты добьешься своей цели. Вы знаете, что такое обаяние? Умение почувствовать, как тебе говорят «да», хотя ты ни о чем не спрашивал. Настоящий друг — это...
 
neverness:

Ao citar os pensamentos de pessoas inteligentes (ao contrário de você mesmo), você deve fazer uma referência!!!

É assim que deve ser pelas regras de publicação. Para distinguir os tolos dos inteligentes.

Estamos agora na base do primeiro nome? OK

Você escolheu o fórum errado para ventilar sua bile, como você pediu: "É engraçado ver um homem que quer ofendê-lo. Como um macaco atirando cocô. Você está atrás do vidro e ele tem todas as patas no ***" (internet)

 
Igor Makanu:

SELECT_BY_POS é selecionar um pedido "por fila" na lista de pedidos, e em seu projeto:

Você está tentando selecionar uma ordem que é por ordem de fila # ... e você está usando o bilhete # aqui e só tem 1 pedido e bilhete # 10023444... então o que ? aqui você precisa de um número de 1 a 2,3 ... bem, quantos pedidos você tem no mercado,... corrigiu o número de 0,1,2 ... - A numeração começa com 0 e vai atéOrderTotal()-1...

SELECT_BY_TICKET deve funcionar, mas somente até o momento em que você tiver o número do bilhete, ou seja, a ordem que você tem no mercado, e acima você tem um cheque para envio da ordem, e se a ordem não for enviada, o bilhete = -1 !

E em resumo, seu projeto para trabalhar com pedidos não está correto. Se você decidiu estudar MQL, aqui estão exemplos prontos para trabalhar com pedidoshttps://www.mql5.com/ru/forum/131859

Obrigado pela ajuda! A questão é que o pedido foi aberto. Eu verifiquei. O bilhete foi designado. Mas mais adiante, ao tentar selecioná-lo, recebi uma mensagem -1. Ao contrário do exemplo que você deu, eu não estou selecionando um símbolo, etc. Tenho 1 pedido, com um lote conhecido, transação, sem Stop Loss/Take Profit, etc. É neste projeto (é escolhido por simplicidade) que recebo um erro 4051 ao utilizar o parâmetro SELECT_BY_TICKET. Entendo que o uso do SELECT_BY_POS neste caso não é correto. Esta foi uma experiência para entender melhor como funciona o testador de estratégia. Esta experiência mostrou que o testador de estratégia não atribui bilhetes alocados pelo servidor quando não pode entrar em contato com o servidor, mas simplesmente atribui números ordinais. No entanto, a questão permanece quanto ao porquê do erro 4051. Além disso, tentei colocar 0 em OrderSelect em combinação com SELECT_BY_POS como o primeiro parâmetro. A resposta é a mesma 4051.
 
ski1973:
Obrigado pela ajuda! A questão é que o pedido foi aberto. Eu verifiquei. Foi designado um bilhete. Mas além disso, recebi uma mensagem -1 ao tentar selecioná-la. Ao contrário do exemplo que você deu, eu não estou selecionando um símbolo, etc. Tenho 1 pedido, com um lote conhecido, transação, sem Stop Loss/Take Profit, etc. É neste projeto (é escolhido por simplicidade) que recebo um erro 4051 ao utilizar o parâmetro SELECT_BY_TICKET. Entendo que o uso do SELECT_BY_POS neste caso não é correto. Esta foi uma experiência para entender melhor como funciona o testador de estratégia. Esta experiência mostrou que o testador de estratégia não atribui bilhetes alocados pelo servidor quando não pode entrar em contato com o servidor, mas simplesmente atribui números ordinais. No entanto, a questão permanece quanto ao porquê do erro 4051. Além disso, tentei colocar 0 em OrderSelect em combinação com SELECT_BY_POS como o primeiro parâmetro. A resposta é a mesma 4051.

Se não estou enganado, o testador de estratégia gera bilhetes simplesmente por fila de pedidos: 1,2,3...

infelizmente, você mesmo precisa procurar o erro 4051, reimprimir todas as variáveis que você passa para OrderSelect

Alternativamente, você já selecionou uma ordem fechada e o tempo de fechamento da ordem fechada será >0,

Mas ainda assim eu aconselharia a começar a estudar com códigos já existentes (de trabalho), para mim foi mais fácil!

 
ski1973:
Obrigado por sua ajuda! A questão é que o pedido foi aberto. Eu verifiquei. O bilhete foi designado. Mas mais adiante, ao tentar selecioná-lo, recebi uma mensagem -1. Ao contrário do exemplo que você deu, eu não estou selecionando um símbolo, etc. Tenho 1 pedido, com um lote conhecido, transação, sem Stop Loss/Take Profit, etc. É neste projeto (é escolhido por simplicidade) que recebo um erro 4051 ao utilizar o parâmetro SELECT_BY_TICKET. Entendo que o uso do SELECT_BY_POS neste caso não é correto. Esta foi uma experiência para entender melhor como funciona o testador de estratégia. Esta experiência mostrou que o testador de estratégia não atribui bilhetes alocados pelo servidor quando não pode entrar em contato com o servidor, mas simplesmente atribui números ordinais. No entanto, a questão permanece quanto ao porquê do erro 4051. Além disso, tentei colocar 0 em OrderSelect em combinação com SELECT_BY_POS como o primeiro parâmetro. A resposta é a mesma 4051.

Você tem um problema em seu código.

double Lots=0.01;
int slippage=30;


void OnTick()
{
int numer=-10;//На каждом новом тике из за этого присвоения процедура Subr2 будет возвращать ошибку!!!
if(OrdersTotal()==0)numer=Subr1();
if(OrdersTotal()>0)Subr2(numer);
return;
}

int Subr1()
{
int result=-1;
int_result=OrderSend(_symbol,OP_BUY,Lots,slippage,0,0);
if(int_res<0){PrintFormat("OrderSend error = ",GetError());}
return int_result;
}
void Subr2(int order)
{
if(!OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)){PrintFormat("OrderSelect error %d",GetLastError());return;} else PrintFormat("Ok, OrderTicket = ",OrderTicket());
}
 
olá, alguma informação sobre se o mql4 será suportado no futuro, quando parece que as vendas do mt4 pararam?