![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Prezado Mladen,
Desculpe a pergunta básica - estou sempre em apuros quando um código precisa ser operado com data e hora. Há uma constante 120 na linha 97 da AverageJoe EA que você postou neste fórum há alguns dias:
if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
Qual é a unidade de medida desse 120?
Cumprimentos,
Chrisstoff
ChrisstoffEstes são segundos (metatrader economiza tempo já que um número de segundos passa desde 1.1.1970 se não estou enganado, mas a questão é que sempre funciona com segundos quando uma variável de tempo é declarada ou uma função como CurrentTime() é chamada)
Mladen,
Obrigado pela resposta rápida.![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
Prezado Mladen,
Desculpe a pergunta básica - estou sempre em apuros quando um código precisa ser operado com data e hora. Há uma constante 120 na linha 97 da AverageJoe EA que você postou neste fórum há alguns dias:
if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
Qual é a unidade de medida desse 120?
Cumprimentos,
ChrisstoffChrisstoff
São segundos (o metatrader poupa um tempo como um número de segundos passados desde 1.1.1970 se não estou enganado, mas a questão é que ele sempre funciona com segundos quando uma variável de tempo é declarada ou uma função como CurrentTime() é chamada)
Modifique os indicadores Obrigado!
#janela_do_indicador de propriedade
#property indicator_buffers 5
//---- parâmetros de entrada
TempoFramePeriodo externo int TimeFrame;
externamente int N=100;
//
custódia dupla externa1;
duplo CustódiaMA2 externo;
custódia dupla externa3;
duplo custódiaMA4 externo;
duplo Custódio externo20;
duplo custódio externo baixo20;
//
#indicador de propriedade_cores1 Vermelho
#indicador de propriedade_color2 Cal
#Indicador de propriedade_color3 Laranja
#indicador de propriedade_cores4 Vermelho
//--- amortecedores
duplo CustoMA1[];
duplo CustódioMA2[];
duplo CustódioMA3[];
duplo CustódiaMA4[];
duplo custódio[];
//
int init() {
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, CustoMA1);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, CustoMA2);
SetIndexStyle(2, DRAW_LINE);
SetIndexBuffer(2, CustoMA3); SetIndexBuffer(2, CustoMA3);
SetIndexStyle(3, DRAW_LINE);
SetIndexBuffer(3, CustoMA4); SetIndexBuffer(3, CustoMA4);
SetIndexStyle(4, DRAW_LINE);
SetIndexBuffer(4,tr);
return(0);
}
//---- buffers
duplo buff[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
//int init()
//{
// se (Bars < MIN_BARS_REQUIRED) retorno(-1);
//IndicadorDígitos(Dígitos);
//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
//SetIndexBuffer(0, buff);
//string paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")";
//IndicatorShortName("" + paramDesc);
// Definir Rótulos de Índice
//SetIndexLabel(0, "", "" + paramDesc);
//----
//retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int Limite;
int counted_bars=IndicatorCounted();
//----
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=barras_contadas_combars;
int i=0;
for (i=Mathmin(Bars-5,Limit);i>=0;i--);
tr[]=MathMax(MathMax(Alto-Baixo,MathAbs(Fechado-Alto)),MathAbs(Fechado-Baixo))
higt20=H=HHV(H,N);
low20=L=LLLV(L,N);
//
MA1=H-tr[]*0.1;
MA2=H-tr[]*0,2;
MA3=L+tr[]*0,1;
MA4=L+tr[]*0.2;
//
CustoMA1=REF(MA1,BarsSince(higt20));
CustoMA2=REF(MA2,BarsSince(higt20));
CustoMA3=REF(MA3,BarsSince(low20));
CustoMA4=REF(MA4,BarsSince(low20));
//
Lote(CustoMA1, "TREND", colorRed);
Lote(CustoMA2, "TREND",colorLime);
Lote(CustoMA3, "TREND",colorOrange);
Lote(CustoMA4, "TREND",colorRed);
//----
retorno(0);
//+------------------------------------------------------------------+
string getPeriodDesc(int aNumMinutes)
{
interruptor(aNumMinutes)
{
caso PERÍODO_M1 : retorno("M1");
caixa PERÍODO_M15: return("M15");
caixa PERIOD_M30: return("M30");
caixa PERÍODO_H1 : return("H1");
caixa PERÍODO_H4 : return("H4");
caixa PERÍODO_D1 : return("D1");
caixa PERÍODO_W1 : return("W1");
caixa PERÍODO_MN1 : return("MN1");
caixa 0: return("Chart");
padrão: return("M" + aNumMinutes);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double getDeMarker(int aShift)
{
return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, Time[aShift])));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
for(int shift=Bars-1;shift>=0;shift--)
{
buff[shift]=getDeMarker(shift);
}
retorno(0);
}
//+------------------------------------------------------------------+
Desculpe! Colar o código aqui
Kreangast
2013/5/21
Modifique os indicadores Obrigado!
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 5
//---- parâmetros de entrada
TempoFramePeriodo externo int TimeFrame;
externamente int N=100;
//
custódia dupla externa1;
duplo CustódiaMA2 externo;
custódia dupla externa3;
duplo CustoMA4 externo;
duplo Custódio externo20;
duplo custódio externo baixo20;
//
#indicador de propriedade_cores1 Vermelho
#indicador de propriedade_color2 Cal
#Indicador de propriedade_color3 Laranja
#indicador de propriedade_cores4 Vermelho
//--- amortecedores
duplo CustoMA1[];
duplo CustódioMA2[];
duplo CustódioMA3[];
duplo CustódiaMA4[];
duplo custódio[];
//
int init() {
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, CustoMA1);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, CustoMA2);
SetIndexStyle(2, DRAW_LINE);
SetIndexBuffer(2, CustoMA3); SetIndexBuffer(2, CustoMA3);
SetIndexStyle(3, DRAW_LINE);
SetIndexBuffer(3, CustoMA4); SetIndexBuffer(3, CustoMA4);
SetIndexStyle(4, DRAW_LINE);
SetIndexBuffer(4,tr);
return(0);
}
//---- buffers
duplo buff[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
//int init()
//{
// se (Bars < MIN_BARS_REQUIRED) retorno(-1);
//IndicadorDígitos(Dígitos);
//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
//SetIndexBuffer(0, buff);
//string paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")";
//IndicatorShortName("" + paramDesc);
// Definir Rótulos de Índice
//SetIndexLabel(0, "", "" + paramDesc);
//----
//retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int Limite;
int counted_bars=IndicatorCounted();
//----
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=barras_contadas_combars;
int i=0;
for (i=Mathmin(Bars-5,Limit);i>=0;i--);
tr[]=MathMax(MathMax(Alto-Baixo,MathAbs(Fechado-Alto)),MathAbs(Fechado-Baixo))
higt20=H=HHV(H,N);
low20=L=LLLV(L,N);
//
MA1=H-tr[]*0.1;
MA2=H-tr[]*0,2;
MA3=L+tr[]*0,1;
MA4=L+tr[]*0.2;
//
CustoMA1=REF(MA1,BarsSince(higt20));
CustoMA2=REF(MA2,BarsSince(higt20));
CustoMA3=REF(MA3,BarsSince(low20));
CustoMA4=REF(MA4,BarsSince(low20));
//
Lote(CustoMA1, "TREND", colorRed);
Lote(CustoMA2, "TREND",colorLime);
Lote(CustoMA3, "TREND",colorOrange);
Lote(CustoMA4, "TREND",colorRed);
//----
retorno(0);
//+------------------------------------------------------------------+
string getPeriodDesc(int aNumMinutes)
{
interruptor(aNumMinutes)
{
caso PERÍODO_M1 : retorno("M1");
caixa PERÍODO_M15: return("M15");
caixa PERIOD_M30: return("M30");
caixa PERÍODO_H1 : return("H1");
caixa PERÍODO_H4 : return("H4");
caixa PERÍODO_D1 : return("D1");
caixa PERÍODO_W1 : return("W1");
caixa PERÍODO_MN1 : return("MN1");
caixa 0: return("Chart");
padrão: return("M" + aNumMinutes);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double getDeMarker(int aShift)
{
return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, Time[aShift])));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
for(int shift=Bars-1;shift>=0;shift--)
{
buff[shift]=getDeMarker(shift);
}
retorno(0);
}
//+------------------------------------------------------------------+
Desculpe! Colar o código aqui
Kreangast
2013/5/21É alguém tentando combinar o código da tadestation com um código da metatrader. Não vai funcionar dessa maneira e não pode ser combinado dessa maneira
Para :mladen
Você poderia entrar no MT4? Uma seção do código TS, eu não vou escrever MT4 . Obrigado.
Kreangast
2013-5-21
Para :mladen
Você poderia entrar no MT4? Uma seção do código TS, eu não vou escrever MT4 . Obrigado.
Kreangast
2013-5-21A partir daí o que você postou não é possível ver o que deve fazer
Para :mladen
Eu gostaria de perguntar como fazer ?
Obrigado
Kreangast
Para :mladen
Eu gostaria de perguntar como fazer ?
Obrigado
KreangastPara começar, você terá que ler primeiro estes : https://www.mql5.com/en/forum/172969/page2 e depois algo semelhante para a estação de comércio e então você pode converter o código de uma linguagem de codificação para outra linguagem de codificação
Para começar, você terá que ler primeiro estes : https://www.mql5.com/en/forum/172969/page2 e depois algo semelhante para a estação de comércio e então você pode converter o código de uma linguagem de codificação para outra linguagem de codificação
Mas este código não escreve, não o incomoda no MT4, certo? Extremamente grato
Kreangast
2013/5/21