Demandez ! - page 115

 
TheRumpledOne:
Existe-t-il un moyen plus simple de trouver le numéro de barre du haut et du bas d'aujourd'hui ?

today_high = High[0] ;

aujourd'hui_low_ = Low[0] ;

Trouver le numéro de barre pour aujourd'hui ? ?? Le 0 signifie aujourd'hui. Sur D1 bien sûr.

Si vous êtes sur d'autres TF :

today_high = iHigh(Symbol(),PERIOD_D1,0) ;

today_low = iLow(Symbol(),PERIOD_D1,0) ;

FerruFx

 
TheRumpledOne:
J'aimerais savoir quelle barre le plus haut et le plus bas ont eu lieu aujourd'hui sur des périodes H1 ou moins.

Je sais que je peux utiliser une boucle for et vérifier.

Existe-t-il un moyen plus élégant de le faire ?

Existe-t-il une fonction de première barre du jour ?

Merci.

datetime some_time_start_day=D'0000.00.00 00:00' ;

datetime some_time_end_day=D'0000.00.00 00 00:00' ;

int shiftStart=iBarShift(NULL,PERIOD_M1,some_time_start_day) ;

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day) ;

double valH=High ;

double valL=Low ;

rien de plus simple que cela... ps. Je pensais que la question était de trouver les barres sur un timeframe inférieur, sinon il suffit de faire ce que FerruFx a expliqué prendre à partir de D1

.

 

Cher codersguru,

J'ai besoin d'une ea qui devrait être un jeu d'enfant pour vous,

il ferme toutes les positions ouvertes (pour une certaine paire) lorsque 2 MA se croisent.

Bien sûr, si la MA la plus rapide traverse la MA la plus lente, il ferme une position longue,

et vice versa.

Variabels :

- Type de MA plus rapide

- Valeur de la MA plus rapide

- Type de MA plus lente

- Valeur MA plus lente

- TimeFrame (nous pouvons fixer l'horizon temporel sans être interféré

lorsque nous passons d'une fenêtre de graphique à l'autre.)

J'ai essayé de modifier la MA à travers EA, mais j'ai toujours échoué.

Merci pour votre gentillesse.

 
IN10TION:
datetime some_time_start_day=D'0000.00.00 00:00' ;

datetime some_time_end_day=D'0000.00.00 00:00' ;

int shiftStart=iBarShift(NULL,PERIOD_M1,some_time_start_day) ;

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day) ;

double valH=High ;

double valL=Low ;

rien de plus simple que cela... ps. Je pensais que la question était de trouver les barres sur un timeframe inférieur, sinon il suffit de faire ce que FerruFx a expliqué prendre à partir de D1.

.

Merci.

Je suppose qu'il n'y a pas de moyen plus simple.

Je pensais qu'il pouvait y avoir un mot-clé/mot réservé pour BarStartOfDay ou quelque chose comme ça.

 
IN10TION:
iBarShift trouvera pour vous la barre qui commence ce jour-là ou aussi la barre de fin de ce jour-là.

int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)

Ensuite...

utilisez ces positions de barre pour trouver les résultats de iHighest et iLowest

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

int iLowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

résultats & faits

Voici pourquoi je voulais savoir :

https://www.mql5.com/en/forum/178406/page8

 

Bonjour,

Tout d'abord, merci d'avance pour votre aide !

J'essaie de voir s'il y a un moyen d'utiliser plusieurs threads dans un conseiller expert comme on peut le faire en c++.

La raison est que je fais du trading de nouvelles et j'ai besoin d'avoir plusieurs ordres qui sont tous envoyés en même temps. Par exemple, je dois placer 3 ordres GBP/USD, USD/CAD, EUR/USD dès que les données arrivent. Mon problème est que si j'utilise la fonction d' envoi d'ordres normale 3 fois, elle est lente, car elle envoie les ordres de manière incrémentielle, et non en même temps.

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) ;

OrderSend("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) ;

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) ;

Je suis sûr que cela peut être fait d'une manière ou d'une autre parce que si j'ouvre 3 fenêtres MT4 d'achat/vente séparées et que je les clique toutes en même temps (en utilisant un programme de trading de nouvelles), les ordres sont tous envoyés au même moment et arrivent beaucoup plus rapidement. Lorsque vous procédez de cette manière, les ordres apparaissent tous en même temps, contrairement à ce qui se passe lorsque j'utilise mon EA avec 3 appels OrderSend, ils apparaissent les uns après les autres.

Existe-t-il un moyen de configurer plusieurs fils d'exécution dans une EA, ou peut-être existe-t-il un type d'envoi d'ordres par lots ?

