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
Kikousi,
Você pode querer testar por si mesmo as melhores coordenadas. FerruFX e CJA têm usado as melhores soluções de ter posições de canto padrão com entradas de usuário para a colocação de objetos. Você também pode querer olhar para OBJPROP_CORNER
Além disso, por favor, tente não postar o mesmo pedido que você fez. Os usuários vêem seu posto, e se alguém puder ajudá-lo, eles o ajudarão.
Obrigado
Edição: Usando a propriedade de canto 0 é superior esquerdo, 1 é superior direito, 2 inferior esquerdo, 3 inferior direito. É a contagem 0.
Ajuda na depuração da minha EA
Olá. Desculpe se este é o fórum errado para postar e, por favor, conserte se for.
Programei minha própria EA e tenho alguns problemas com o preenchimento de pedidos e paro de pedidos de perda. Alguém poderia ajudar? Eu posso compartilhar o EA.
Obrigado
codobro,
Muito obrigado por sua amável resposta.
A partir de agora, não colocarei a mesma pergunta novamente.
Aprecio sua sugestão.
Neste contexto, entendo que a posição superior esquerda é (0,0) , then What é a indicação da posição inferior direita naquele momento?
Por exemplo, posso usar (250.350) para a indicação da posição inferior direita quando a posição superior esquerda for (0,0) ?
Agradeço antecipadamente por sua compreensão mais amável do acima exposto.
Gráfico indicador que não mostra todos os dados
Hi
Sou bastante bom na programação C, mas começando pela MQL4.
Acabei de fazer meu primeiro indicador e ele mostra uma matriz em parte na janela separada.
Em parte quero dizer, se você rolar para a esquerda, então por alguns períodos de tempo nada é exibido, e se eu rolar mais para a esquerda, então os dados que eu exibi por alguns períodos e assim por diante.
Se você rolar para a direita, então os mesmos períodos de tempo não são mostrados.
Caso contrário, não vejo nenhum padrão.
Além disso, se eu passar de 1 minuto, onde eu vejo alguns dados, para dizer 5 minutos, então nada é mostrado.
Por que todos os dados não são mostrados? O que eu poderia ter perdido?
Boa EA - AJUDA NECESSÁRIA
Hai,
Há alguém neste grande fórum, que poderia modificar esta EA sem nenhuma perda parada.
Obrigado
//---- parâmetros de entrada ---------------------------------------------+
INCREMENTO externo=35;
duplo LOTES externo=0,1;
externo int NÍVEIS=3;
duplo externo MAX_LOTS=99;
externo int MAGIC=1803;
extern bool CONTINUE=true;
extern bool MONEY_MANAGEMENT=false;
extern int RISK_RATIO=2;
//+------------------------------------------------------------------+
bool UseProfitTarget=false;
bool UsePartialProfitTarget=falso;
int Target_Increment = 50;
int First_Target = 20;
bool UseEntryTime=false;
int EntryTime=0;
//+------------------------------------------------------------------+
bool Enter=verdadeiro;
int nextTP;
int init()
{
//+------------------------------------------------------------------+
nextTP = First_Target;
//+------------------------------------------------------------------+
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização especializada |
//+------------------------------------------------------------------+
int deinit()
{
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{
int ticket, cpt, lucro, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;
dobro LucroTarget=INCREMENTO*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;
//----
if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;
if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);
if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))
{
Comentário ("Não há margem livre suficiente para começar");
retornar(0);
}
for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())
{
total++;
if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());
if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)
{
double val=getPipValue(OrderOpenPrice(),OrderType());
takeProfit(val,OrderTicket());
}
}
}
if(total<1 && Enter && (!UseEntryTime ||| (UseEntryTime && Hour()==EntryTime)))
{
if(AccountFreeMargin()<(100*LOTS))
{
Imprimir ("Não há margem livre suficiente para começar");
retornar(0);
}
// - Verificação aberta - Ciclo de início
InitialPrice=Ask;
SellGoal=InitialPrice-(LEVELS+1)*INCREMENT*Point;
BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*Point;
for(cpt=1;cpt<=LEVELS;cpt++)
{
OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*InCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*InCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
} // instalação inicial feita - todos os canais são instalados
senão // Temos pedidos em aberto
{
BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Ponto;
SellGoal=InitialPrice-INCREMENT*(LEVELS+1)*Ponto;
total=OrdensHistóriaTotal();
for(cpt=0;cpt<total;cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}
}
if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}
BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);
SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice);
if(BuyGoalProfit<ProfitTarget)
// - Compra de Lotes de Incrimentos
{
for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)
{
if(Ask<==(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*InCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;
}
}
if(SellGoalProfit<ProfitTarget)
// - Venda de Lotes de Incremento
{
for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)
{
if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;
}
}
}
//+------------------------------------------------------------------+
Comentário ("mGRID EXPERT ADVISOR ver 2.0\n"),
"FX Acc Server:",AccountServer(),"\n",
"Data: ",Mês(),"-",Dia(),"-",Ano()," Hora do servidor: ",Hora(),":",Minuto(),":",Segundos(),"\n",
"Tamanho mínimo do lote: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",
"Saldo da conta: $",AccountBalance(),"\n",
"Símbolo": "Símbolo(),"\n",
"Preço: ",NormalizeDuplo(Bid,4),"\n",
"Pip Spread": ",MarketInfo("EURUSD",MODE_SPREAD),"\n",
"Increment=" + INCREMENT,"\n",
"Muitos: ",LOTES,"\n",
"Níveis": + NÍVEIS","\n");
retorno(0);
}
//+------------------------------------------------------------------+
int CheckProfits(duplo LOTES, int Goal, bool Corrente, duplo Preço Inicial)
{
int lucro=0, cpt;
if(Corrente)//retorno lucro corrente
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;
}
}
retorno(lucro);
}
senão
{
if(Goal===OP_BUY)
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderOrderLots()/LOTS;
if(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderOrderLots()/LOTS;
}
}
retorno(lucro);
}
senão
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
}
}
retorno(lucro);
}
}
}
Bool EndSession()
{
int cpt, total=OrdensTotal();
for(cpt=0;cpt<total;cpt++)
{
Sleep(3000);
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());
caso contrário if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);
caso contrário se(OrderSymbol()==Symbol() && OrderType()==OP_SELLL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
if(!CONTINUE) Enter=false;
return(true);
}
duplo getPipValue(duplo ord,int dir)
{
val. duplo;
RefreshRates();
if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));
else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));
val = val/Ponto;
return(val);
}
//========== FUNCTION takeProfit
void takeProfit(int current_pips, int ticket)
{
if(OrderSelect(ticket, SELECT_BY_TICKET))
{
if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))
{
if(OrderType()==1)
{
if(OrderClose(ticket, MAX_LOTS, Ask, 3))
nextTP+=Target_Increment;
senão
Imprimir("Pedido de fechamento de erro : ",GetLastError());
}
senão
{
if(OrderClose(ticket, MAX_LOTS, Bid, 3))
nextTP+=Target_Increment;
senão
Imprimir("Pedido de fechamento de erro : ",GetLastError());
}
}
}
}
Hai,
Há alguém neste grande fórum, que poderia modificar esta EA sem nenhuma perda parada.
Obrigado
//---- parâmetros de entrada ---------------------------------------------+
INCREMENTO externo=35;
duplo LOTES externo=0,1;
externo int NÍVEIS=3;
duplo externo MAX_LOTS=99;
externo int MAGIC=1803;
extern bool CONTINUE=true;
extern bool MONEY_MANAGEMENT=false;
extern int RISK_RATIO=2;
//+------------------------------------------------------------------+
bool UseProfitTarget=false;
bool UsePartialProfitTarget=falso;
int Target_Increment = 50;
int First_Target = 20;
bool UseEntryTime=false;
int EntryTime=0;
//+------------------------------------------------------------------+
bool Enter=verdadeiro;
int nextTP;
int init()
{
//+------------------------------------------------------------------+
nextTP = First_Target;
//+------------------------------------------------------------------+
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização especializada |
//+------------------------------------------------------------------+
int deinit()
{
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{
int ticket, cpt, lucro, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;
dobro LucroTarget=INCREMENTO*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;
//----
if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;
if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);
if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))
{
Comentário ("Não há margem livre suficiente para começar");
retornar(0);
}
for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())
{
total++;
if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());
if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)
{
double val=getPipValue(OrderOpenPrice(),OrderType());
takeProfit(val,OrderTicket());
}
}
}
if(total<1 && Enter && (!UseEntryTime ||| (UseEntryTime && Hour()==EntryTime)))
{
if(AccountFreeMargin()<(100*LOTS))
{
Imprimir ("Não há margem livre suficiente para começar");
retornar(0);
}
// - Verificação aberta - Ciclo de início
InitialPrice=Ask;
SellGoal=InitialPrice-(LEVELS+1)*INCREMENT*Point;
BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*Point;
for(cpt=1;cpt<=LEVELS;cpt++)
{
OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*InCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*InCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
} // instalação inicial feita - todos os canais são instalados
senão // Temos pedidos em aberto
{
BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Ponto;
SellGoal=InitialPrice-INCREMENT*(LEVELS+1)*Ponto;
total=OrdensHistóriaTotal();
for(cpt=0;cpt<total;cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}
}
if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}
BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);
SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice);
if(BuyGoalProfit<ProfitTarget)
// - Compra de Lotes de Incrimentos
{
for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)
{
if(Ask<==(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*InCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;
}
}
if(SellGoalProfit<ProfitTarget)
// - Venda de Lotes de Incremento
{
for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)
{
if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;
}
}
}
//+------------------------------------------------------------------+
Comentário ("mGRID EXPERT ADVISOR ver 2.0\n"),
"FX Acc Server:",AccountServer(),"\n",
"Data: ",Mês(),"-",Dia(),"-",Ano()," Hora do servidor: ",Hora(),":",Minuto(),":",Segundos(),"\n",
"Tamanho mínimo do lote: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",
"Saldo da conta: $",AccountBalance(),"\n",
"Símbolo": "Símbolo(),"\n",
"Preço: ",NormalizeDuplo(Bid,4),"\n",
"Pip Spread": ",MarketInfo("EURUSD",MODE_SPREAD),"\n",
"Increment=" + INCREMENT,"\n",
"Muitos: ",LOTES,"\n",
"Níveis": + NÍVEIS","\n");
retorno(0);
}
//+------------------------------------------------------------------+
int CheckProfits(duplo LOTES, int Goal, bool Corrente, duplo Preço Inicial)
{
int lucro=0, cpt;
if(Corrente)//retorno lucro corrente
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;
}
}
retorno(lucro);
}
senão
{
if(Goal===OP_BUY)
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderOrderLots()/LOTS;
if(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderOrderLots()/LOTS;
}
}
retorno(lucro);
}
senão
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
}
}
retorno(lucro);
}
}
}
Bool EndSession()
{
int cpt, total=OrdensTotal();
for(cpt=0;cpt<total;cpt++)
{
Sleep(3000);
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());
caso contrário if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);
caso contrário se(OrderSymbol()==Symbol() && OrderType()==OP_SELLL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
if(!CONTINUE) Enter=false;
return(true);
}
duplo getPipValue(duplo ord,int dir)
{
val. duplo;
RefreshRates();
if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));
else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));
val = val/Ponto;
return(val);
}
//========== FUNCTION takeProfit
void takeProfit(int current_pips, int ticket)
{
if(OrderSelect(ticket, SELECT_BY_TICKET))
{
if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))
{
if(OrderType()==1)
{
if(OrderClose(ticket, MAX_LOTS, Ask, 3))
nextTP+=Target_Increment;
senão
Imprimir("Pedido de fechamento de erro : ",GetLastError());
}
senão
{
if(OrderClose(ticket, MAX_LOTS, Bid, 3))
nextTP+=Target_Increment;
senão
Imprimir("Pedido de fechamento de erro : ",GetLastError());
}
}
}
}Hi
aqui você vai
jdun,
O código de SL & TP já está escrito neste EA:
Vejam estas linhas:
PipsForEntry= 13;
TrailingStop = 40;
TakeProfit = 45;
InitialStopLoss=33;
} else if (Symbol()=="EURUSD") {
PipsForEntry= 13;
TrailingStop = 30;
TakeProfit = 45;
InitialStopLoss=23;
} else if (Symbol()=="USDCHF") {
PipsForEntry= 13;
TrailingStop = 30;
TakeProfit = 45;
InitialStopLoss=15;
} else {
PipsForEntry= 13;
TrailingStop = 30;
TakeProfit = 45;
InitialStopLoss=30;
} [/PHP]
If you want to make SL & TP external variables which you can set, you have to comment the above lines of code and uncomment these lines:
[PHP]/*
extern int PipsForEntry= 5;
extern double TrailingStop = 40;
extern double TakeProfit = 120;
extern double InitialStopLoss=50;
*/máximo comércio por sinais
Alguém sabe o que eu usaria para limitar o número de trocas por sinal (eu gostaria de 1 troca por sinal, mas estou ficando como 8 e o último sempre é um perdedor)
Ajuda
Hai,
Ainda há um stop loss
Olá, aqui você vai
EA c/ múltiplos CUSTOM times ?
Eu percebo que uma EA pode ser feita c/ múltiplos períodos de tempo, MAS uma pode ser escrita c/ tempos personalizados ? Eu tenho um EA c/ horários personalizados, mas preciso de horários personalizados e não de horários padrão para que eles não "alinhem" com tanta freqüência.
Saudações