Comment coder ? - page 68

 

Hauteur de la barre précédente

Bonjour,

Pouvez-vous s'il vous plaît donner le code de la barre précédente.

Ceci peut être utilisé dans l'EA pour limiter le placement des ordres lorsque la barre précédente est supérieure à une certaine hauteur.

Merci,

SIDDESH

 

Plz corriger mon code (EMA de base, STOC etc.)

J'ai construit quelques codes basés sur des conditions spécifiques... J'espère que vous pourrez m'aider à corriger toute erreur...

ok... commençons

1) CROISEMENT DE L'EMA

ACHETER si :

- EMA 5 > EMA 18

- les deux lignes sont ascendantes

- différence entre le prix actuel et le prix précédent pour l'EMA5 >= 10pips

C'est ce que j'utilise actuellement :

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) Dans le codage de Stoc, MODE_MAIN indique pour quoi ? MODE_SIGNAL indique pour quoi ?

5) Comment mettre une minuterie de fermeture automatique et d'activation automatique pour l'EA ?

ex : ouvrir à 8h du matin et fermer à 17h.

6) comment mettre un EA désactivé sur un autre graphique lorsqu'un poste est ouvert ?

Par exemple, utiliser un EA sur 2 paires (GU et EJ) lorsqu'un message sur GU est ouvert, désactiver l'EA sur EJ...

Désolé si cette question est assez basique... J'espère que vous pourrez m'apprendre... Merci.

 

Un Stoploss difficile - pouvez-vous m'aider ?

J'ai mis en place un EA qui suit une tendance. Lorsque le profit atteint un certain niveau, je veux déplacer le stoploss pour une PARTIE des lots ouverts, à ce niveau de profit. Je laisserais le reste des lots ouverts (ou je déplacerais le stoploss pour le reste jusqu'au seuil de rentabilité).

Je n'utilise pas de Take Profit.

Comment dois-je coder ceci ?

Merci,

Big Be

 
Big Be:
... Lorsque le profit atteint un certain niveau, je veux déplacer le stoploss pour une PARTIE des lots ouverts, à ce niveau de profit. ..

Comment dois-je coder cela ?

Merci,

Big Be

Vous ne pouvez pas faire cela à moins d'avoir plusieurs positions : il ne peut y avoir qu'un seul SP/TP par position. Mais vous pouvez fermer une partie d'une position : il suffit de mettre le nombre de lots que vous voulez fermer dans la fonction OrderClose(..).

Ce que vous pouvez aussi faire (cela dépend de votre courtier) est de placer un stop en attente (hedge) pour la partie que vous voulez : ensuite vous devez faire une commande ou fonction "CloseBy".

 

#Question sur l'importation

Bonjour à tous

J'ai besoin d'utiliser cette fonction API dans MT4.

int GetMouseMovePoints(

UINT cbSize // taille de la structure MOUSEMOVEPOINT

LPMOUSEMOVEPOINT lppt, // pointeur vers le point de déplacement actuel de la souris

LPMOUSEMOVEPOINT lpptBuf, // tampon pour stocker les points

int nBufPoints, // nombre de points que le tampon peut stocker

DWORD resolution // résolution des points

) ;

s'il vous plaît dites-moi la clause #import

merci

 
DooMGuarD:
Bonjour à tous

J'ai besoin d'appeler cette fonction API dans MT4.

int GetMouseMovePoints(

UINT cbSize // taille de la structure MOUSEMOVEPOINT

LPMOUSEMOVEPOINT lppt, // pointeur vers le point de déplacement actuel de la souris

LPMOUSEMOVEPOINT lpptBuf, // tampon pour stocker les points

int nBufPoints, // nombre de points que peut contenir le tampon

DWORD resolution // résolution des points

) ;

Veuillez m'indiquer la clause #import.

merci

J'ai déplacé votre question vers ce fil de discussion.

 

Une seule transaction par barre ?

Je sais que ce sujet a déjà été abordé, mais quelqu'un peut-il me montrer un code permettant de n'autoriser qu'une seule transaction par barre ?

Merci.

 

Michel,

Merci.

C'est ce que je craignais.

Maintenant, je dois apprendre à m'amuser avec les chiffres magiques.

Big Be

 

Question ! !!

Comment puis-je coder ceci ?

Si les 6 trades précédents étaient une perte, j'ai essayé ceci, et ça ne marche pas ! !!

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:
Comment dois-je coder cela ?

Si les 6 trades précédents étaient une perte, j'ai essayé ceci, et ça ne marche pas ! !!

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

}

Votre instruction MTL=0 ; met MTL à zéro, indépendamment de ce qu'elle compte dans la boucle "for". Cette ligne devrait être avant la boucle "for" et non après.

Raison: