Comment coder ? - page 320

 

Bonjour à tous, je voudrais vérifier s'il existe un moyen de suivre le cours actuel ?

Par exemple, lorsque le prix franchit un point prédéfini, cela déclenche immédiatement une transaction. Ceux que j'ai trouvés en ligne font principalement référence à la clôture, au haut, au bas, etc. de la barre. Quelqu'un peut-il m'aider ? Merci.

Salutations

Terrance

 

Si je vous comprends bien, vous devriez utiliser Askand Bid. Ask pour un nouvel ordre d'achat et Bid pour un nouvel ordre de vente.

tkuan77:
Bonjour à tous, je voudrais vérifier s'il existe un moyen de suivre le prix actuel ?

Par exemple, lorsque le prix franchit un point prédéfini, cela déclenche immédiatement une transaction. Ceux que j'ai trouvés en ligne font principalement référence à la clôture, au haut, au bas, etc. de la barre. Quelqu'un peut-il m'aider ? Merci.

Salutations

Terrance
 

Oui Mladen, c'est ce que j'utilise actuellement. Peut-être que ma question n'est pas clairement expliquée. Ce que j'essaie de faire, c'est de prédéfinir un point, par exemple la fermeture de la bougie D1 précédente plus et moins 20pips, et si le prix actuel atteint le point prédéfini de (D1 + 20pips) ou (D1 - 20pips), cela déclenchera un achat ou une vente, que la bougie actuelle soit fermée ou non.

Donc, ce que j'essaie de faire maintenant, c'est de faire en sorte que mon système déclenche la transaction lorsque le prix atteint le seuil (D1 + 20pips) ou (D1 - 20pips). Merci d'avance pour vos conseils.

Salutations

Terrance

mladen:
Si je vous comprends bien, vous devriez utiliser Askand Bid. Ask pour un nouvel ordre d'achat et Bid pour un nouvel ordre de vente.
 

Je ne suis pas sûr de comprendre mais je vais essayer. Ty quelque chose comme ceci (ce n'est pas un vrai code mais juste un exemple de comment vérifier - dans la plupart des cas, le close et le bid sont les mêmes)

if (close[1](D1+20pips)) trigger up action

if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action

tkuan77:
Oui Mladen, c'est ce que j'utilise actuellement. Peut-être que ma question n'est pas clairement expliquée. Ce que j'essaie de faire, c'est de prédéfinir un point, par exemple la fermeture de la bougie D1 précédente plus et moins 20pips, et si le prix actuel atteint le point prédéfini de (D1 + 20pips) ou (D1 - 20pips), cela déclenchera un achat ou une vente, que la bougie actuelle soit fermée ou non.

Donc, ce que j'essaie de faire maintenant, c'est de faire en sorte que mon système déclenche la transaction lorsque le prix atteint la valeur (D1 + 20pips) ou (D1 - 20pips). Merci d'avance pour vos conseils.

Salutations

Terrance
 

Bonjour Mladen,

Oui, j'ai réussi à résoudre un certain nombre d'erreurs que j'ai rencontrées, mais il y en a encore une qui me chiffonne. Comment puis-je déclencher :

1) Une transaction longue lorsque la FastMA1 croise la SlowMA1 de 10pips vers le haut.

2) Une transaction courte lorsque le FastMA1 croise le SlowMA1 de 10 pips vers le bas.

La chose que je ne sais pas est comment ajouter la MA pour réagir aux 10pips dans le code.

/*--------------------------------------------------------------------------------*/

FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0) ;

SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1) ;

if(FastMA1 > SlowMA1)

{Long}

si(FastMA1 < SlowMA1)

{Short}

/*--------------------------------------------------------------------------------*/

Merci et appréciez votre aide.

Salutations

Terrance

mladen:
Je ne suis pas sûr d'avoir compris, mais je vais essayer. Ty quelque chose comme ceci (ce n'est pas un vrai code mais juste un exemple de comment vérifier - dans la plupart des cas, close et bid sont les mêmes)
if (close[1](D1+20pips)) trigger up action

if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action

 

Essayez quelque chose comme ceci :

double pipMultiplier=1 ; if (Digits==3 || Digits==5) pipMultiplier=10 ;

double diff = 10*Point*pipMultiplier ;

if(FastMA1 > SlowMA1+diff)

{Long}

si(FastMA1 < SlowMA1-diff)

{Short}

tkuan77:
Salut Mladen,

Oui, j'ai réussi à résoudre un certain nombre d'erreurs que j'ai rencontrées, mais il y en a encore une qui me chiffonne. Comment puis-je déclencher :

1) Un trade long lorsque FastMA1 croise SlowMA1 de 10pips vers le haut.

2) Une transaction courte lorsque le FastMA1 croise le SlowMA1 de 10 pips vers le bas.

La chose que je ne sais pas est comment ajouter la MA pour réagir aux 10pips dans le code.

/*--------------------------------------------------------------------------------*/

FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0) ;

SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1) ;

if(FastMA1 > SlowMA1)

{Long}

si(FastMA1 < SlowMA1)

{Short}

/*--------------------------------------------------------------------------------*/

Merci et appréciez votre aide.

Salutations

Terrance
 

