Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 538

 
Valerius:
Acabei de colocar o texto e o código, e o código é listado como código. Não sei como funciona o resto do código. Se deve ser realçado, não é uma questão para mim, mas para os programadores do site.
Fazem isto:inserem o código correctamente no fórum ou fazem-no de forma diferente?
 
Sim, é. Mas talvez o meu navegador seja antigo!
 
Karputov Vladimir:
Tenho uma contra-pergunta - como conseguem inserir código??? Olha, eu inseri o código correctamente - os operadores são destacados. E quanto a si? Há linhas desnecessárias, os operadores não são destacados. Estou curioso, o que se faz com o código, antes de o colar?

A sequência de operações é a seguinte:

1. Inserir código copiado de ME

2. Seleccioná-lo

3. Seleccione o tipo de texto

код

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
     Comment("");
}/*******************************************************************/

E nenhum destaque...

Ou selecciona o código do tipo de texto e depois cola aí o código copiado.

E com o SRC é realçado.

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
  if(IsTesting())
   {
    FolderClean("test", FILE_COMMON);
    FolderDelete("test", FILE_COMMON);
   }
   Comment("");
}/*******************************************************************/
 
Alexey Viktorov:

A sequência de operações é a seguinte:

1. Inserir código copiado de ME

2. Seleccioná-lo

3. Seleccione o tipo de texto

код

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
     Comment("");
}/*******************************************************************/

E nenhum destaque...

Ou seleccione o código do tipo de texto e depois cole aí o código copiado.

E com SRC com destaque.

Espero que tenha descoberto por si próprio que a única forma correcta é a última - via SRC.
 
Karputov Vladimir:
Espero que se tenha apercebido que a única forma correcta é a última - via SRC.

Vladimir, não depende de mim. Uma vez tentei esta forma de inserção por acidente, vi como funcionava e nunca a utilizei sem comentários. E agora acabo de explicar a todos como pode funcionar.

Talvez os administradores do fórum pensem nisso e reatribuam a acção do tipo texto "código" para chamar a janela de inserção de código, ou mudem outra coisa.

 
Alexey Viktorov:

Vladimir, não depende de mim. Uma vez tentei esta forma de inserção por acidente, vi que funcionava, e sem quaisquer comentários nunca a utilizo. E agora acabo de explicar a todos como pode funcionar...

Talvez os administradores do fórum pensem nisso e reatribuam a acção do tipo texto "código" para chamar a janela de inserção de código, ou mudem outra coisa.

Mais todas as patas. Gato.
 
ndkmak:
Por que razão não existe agora uma confirmação manual nos Conselheiros? Não os usar?
Não sou certamente um batedor, mas isso não importa. Então devo confiar agora em todos os EAs? Afinal de contas, os testes não são uma garantia a 100%.
 
ndkmak:
Não sou um batedor, claro, mas não importa. Então devo confiar agora em todos os conselheiros? Afinal de contas, os testes não são uma garantia a 100%.
De que serve ter um Expert Advisor se tiver de se sentar à frente do monitor e confirmar sempre as transacções? Trabalhar com um Expert Advisor totalmente automatizado pressupõe que uma pessoa não está envolvida, a excepção é uma pessoa semi-automatizada.
 
ajudar-me a corrigir o erro '}'. - fim inesperado do programtma2.mq41245

{' - parênteses desequilibrados tma2.mq4 48 1


Exterior int TakeProfit =100;
StopLoss int externo =50;
Lotes duplos externos = 0,01;
deslize externo int =5;
comentário de cadeia externa = "Vender";
int Megic exterior = 123;
cadeia externa Indi = "dados indicadores";
String externo TimeFrame = "actual horizonte temporal";//corrente temporal
Exterior em Meio Comprimento = 56;
preço int externo = PREÇO_CLOSE;
duplo ATRMultiplicador externo = 2.0;
período ATRP externo interno = 100;
bool exterior Interpolar = verdadeiro;

duplo PriceHigh, PriceLow, SL, TP;
int ticket;

int init()
{0
if(Dígitos==3|| Dígitos===5)
{


TakeProfit*=10;
StopLoss*=10;
Slippage*=10;


}

return(0);

}

int start()

{0
PriceHigh= iCustom(Symbol(),0, "TMA with Distancer",TimeFrame,HalfLrame,Price, ATRMultiplier,ATRPeriod, Interpolate,1,0);
PriceLow= iCustom(Symbol(),0, "TMA with Distancer",TimeFrame,HalfLrame,Price, ATRMultiplier,ATRPeriod, Interpolate,2,0);

if(Bid>==(PriceHigh);
{
SL=NormalizeDouble(Bid+StopLoss*Point,Dígitos);
TP=NormalizeDouble(Bid-TakeProfit*Point,Dígitos);


ticket=OrderSend(Simbol(),OP_SELL,Lots,Bid,Slippage,0,0,comment,123,0,Maroon);




if(bilhete>0);

{
se (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==verdadeiro);

OrderModify(ticket,OrderOpenPrice,ST,TP,0);

}
}


if(Pergunta<0);
{
ST=NormalizeDouble(Ask-StopLoss*Point,Dígitos);
TP=NormalizeDouble(Ask+TakeProfit*Point,Dígitos);

ticket=OrderSend(Simbol(),OP_BUY,Lots,Ask,Slippage,0,0,comment,123,0,clrDarkBlue);



if(bilhete>0);

{
se (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==verdadeiro);

OrderModify(ticket,OrderOpenPrice,ST,TP,0);

}
return(0);

}

int CountSell()
{
int contagem=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if(OrderType()==OP_SELL)count====;
}
}
devolução(contagem);
}


int CountBuy()
{
int contagem=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if(OrderType()==OP_BUY)count====;
}
}
devolução(contagem);
}0
 

Pode dizer-me como fazê-lo para que, quando o preço atingir o nível SL, a ordem comece a fazer a média?

nulo OnTick()

{

dupla ma;//declararregar uma variável

dupla partida_lote;//declararregar uma variável

ma=iMA(Symbol(),0,10,0,0,0,0,1);//atribuir à variável uma média móvel

se(Pergunta>ma)//se o preço for mais alto que a variável

{

if(OrdersTotal()==0)//if(no open orders

{

OrderSend(Symbol(),OP_BUY,lot,Ask,30,Bid-StopLoss*Point,Ask+TakeProfit*Point,",0,0,clrGreen);

}

}

if(Bid<ma)//

{

if(OrdersTotal()==0)

{

OrderSend(Symbol(),OP_SELL,lot,Bid,30,Ask+StopLoss*Point,Bid-TakeProfit*Point,",0,0,clrRed);

}

//if(Bid)=StopLoss)

{

// lot=NormalizeDouble(start_lot*MathPow(koeficient,sumbay),2)

}

}

}

Razão: