[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 356
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
outra pergunta como adicionar indicadores ao MT4 ?
obrigado
outra pergunta como adicionar indicadores ao MT4 ?
obrigado
A Documentação e o Livro didático não ajudam?
Obrigado, vou verificar agora.
Você pode me dizer por que a EA não está negociando? Coloque em demonstração (sorrisos) - não funciona. Parece ter sido removida a função no início que só permite a comercialização quando se testa.
Lotes duplos externos=1,0;
int externo Início=10;
comprimento externo interno=4;
externo int EOD=24;
Pips externos internos=5;
externo int StopLoss=50;
Exterior int BreakEven=30;
Externo interno TakeProfit=80;
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{
//----
int i,Ticket,LastOrderTime,StartTime,EODTime,Bought=0,Sold=0;
Double EntryLong,EntryShort,SLLong,SLShort,TPLong,TPShort;
//Configurações
se (Symbol()=="EURUSD"){
Início=10;
Comprimento=4;
EOD=24;
Pips=5;
StopLoss=50;
BreakEven=30;
TakeProfit=80;
}
caso contrário se (Symbol()=="GBPUSD"){
Início=10;
Comprimento=4;
EOD=24;
Pips=5;
StopLoss=70;
BreakEven=40;
TakeProfit=120;
}
senão {
Início=10;
Comprimento=4;
EOD=24;
Pips=5;
StopLoss=50;
BreakEven=30;
TakeProfit=80;
}
//Contar tempo
if(Hora()>=Begin-1)
{
StartTime= StrToTime(Begin+":00");
if(DayOfWeek()==5) EODTime = MathMin(StrToTime("22:55"),StrToTime(EOD+":00"))
ou EODTime = StartTime+(EOD-Begin)*3600-60;
}
/Configuração de ordens
if(CurTime()>= StartTime && CurTime()<StartTime+300){
//Determinar o alcance
EntryLong =High[Highest(NULL,0,MODE_HIGH,Length*60/Period(),0)]+(Pips+MarketInfo(Symbol(),MODE_SPREAD))*Ponto;
EntryShort =Low [Mais baixo (NULL,0,MODE_LOW, Length*60/Period(),0)]-Pips*Point;
SLLong =MathMax(EntryLong-StopLoss*Point,EntryShort);
SLShort =MathMin(EntryShort+StopLoss*Point,EntryLong);
TPLong =EntryLong+TakeProfit*Point;
TPShort =EntryShort-TakeProfit*Point;
//Controle de ordens
para (i=0;i<OrdensTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUY)) Comprado++;
if(Bought>1){ //mais de 1 ordem de compra
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket();
}
if(OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLL)) Vendido++;
if(Vendido>1){ //mais de 1 ordem de venda
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
}
}
if(Bought==0){ // sem ordem de compra
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,EntryLong,3,SLLong,TPLong,NULL,0,0,Green);
if(Ticket<0 && GetLastError()==130)
Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLLong,TPLong,NULL,0,0,Green);
GlobalVariableSet("LastOrderTime",OrderOpenTime())
}
if(Sold==0){ // sem ordem de venda
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,EntryShort,3,SLShort,TPShort,NULL,0,0,Green);
if(Ticket<0 && GetLastError()==130)
Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLShort,TPShort,NULL,0,0,Green);
GlobalVariableSet("LastOrderTime",OrderOpenTime())
}
}
//Manejar ordens abertas
para (i=0;i<OrdensTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);
//uzavósenín pozic na konci dne
if(CurTime()>=EODTime){
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
GlobalVariableSet("LastOrderTime",CurTime());
}
//move na BE se lucro>BE
senão {
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY){
if(High[0]-OrderOpenPrice()>=BreakEven*Point && OrderStopLoss()!=OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
GlobalVariableSet("LastOrderTime",CurTime());
}
}
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL){
if(OrderOpenPrice()-Low[0]>=BreakEven*Point && OrderStopLoss()!=OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
GlobalVariableSet("LastOrderTime",CurTime());
}
}
}
}
//Resetar variáveis globais na EOD
if(CurTime()>=EODTime) GlobalVariablesDeleteAll();
retorno(0);
}
//+------------------------------------------------------------------+
Bom dia a todos. Instalei o indicador MT4 FIFTY-ZNAK. iMA dá 4 sinais, mas como receber 5 sinais? Por favor, ajude a entender.
Tem um valor com cinco dígitos. Para ver seu valor, use
string DoubleToStr( valor duplo , dígitos int )
Converter um valor numérico em uma cadeia de texto contendo uma representação de caracteres de um número em um formato de precisão especificado.Parâmetros:
valor - Valor do ponto flutuante.
dígitos - Número de dígitos após a vírgula decimal (0-8).
Romano ... Prazer em vê-lo. Tentei, não funciona, não entendo o que está errado, visualmente há uma história para o período acima, mas quando testado, não há??? :/
Como você indica ao programa que a barra tocou a média móvel? Você não precisa de um valor máximo ou mínimo, você precisa mostrar um toque.
Como você indica ao programa que a barra tocou a média móvel? Você não precisa de um valor máximo ou mínimo, você precisa mostrar um toque.