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

 
Craft:

Boa tarde, tentando descobrir como escrever uma EA. Peguei o modelo EA do artigo no site mql4, adicionei minhas próprias condições para entender a depuração e a funcionalidade, e entrei em condições para abrir posições:

Adicionei minhas próprias condições (ou alterei as existentes) para garantir que as ordens fossem executadas por fakut.

ver três postos acima - analisar apenas barras formadas, a partir de 1
 

ou usar a condição - se não houver ordens abertas na barra zero, não há problema em abrir:

if((OrdersTotal()>0&&iBarShift(OrderOpenTime())>0)||OrdersTotal()==0)
{
   //открываемся
}
 
alsu:
ver três postes acima - analisar apenas barras formadas a partir de 1
Mas para isso o iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1) e prescrito 1 no final, e Open[0] não é alterado durante a barra e eu precisarei dele.
 
Craft:
Mas para isso iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1 ) e prescrito 1 no final e Aberto[0] não é alterado durante a barra e eu precisarei dele.
mas Ask e Bid são alterados a cada tick - é por isso que a condição pode ser acionada várias vezes durante uma barra
 
alsu:
mas Asc e Bid mudam a cada tick - assim a condição pode ser acionada muitas vezes durante uma única barra
O que devemos fazer para que a execução aconteça uma vez, talvez substituí-los por Alto[0] e Baixo[0]? Ou existem outros comandos, talvez a condição de executar uma vez dentro de um bar?
 
Craft:
E quanto à execução uma vez, talvez substituí-los por Alto[0] e Baixo[0]? Ou há outros comandos, talvez a condição para executar uma vez dentro do bar?
Eu já o escrevi acima, não foi?
 
alsu:
Eu já o escrevi acima.

Estive lendo, me diverti com o fundo antes, agora quero tentar o forex. No WelsLab no fundo, isto é fácil de fazer via stop:

MyATR = SMA.Series((((HighLow)/Low), PerB)[i-1] ;

se (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

Isso não pode ser feito no MetaTrader?

 
Craft:

Estive lendo, me diverti com o fundo antes, agora quero tentar o forex. No WelsLab no fundo, isto é fácil de fazer via stop:

MyATR = SMA.Series((((HighLow)/Low), PerB)[i-1] ;

se (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

Isto não pode ser feito no MetaTrader?

Não, isso não vai funcionar. apenas através da análise do histórico de pedidos. é assim que nosso MQL é - não é muito bom, mas tem suas próprias características :)))) é por isso que a maioria das funções úteis são manuscritas.
 
alsu:
Não, isso não vai funcionar. apenas através da análise do histórico de pedidos. é assim que nosso MQL é - não é muito bom, mas tem suas próprias características :)))) por isso a maioria das funções úteis são escritas à mão.
Não me importo. Posso ter um exemplo de trabalho ou um link?
 
Craft:
Não me importo, posso ter um exemplo de trabalho ou um link?
Vou sair esta noite, ou talvez alguém me dê um mais cedo.