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
Altura da barra anterior
Hi,
Pode dar o código para a barra anterior, por favor.
Isto pode ser usado no EA para limitar a colocação dos pedidos quando a barra anterior é mais do que certa altura.
Cumprimentos,
SIDDESH
Plz corrige meu código (EMA básico, STOC etc.)
oi... sou novo aqui e novo na codificação mql4... construí poucos códigos baseados em condições específicas... espero que vocês possam me ajudar a corrigir se houver algum erro...
ok... vamos começar
1) EMA CROSS
COMPRAR se:
- EMA 5 > EMA 18
- ambas as linhas são para cima
- diferente entre o preço atual e o preço anterior do EMA5 >= 10pips
Atualmente estou usando isto:
double EMA5 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA5_prev = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);
double EMA18 = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA18_prev = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 1);
if (EMA5 > EMA18) {
if ( EMA5 - EMA5_prev >= 10 && EMA18 > EMA_prev) {
Order = BUY;
}
}
[/CODE]
2) RSI
double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);
double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);
if (RSI > 50 && RSI > RSI_prev) {
Order = BUY;
}
[/CODE]
3) STOCH
Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level. Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K < 20 || STOCH_D < 20) {
Order = BUY;
}
* i think i've skipped the red one.. dont know how to do that part..
Buy when the %K line rises above the %D line and sell when the %K line falls below the %D line
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K > STOCH_D) {
Order BUY;
} else
if {STOCH_K < STOCH_D) {
Order SELL;
}
4) Na codificação Stoc, MODE_MAIN indica para quê? MODE_SIGNAL indica para quê?
5) como colocar o fechamento automático e o temporizador automático para EA?
por exemplo: abrir às 8h e fechar às 17h.
6) como colocar a EA desativada em outro gráfico quando um posto é aberto?
como usar um EA em 2 pares (GU e EJ) quando um posto no GU é aberto e depois desabilitar o EA no EJ.
desculpe se esta pergunta é bem básica... espero que vocês possam me ensinar... thx
Um Stoploss complicado - você pode ajudar com isso?
Eu criei uma tendência montando EA. Quando o lucro atinge um certo nível, eu quero mover o stoploss para PART dos lotes abertos, para esse nível de lucro. Eu deixaria o resto dos lotes ser (ou mover o stoploss para o resto para o nível de lucro).
Eu não estou usando um Take Profit.
Como faço para codificar isto?
Obrigado,
Grande Seja
... Quando o lucro atinge um determinado nível, eu quero mover a parada para PART dos lotes abertos, para esse nível de lucro. ..
Como faço para codificar isto?
Obrigado,
Grande SejaVocê não pode fazer isso a menos que tenha várias posições: pode haver apenas uma SP/TP por posição. Mas você pode fechar uma parte de uma posição : basta colocar o número de lotes que deseja fechar na função OrderClose(...).
O que você também pode fazer (depende de seu corretor) é colocar uma parada pendente (hedge) para a parte que você quer: depois você tem que fazer um comando ou função "CloseBy".
#questões de importação
olá a todos
i ned para chamar esta função API em MT4
int GetMouseMovePoints(
UINT cbSize // tamanho da estrutura MOUSEMOVEPOINT
LPMOUSEMOVEPOINT lppt, // ponteiro para o ponto de movimento atual do mouse
LPMOUSEMOVEPOINT lpptBuf, // tampão para armazenar os pontos
int nBufPoints, // quantos pontos o buffer pode armazenar
Resolução DWORD // resolução dos pontos
);
por favor, diga-me o #cláusula de importação
obrigado
olá a todos
i ned para chamar esta função API em MT4
int GetMouseMovePoints(
UINT cbSize // tamanho da estrutura MOUSEMOVEPOINT
LPMOUSEMOVEPOINT lppt, // ponteiro para o ponto de movimento atual do mouse
LPMOUSEMOVEPOINT lpptBuf, // tampão para armazenar os pontos
int nBufPoints, // quantos pontos o buffer pode armazenar
Resolução DWORD // resolução dos pontos
);
por favor, diga-me o #cláusula de importação
obrigadoMovido sua pergunta para esta linha.
Um comércio por barra?
Sei que isso já foi coberto antes, mas alguém pode me mostrar algum código para permitir apenas 1 comércio por barra?
Obrigado.
Michel,
Obrigado.
Eu tinha medo disso.
Agora eu tenho que aprender "diversão com números mágicos".
Big Be
Pergunta!!!
Como faço para codificar isto?
Se as 6 negociações anteriores foram uma perda, eu tentei isto, e não vai funcionar!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
Como faço para codificar isto?
Se as 6 negociações anteriores foram uma perda, eu tentei isto, e não vai funcionar!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
sua afirmação MTL=0; praticamente estabelece MTL a zero, independentemente do que contou no loop "para". Essa linha deve ser antes do laço "para" e não depois.