Ajuda na codificação - página 88

 

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

 
mladen:
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.

 
chrisstoff:
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

Chrisstoff

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

 
Kreangast:
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

 
Kreangast:
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

A 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

 
Kreangast:
Para :mladen

Eu gostaria de perguntar como fazer ?

Obrigado

Kreangast

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

 
mladen:
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

Razão: