Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1338
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Vou fazer a pergunta de forma mais correta.
Há um bloco de código que explica ao Consultor Especialista quantas negociações ele precisa abrir. É assim que parece
int OPEN=1;
if(OrdensTotal())
OPEN=0; // não podem ser abertas mais ordens
if(OPEN===1)
{
//abrir aqui
}
O problema é que ele abre o número necessário de acordos (1 neste exemplo) para todos os símbolos. E eu preciso explicar a ele
que precisa abrir este número de acordos sobre o instrumento CURRENT . Algo como _Símbolo ou Símbolo (). Como isso pode ser feito? Eu acho que a solução é simples.
Vou fazer a pergunta de forma mais correta.
Há um bloco de código que explica ao Consultor Especialista quantas negociações ele precisa abrir. É assim que parece
int OPEN=1;
if(OrdensTotal())
OPEN=0; // não podem ser abertas mais ordens
if(OPEN===1)
{
//abrir aqui
}
O problema é que ele abre o número necessário de acordos (1 neste exemplo) para todos os símbolos. E eu preciso explicar a ele
que precisa abrir este número de acordos sobre o instrumento CURRENT . Algo como _Símbolo ou Símbolo (). Como isso pode ser feito? Eu acho que a solução é simples.
Explode um inferno de muitos negócios, e em uma venda
bem, há duas opções:
1. mostrar todo o código
2. aderir ao telepath club
bem, há duas opções:
1. mostrar o código completo
2. aderir ao telepath club:)
:)
Descobri como abrir tanto a compra quanto a venda. Mas o número de acordos não se abre em cada tick
int start()
{
double a=iOpen(NULL,PERÍODO_D1,0);
duplo d=_ORDER*0.00001;
duplo c=d+1;
duplo s=c*a;
limite duplo= NormalizarDuplo(s,_Dígitos);
// Imprimir("nível limite= ",limite);
duplo e=_STOP*0.00001;
duplo n=e+1;
duplo m=n*a;
duplo SL= NormalizeDuplo(m,_Dígitos);
//Print("stop level= ",SL);
duplo p=_TP*0.00001;
duplo f=p+1;
duplo z=f*a;
duplo TP= NormalizeDuplo(z,_Dígitos);
duplo w=iOpen(NULL,PERÍODO_D1,0);
duplo q=_ORDER*0.00001;
duplo j=q+1;
duplo v=w/j;
limite duplo1= NormalizeDuplo(v,_Dígitos);
// Imprimir("nível limite= ",limite);
duplo k=_STOP*0.00001;
duplo y=k+1;
duplo u= p/p/y;
duplo SL1= NormalizeDuplo(u,_Dígitos);
//Print("stop level=",SL);
duplo g=_TP*0.00001;
duplo _f=g+1;
duplo _m=w/_f;
duplo TP1= NormalizeDuplo(_m,_Dígitos);
if(Hora()==Nac)
{
if(iOpen(NULL,PERÍODO_D1,0)<iOpen(NULL,PERÍODO_D1,1))
{
if(!isTradeToDay(Símbolo()))
{
int ticket1=OrderSend(Symbol(),OP_SELLSTOP,1.5,limit1,3,SL1,TP1,NULL,0,0,clrRRed); //abrir aqui
}
}
if(iOpen(NULL,PERIOD_D1,0)>iOpen(NULL,PERIOD_D1,1))
{
if(isTradeToDay(Símbolo()))
{
int ticket=OrderSend(Symbol(),OP_BUYSTOP,1.5,limit,3,SL,TP,NULL,0,0,0,clrBlueViolet); //abrir aqui
}
}
}
if(Hora()==Kon)
{
resultado da bool;
erro int;
//----
while(OrdensTotal()>0)
{
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS),3,CLR_NONE);
if(OrderType()==OP_SELL)
result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
if(OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLLIMIT || OrderType()==OP_SELLSTOP)
OrderDelete(OrderTicket());
if(resultado!=TRUE)
{
erro=GetLastError();
Imprimir("LastError = ",error, ",Symbol());
}
senão
erro=0;
}
senão
Print("Error when order select ", GetLastError());
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
retorno(0);
}
Aqui está o código sem nenhuma variável declarada.
o código deve ser inserido Alt+S
e onde está a função ?
como você a compila ? sem erros ?
o código deve ser inserido Alt+S
e onde está a função ?
como você a compila ? sem erros ?
A função está no fundo. A compilação é sem erros. O lado da venda conseguiu ajustar uma negociação em um instrumento específico, mesmo que haja abertura em outro
instrumentos. Mas o lado da baía atira em cada carrapato e é isso
O código precisa ser inserido Alt+S
e onde está a função ?
como foi compilado ? sem erros ?
No momento, o código é assim. Vender tudo bem, mas comprar lado cada carrapato é uma troca
no lado da compra, a mesma coisa deve ser feita
o mesmo deve ser feito no lado da compra
Não consigo descobrir o que deve ser mudado na função isTradeToDay para torná-la igual no lado da compra e no lado da venda. Ainda assim o lado da compra não funciona :(