![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
Para chiwing
Tente isto:
#property link "http://www.metaquotes.net/"
#property show_inputs
bool result;
extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE
//+------------------------------------------------------------------+
//| script "delete pending order" |
//+------------------------------------------------------------------+
int start()
{
for (int number=OrdersTotal()-1; number >= 0; number--)
{
OrderSelect(number,SELECT_BY_POS,MODE_TRADES);
if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;
if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();
if (OverSymbolDel ==1) delPending();
}
}
//+------------------------------------------------------------------+
void delPending()
{
OrderPrint();
int ticket =OrderTicket();
result=OrderDelete(ticket);
if (!result) Print("Error when delete Order ", GetLastError() );
}if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) delPending();
mudar para
if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() )) delPending();
GetClientRect???
Como devo fazer, apesar de querer adquirir as coordenadas do cliente do gráfico?
Quero saber as coordenadas inferiores direitas sem usar OBJPROP_CORNER.![](https://c.mql5.com/forextsd/smiles/confused.png)
Meus melhores cumprimentos.
Eu h1 ea
por favor, ajude-me a modificar o melhor
Ajuda com a lógica
Olá a todos,
Eu gostaria de uma pequena ajuda com alguma lógica de código. Estou tentando construir uma EA de um sistema para o qual estou olhando, mas estou um pouco confuso como escrever a lógica de Compra e Venda de Sinais. Aqui está a lógica do Pseudo do que eu quero transformar em MQL:
COMPRAR LÓGICO:
// Once we have a "GET READY" signal the following conditions need to be true
// in order for the system to create a "BUY_SIGNAL".
// Note: the following conditions do not necessarily have to become true on the exact same bar,
but need to trigger true within + or - 2 bars of the "GET READY" bar.
( CLOSE > MA3 ) // Price closes above a MA
( CCI Crosses above the ZERO line ) // CCI crosses up above zero
( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up sideA Lógica de Venda é exatamente o oposto da lógica de compra.
Não preciso do código EA completo, apenas da lógica convertida para as declarações MQL 'IF' e 'LOOP' para trabalhar o sinal. Acho que posso descobrir o código OpenOrder etc... a partir de muitos exemplos que já estão nesta linha.
Qualquer ajuda que alguém possa dar seria muito apreciada.
Obrigado,
Moxy
A melhor aposta é procurar no arquivo de ajuda do metaeditor.
Dê uma olhada em funções como iMa, iStochastic e iCCI. Eles têm exemplos e se você combiná-los com informações, você obterá facilmente ao olhar o código em qualquer EA.
Boa sorte.
Lux
A melhor aposta é procurar no arquivo de ajuda do metaeditor.
Dê uma olhada em funções como iMa, iStochastic e iCCI. Eles têm exemplos e se você os combinar com informações, você obterá facilmente ao olhar o código em qualquer EA.
Boa sorte.
LuxOlá Lux,
Obrigado pela resposta. Posso elaborar as declarações individuais do iMA, etc... o problema que tenho é como fazer referência às diferentes barras de tempo uma vez que um sinal é acionado. Por exemplo... Se eu tiver um sinal GET READY, preciso olhar as 2 barras antes e 2 barras depois (5 barras no total) para os outros indicadores para confirmar que tenho um SINAL DE COMPRA na abertura da próxima barra. Não tenho certeza se estou fazendo sentido!!
Acho que é... como eu estruturaria o necessário PARA laços etc... quando preciso referenciar as barras tanto antes como depois da barra sendo processada.
Cumprimentos,
Moxy
Olá Lux,
Obrigado pela resposta. Posso elaborar as declarações individuais do iMA, etc... o problema que tenho é como fazer referência às diferentes barras de tempo uma vez que um sinal é acionado. Por exemplo... Se eu tiver um sinal GET READY, preciso olhar as 2 barras antes e 2 barras depois (5 barras no total) para os outros indicadores para confirmar que tenho um SINAL DE COMPRA na abertura da próxima barra. Não tenho certeza se estou fazendo sentido!!
Acho que é... como eu estruturaria o necessário PARA laços etc... quando preciso referenciar as barras tanto antes como depois da barra sendo processada.
Cumprimentos,
MoxyVocê faz isto usando a variável shift no iMA(). Você também pode fazer isto com valores Aberto, Alto, Baixo, Fechado, ou seja, Fechado[3] que está a 3 barras de distância da barra atual.
Média móvel das mudanças
Ok, preciso de um pouco de ajuda com o código, estou procurando determinar um conjunto de movimentos médios em torno de um MA, então a partir do BAR mais antigo, eu procuro os movimentos acima e abaixo, colocá-los em uma matriz e depois calcular a média dessa matriz.
Aqui está o código com o qual estou começando, procurando por um pouco de ajuda para fazê-lo.
duplo AverageMove()
{
int cbars = iBars(Symbol(),EntryTimeFrame);
int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0;
duplo valor de retorno,médiaove,pHValor,pLValor,MAValor,RangeValue[],EntryPoint,cHigh,cLow;
bool reset,TradeShort,TradeLong;
iLimit=Bars-1;
if(Symbol() != "AUDNZD") return(0);
for(ndx=0; ndx<iLimit; ndx++)
{
MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx);
pHValor = Alto[ndx];
pLValor = Baixo[ndx];
if(MAvalue pLValue)
{
if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue);
reset = verdadeiro;
if(Ponto de entrada > 0 && cAlto > 0)
{
RangeCounter++;
RangeValue[RangeCounter]=cHigh - Ponto de entrada;
}
if(Ponto de entrada > 0 && cBaixo > 0)
{
RangeCounter++;
RangeValue[RangeCounter]=EntryPoint - cLow;
}
Ponto de entrada = MAvalue;
}
if(pHValor < MAvalue && reset) TradeShort = verdadeiro;
if(pLValue > MAValue && reset) TradeLong = verdadeiro;
if(TradeLong)
{
reset = falso;
cAlto = pHValor;
}
if(TradeShort)
{
reset = Falso;
cLow = pLValue;
}
}
ArraySetAsSeries(RangeValue,true);
retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0);
Print("Average Move "+retval);
}
Eu gostaria de conhecer a área do cliente no gráfico.
A seguir,
Eu gostaria de conhecer a área do cliente no gráfico.
Por favor, me aconselhem.
Assumindo que o ponto do canto superior esquerdo é (0,0), por favor me avise os coordenadores do canto inferior direito.![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
Neste caso, o ObjectSet(",OBJPROP_CORNER,3)não deve ser usado.
Muitas felicidades e melhores cumprimentos,
Moxy,
Se eu o entendi corretamente, então você terá que codificar esta linha por linha em um EA.
exemplo
MA1, índice-1 antes
MA1, índice agora
MA1, índice+1 após
você tem o básico lá