Como codificar? - página 68

 

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

 
Big Be:
... 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 Seja

Você 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

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

Movido 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);

}

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