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

 
Infinity:

Então como eu faço, por exemplo, se eu pegar um coeficiente de 1 ponto e o RSI for 50, acontece que é 50, mas na verdade foi um achatado. E a vela tem 2 pontos. Em tal caso, como determinar

O preço subiu um cachimbo. Alguns cálculos foram feitos no RSI. Seu valor foi alterado por X. O preço passou por outro preço. O valor do indicador deve mudar novamente pelo mesmo valor x. Tente imprimi-lo - deve ser assim que deve acontecer.
 
xrust:

Entendo que um sinal comercial deve ocorrer quando a linha indicadora cruza a linha de tendência, e não vice-versa, mas você o tem para os dois lados. Armazene valores anteriores da posição da linha de tendência em variáveis estáticas e, se não tiverem mudado - verifique se houve cruzamento, se a linha de tendência mudou de posição - reinicie...

Obrigado, Rustam. Boa idéia! Dizem bem: uma cabeça é boa, mas o corpo é melhor... :)
 
artmedia70:
Obrigado, Rustam. Boa idéia! É verdade o que eles dizem: uma cabeça é boa, mas um corpo é melhor... :)

Olá, você poderia me dizer como visualizar os logs no MT4?
 
LAIT123:

Olá, você poderia me dizer como visualizar os dados da TFG TFG no MT4?

Acho que eu realmente preciso... :) Ou meu mouse está preso...

Pasta de localização MT4/logs

pasta de localização MT4\tester\logs

Tenho-o aqui mesmo:

D:Arquivos de programa MetaTrader - Conta E-Global TFG-1654729

D:\Arquivos de programa/MetaTrader - Conta E-Global TFG-1654729\tester/logs

 

me diga por que os dados não são zerados quando a ordem é acionada? eu escrevi a condição if(tic1>0) corretamente para verificar se a ordem está aberta e eu preciso zerar as variáveis

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double LT=0; //Лот
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUYLIMIT)
   {PR=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;
    if(Lot>0) LT=3*Lot;}
int tic1=OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);
//-----------
if(tic1<0) Print(GetLastError());

if(tic1>0){
   bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
}
//-----------
return(tic1);}
 
FoxUA:

me diga por que os dados não são zerados quando a ordem é acionada? eu escrevi a condição if(tic1>0) corretamente para verificar se a ordem está aberta e eu preciso zerar as variáveis

Se a memória me serve corretamente, estas variáveis já foram declaradas a nível global.

E você os redescobre dentro da função.

bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
Eles só serão visíveis dentro da função. Quando você sair da função, seus valores serão perdidos e aqueles declarados globalmente permanecerão inalterados,
ou seja, você declarou novas variáveis dentro da função, mas aquelas que você quer mudar permanecem fora dela.
Remova o bool e o dobro de seu código acima.
 
artmedia70:
Se a memória me serve corretamente, estas variáveis já foram declaradas globalmente...

E você os redeclare dentro da função.

Eles serão visíveis apenas dentro da função. Quando você sair da função, seus valores serão perdidos e aqueles declarados globalmente permanecerão inalterados,
ou seja, você declarou novas variáveis dentro da função, mas aquelas que você quer mudar permanecem fora dela.
Remova o bool e duplique a parte acima de seu código.

Eu os removi e recebo muitos erros quando compenso

a estas variáveis.

C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 4)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
C:\Program Files\Deltabank Trader 4 Expertos 5.mq4 (143, 4)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 4)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 8)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
C:\Program Files\Deltabank Trader 4 Expertos 5.mq4 (143, 8)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 8)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (144, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (144, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (145, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (145, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (146, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (146, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (148, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (148, 5)

 
FoxUA:

removido e, quando compilado, dá um monte de erros

a estas variáveis

C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 4)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
C:\Program Files\Deltabank Trader 4 Expertos 5.mq4 (143, 4)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 4)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 8)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
C:\Program Files\Deltabank Trader 4 Expertos 5.mq4 (143, 8)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (143, 8)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (144, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (144, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (145, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (145, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (146, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (146, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (148, 5)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
C: Arquivos de programa inesperados DELTABANK Trader 4 Especialistas 5.mq4 (148, 5)

Você já os declarou globalmente fora de sua função? Sim e coloque vírgulas em seu lugar ; Certamente você não mudou as vírgulas para ponto-e-vírgula...
 

Cidadãos!

Você pode me dizer como acessar os dados fora da janela do gráfico no Expert Advisor?

O problema é que, por exemplo, se o número máximo de barras na janela for fixado em 300, então:

1.Função iBarShift("EURUSD",60,TimeBar,falso) teimosamente não quer dar valores superiores a 300 a qualquer valor de "TimeBar".

2. iOpen("EURUSD",60,i) dá zeros se i>300.

etc.

Existe alguma maneira de superar isso?

 

Por favor, me dê o código de função que porá fim uma vez ao nível do breakeven, quando o lucro será, por exemplo, de 20 pips.

Obrigado antecipadamente pela resposta:)