Malden j'ai essayé de coder l'indicateur comme votre réponse concernant le jour de la bougie h1 précédente. Mais je n'ai pas pu le faire.

J'ai un exemple.

J'ai un indicateur avec un seul tampon dans des fenêtres séparées. Il dessine une ligne comme rsi, atr etc etc.

Maintenant j'ai besoin d'ajouter une ligne (horizontale) dans les mêmes fenêtres séparées qui est calculée à partir de la moyenne de la valeur de l'indicateur des 24 derniers jours (C'est seulement pour 1 heure pour cette raison que j'ai dit 24). Comment puis-je le faire ? Est-il possible de tracer cette ligne pour chaque jour du passé ?

Je sais que je dois ajouter un autre tampon.

Comment puis-je donner à ce tampon ce dont j'ai besoin ?

Merci de votre compréhension.

 

...

dasio

Ce que vous décrivez ressemble à une combinaison d'un indicateur régulier (le rsi, l'atr, ...) et d'une moyenne multi-temporelle de ce même indicateur. Avez-vous essayé de cette façon ?

dasio:
Malden j'ai essayé de coder l'indicateur comme votre réponse concernant le jour précédent de la bougie h1. Mais je n'ai pas pu le faire.

J'ai un exemple.

J'ai un indicateur avec un seul tampon dans des fenêtres séparées. Il dessine une ligne comme rsi, atr etc etc.

Maintenant j'ai besoin d'ajouter une ligne (horizontale) dans les mêmes fenêtres séparées qui est calculée à partir de la moyenne de la valeur de l'indicateur des 24 derniers jours (C'est seulement pour une heure pour cette raison que j'ai dit 24). Comment puis-je le faire ? Est-il possible de tracer cette ligne pour chaque jour du passé ?

Je sais que je dois ajouter un autre tampon.

Comment puis-je donner à ce tampon ce dont j'ai besoin ?

Je vous remercie.
 
mladen:
dasio Ce que vous décrivez ressemble à une combinaison d'un indicateur régulier (le rsi, l'atr, ...) et d'une moyenne multi time frame de ce même indicateur. Avez-vous essayé de cette façon ?

Bonjour, merci pour votre réponse,

Peut-être que je n'ai pas bien expliqué.

Je crée un indicateur qui dessine une ligne dans une fenêtre séparée du graphique avec mon propre calcul basé sur les barres précédentes.

Maintenant j'ai besoin d'ajouter une ligne dans l'indicateur où la valeur de cette ligne est égale à l'évolution des 24 dernières valeurs calculées le dernier jour et j'ai besoin de dessiner cette ligne le jour précédent. J'ai joint une image. Cependant cette ligne doit être calculée à la fin de la journée car elle doit être calculée pour la valeur des 24 derniers jours de l'indicateur pour le même jour où je la calcule.

Pour le moment, cet indicateur ne doit être utilisé qu'en 1 heure, ce n'est donc pas un indicateur MTF.

Merci.

ps. Les lignes blanches sont calculées pour la même valeur 24 de la période d'un jour où elles sont imprimées.

Dossiers :
example_1.gif  7 kb
 

...

dasio

Essayez quelque chose comme ceci :

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 OrangeRed

#property indicator_color2 Silver

#property indicator_width1 2

extern int RsiPeriod = 50;

extern int RsiPrice = PRICE_CLOSE;

double work[];

double avg[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int init()

{

SetIndexBuffer(0,work);

SetIndexBuffer(1,avg);

return(0);

}

int start()

{

int i,countedBars = IndicatorCounted();

if (countedBars<0) return(-1);

if (countedBars>0) countedBars--;

int limit = MathMin(Bars-countedBars,Bars-1);

for(i=limit; i>=0; i--)

{

work = iRSI(NULL,0,RsiPeriod,RsiPrice,i);

int y = iBarShift(NULL,PERIOD_D1,Time);

int x = iBarShift(NULL,PERIOD_D1,Time);

if (x!=y)

{

int k = iBarShift(NULL,0,iTime(NULL,PERIOD_D1,y));

double average = work[k];

int c = 1;

for (int j=k-1; j>=i; j--,c++) average += work[j]; average /= c;

for ( j=k ; j>=i; j--) avg[j] = average;

}

}

return(0);

}

dasio:
Bonjour, merci pour votre réponse,

Peut-être que je n'ai pas bien expliqué.

Je crée un indicateur qui dessine une ligne dans une fenêtre de graphique séparée avec mon propre calcul basé sur les barres précédentes.

Maintenant j'ai besoin d'ajouter une ligne dans l'indicateur où la valeur de cette ligne est égale à l'évolution des 24 dernières valeurs calculées le dernier jour et j'ai besoin de dessiner cette ligne le jour précédent. J'ai joint une image. Cependant cette ligne doit être calculée à la fin de la journée car elle doit être calculée pour la valeur des 24 derniers jours de l'indicateur pour le même jour où je la calcule.

Pour le moment, cet indicateur ne doit être utilisé qu'en 1 heure, ce n'est donc pas un indicateur MTF.

Merci.

ps. Les lignes blanches sont calculées pour la même valeur 24 de la période de 1 jour où elles sont imprimées.

Dossiers :
test.gif  34 kb