Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 149
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
Boa tarde.
Você pode me dizer como encontrar a barra certa por data e hora, sem passar por todas as barras uma a uma?
Boa tarde.
Você pode me dizer como encontrar a barra certa por data e hora, sem passar por todas as barras uma a uma?
Leia sobre o iBarShift
int TotalPos=-1;
início nulo()
{
// o resto do código
//--
if(OrdersTotal()!=TotalPos) { // não torturar cada carrapato
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
História();
}
}}} TotalPos=OrdensTotal(); // lembrar quantidade
//--
}
Histórico nulo() {
string Ticket=(string)OrderTicket();
color col=Red;
if(OrderType()==0)col=Blue;
datatime a=OrderOpenTime();
duplo b=OrdemOpenPrice();
datetime c=OrderCloseTime();
duplo d=OrderClosePrice();
duplo prSep=OrderProfit()+OrderComission()+OrderSwap();
duplo prAll=0;
int cn=0;
hTicket de corda;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
datetime ct=OrderCloseTime();
// Diferença de 60 segundos entre o fechamento da primeira e última ordem na grade
if(c<=ct+60 && c>=ct-60) {
prAll+=OrderProfit()+OrderComission()+OrderSwap();
hTicket=(string)OrderTicket();
cn++;
}
}}}
ObjectCreate(Ticket+"Open",OBJ_ARROW,0,a,b);
ObjectSet(Ticket+"Open",OBJPROP_COLOR,col);
ObjectSet(Ticket+"Open",OBJPROP_ARROWCODE,1);
ObjectCreate(Ticket+"Line",OBJ_TREND,0,a,b,c,d);
ObjectSet(Ticket+"Line",OBJPROP_COLOR,col);
ObjectSet(Ticket+"Line",OBJPROP_WIDTH,1);
ObjectSet(Ticket+"Line",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(Ticket+"Line",OBJPROP_RAY,0);
ObjectCreate(Ticket+"Close",OBJ_ARROW,0,c,d);
ObjectSet(Ticket+"Close",OBJPROP_COLOR,Verde);
ObjectSet(Ticket+"Close",OBJPROP_ARROWCODE,3);
Ticket=cn>1?hTicket:Ticket;
ObjectCreate(Ticket+"Profit",OBJ_TEXT,0,c,d);
ObjectSet(Ticket+"Profit",OBJPROP_ANCHOR,0);
ObjectSetText(Ticket+"Profit",DoubleToString(prAll,2),10, "Arial",White);
ObjectSet(Ticket+"Profit",OBJPROP_PRICE1,d);
ObjectSet(Ticket+"Profit",OBJPROP_TIME1,c+Period()*60*2);
}
o que acrescentar ao código desta função para traçar uma linha de nível nestes locais de comércio
coordenar desde os ofícios até a borda do gráfico offset
Por favor, ajude na leitura de um arquivo .crv
arquivo tem a seguinte entrada :
2010.03.18 01:35:00;1.37409;1.37119
como escrever o código para obter cada valor separadamente em uma variável
Por favor, ajude na leitura de um arquivo .crv
arquivo tem a seguinte entrada :
2010.03.18 01:35:00;1.37409;1.37119
como escrever o código para obter cada valor separadamente em uma variável
int TotalPos=-1;
início nulo()
{
// o resto do código
//--
if(OrdersTotal()!=TotalPos) { // não torturar cada carrapato
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
História();
}
}}} TotalPos=OrdensTotal(); // lembrar quantidade
//--
}
Histórico nulo() {
string Ticket=(string)OrderTicket();
color col=Red;
if(OrderType()==0)col=Blue;
datatime a=OrderOpenTime();
duplo b=OrdemOpenPrice();
datetime c=OrderCloseTime();
duplo d=OrderClosePrice();
duplo prSep=OrderProfit()+OrderComission()+OrderSwap();
duplo prAll=0;
int cn=0;
hTicket de corda;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
datetime ct=OrderCloseTime();
// Diferença de 60 segundos entre o fechamento da primeira e última ordem na grade
if(c<=ct+60 && c>=ct-60) {
prAll+=OrderProfit()+OrderComission()+OrderSwap();
hTicket=(string)OrderTicket();
cn++;
}
}}}
ObjectCreate(Ticket+"Open",OBJ_ARROW,0,a,b);
ObjectSet(Ticket+"Open",OBJPROP_COLOR,col);
ObjectSet(Ticket+"Open",OBJPROP_ARROWCODE,1);
ObjectCreate(Ticket+"Line",OBJ_TREND,0,a,b,c,d);
ObjectSet(Ticket+"Line",OBJPROP_COLOR,col);
ObjectSet(Ticket+"Line",OBJPROP_WIDTH,1);
ObjectSet(Ticket+"Line",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(Ticket+"Line",OBJPROP_RAY,0);
ObjectCreate(Ticket+"Close",OBJ_ARROW,0,c,d);
ObjectSet(Ticket+"Close",OBJPROP_COLOR,Verde);
ObjectSet(Ticket+"Close",OBJPROP_ARROWCODE,3);
Ticket=cn>1?hTicket:Ticket;
ObjectCreate(Ticket+"Profit",OBJ_TEXT,0,c,d);
ObjectSet(Ticket+"Profit",OBJPROP_ANCHOR,0);
ObjectSetText(Ticket+"Profit",DoubleToString(prAll,2),10, "Arial",White);
ObjectSet(Ticket+"Profit",OBJPROP_PRICE1,d);
ObjectSet(Ticket+"Profit",OBJPROP_TIME1,c+Period()*60*2);
}
o que acrescentar ao código desta função para traçar uma linha de nível nestes locais de comércio
coordenar desde os ofícios até a borda do gráfico offset
algo como isto :
string level="Level"+IntegerToString(iTime(_Symbol,iBarShift(OrderCloseTime())); // ид.уровня - по времени бара (!! не по тикету)
if (ObjectFind(level)==-1) {
// гор.вектора нет - видимо первый ордер из закрытых на баре
// сделать горизонтальную линию
ObjectCreate(0,level,OBJ_TREND,0,OrderCloseTime(),OrderClosePrice(),OrderCloseTime()+PeriodSeconds(_Period)*3,OrderClosePrice);
// указывающую только вправо
ObjectSetInteger(level,OBJPROP_RAY,1);
ObjectSetInteger(level,OBJPROP_RAYLEFT,0);
// украсить её как-то :-)
ObjectSetInteger(level,OBJPROP_COLOR,....)
....
} else {
// гор.уровень есть - значит были ордера закрытые на этом баре
// по фантазии - обновить метки/корректировать уровень/etc
}
Boa tarde!
Quais são as razões para o terminal não ver um robô? ele foi escrito por um programador local. Os outros robôs são em parte visíveis e em parte não.
Boa tarde!
Quais são as razões para o terminal não ver um robô? ele foi escrito por um programador local. Os outros robôs são em parte visíveis e em parte não.
Boa noite!
Por favor, ajude-me a escrever este código, sinto que não posso fazê-lo eu mesmo:
Quando executo um EA em EURUSD, devo colocar duas ordens pendentes se não tiver nenhuma ordem em aberto/pendente sobre este par,
Se uma delas for acionada, outra não será mostrada, ou seja, a soma total de todas as ordens pendentes no par não deve exceder 2 e não deve levar em conta ordens pendentes/abertas já mostradas em outros pares.
Eu já estou com o cérebro pesado, ele não coloca nada, depois coloca cada carrapato.
Estou muito agradecido por isso.
Ficarei muito grato por isso.
Boa tarde!
Quais são as razões para o terminal não ver um robô? ele foi escrito por um programador local. Os outros robôs são em parte visíveis e em parte não.
O robô deve estar localizado na pasta "experts" e estar na forma de *.ex4 (*.ex5 para 5).
No terminal - menu "File/Open Data Folder" e depois "MQL4/Experts".
E o código-fonte *.mq4 *.mq5 não será iniciado - ele precisa ser compilado.
E enquanto isso, arrancar a cabeça do programador que não lhe disse como usar seu produto