Merci !

Cole

 
ColeFlournoy:
Bonjour,

Tout d'abord, merci d'avance pour votre aide !

J'essaie de voir s'il y a un moyen d'utiliser plusieurs threads dans un conseiller expert comme vous pouvez le faire en c++.

La raison est que je fais du trading de nouvelles et j'ai besoin d'avoir plusieurs ordres qui sont tous envoyés en même temps. Par exemple, je dois placer 3 ordres GBP/USD, USD/CAD, EUR/USD dès que les données arrivent. Mon problème est que si j'utilise la fonction d'envoi d'ordres normale 3 fois, elle est lente, car elle envoie les ordres de manière incrémentielle, et non en même temps.

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) ;

OrderSend("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) ;

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) ;

Je suis sûr que cela peut être fait d'une manière ou d'une autre parce que si j'ouvre 3 fenêtres MT4 d'achat/vente séparées et que je les clique toutes en même temps (en utilisant un programme de trading de nouvelles), les ordres sont tous envoyés au même moment et arrivent beaucoup plus rapidement. Lorsque vous procédez de cette manière, les ordres apparaissent tous en même temps, contrairement à ce qui se passe lorsque j'utilise mon EA avec 3 appels OrderSend, ils apparaissent les uns après les autres.

Existe-t-il un moyen de configurer plusieurs fils d'exécution dans une EA, ou peut-être existe-t-il un type d'envoi d'ordres par lots ?

Merci !

Cole

De toute façon, votre plateforme n'enverra pas plusieurs ordres exactement au même moment.

FerruFx

 

FerruFX -- Je ne suis pas sûr de comprendre ce que vous dites ?

Merci,

Cole

 
IN10TION:
Avez-vous déjà un code pour cela, que vous avez commencé ?

dans un fichier mq4 ?

la première chose dont vous avez besoin est la confirmation doji/inside = oui ou non

selon vos paramètres, il regardera avant le doji/inside ou attendra.

quand il attend 2 barres, il doit décider des ordres, en fonction du haut ou du bas de la barre précédente...

vous pouvez commencer à programmer

Vous avez un code pour trouver les doji ou les insiders ?

...

Bonjour IN10TION,

Voici le code que j'utilise (pas mon code) pour trouver la barre intérieure.

}

int IsInsideBar(int shift) {

//Barre intérieure, La clôture de la barre intérieure doit être supérieure à la fois à la clôture et au point médian de la barre La barre actuelle doit s'ouvrir

//égale ou supérieure à la clôture de la barre intérieure un ordre d'Achat-Stop doit être placé au plus haut de la barre intérieure si l'ordre

//n'est pas atteint dans les 4 barres suivantes , l'ordre est annulé. Voir l'image ci-dessous

si (High[shift]>High[shift+1]) return(0) ;

si (Low[shift]<Low[shift+1]) return(0) ;

si (Close[shift]>Open[shift] && Close[shift]>(High[shift]+Low[shift])/2 && Open[shift-1]>=Close[shift]) return(1) ;

si (Close[shift]<Open[shift] && Close[shift]<(High[shift]+Low[shift])/2 && Open[shift-1]<=Close[shift]) return(-1) ;

return(false) ;

}

Maintenant, ma question est la suivante :

Si je veux placer un stop d'achat et un stop de vente au niveau du haut et du bas de la prochaine barre, la barre suivant la barre intérieure... quel serait le code ?

Merci pour votre aide...

forexcel

 
IN10TION:
Je suis tout ouïe, vous pouvez m'envoyer un message privé ou en parler ouvertement... si vos indicateurs sont bien codés votre EA de finition n'est pas si loin.

Bonjour In10tion

Vous trouverez ci-joint la photo de ce que je négocie.

J'utilise ces 4 indicateurs

Signal de vente

1 : Stochastique lent K% croisé D% au-dessus de 80 et vice versa pour Achat en dessous de 20

2 : QQE RSI croisé en dessous de l'ATR et vice versa pour acheter.

3 : CCI croisé en dessous de 0 et vice versa pour acheter

4 : MACD ma's croisé et 1 barre formée en dessous de 0 et vice versa pour l'achat.

Si l'une de ces trois conditions est remplie, ouvrez une position, par exemple, le signal de feu de la stoch 5 minutes plus tard, le signal de feu de la MACD puis le signal de feu du CCI 20 minutes = ouvrez une position.

ou n'importe quelle combinaison des conditions ci-dessus tant qu'elles sont dans la même direction que l'indicateur de pente.

Copie d'écran jointe

Salutations

Dossiers :
bones.gif  54 kb
Raison: