Comment coder ? - page 35

 

Création rapide d'un ordre

Je surveille plusieurs graphiques et lorsque je vois un bon point d'entrée pour une transaction, j'aimerais créer un ordre aussi rapidement que possible sans utiliser la boîte de dialogue. Que me conseillez-vous ?

Merci d'avance,

Ed

 

Est-il possible d'avoir deux EA en même temps ?

Salut evrerybody

Est-il possible de faire fonctionner mes deux EA ?

- dans le même temps

- dans la même Timeframe (ex : 1 minute)

- et avec la même paire de devises (ex : EUR/USD)

J'ai changé le MagicNumber (EA_1 = 10 ; EA_2 = 20) mais ils fonctionnent l'un après l'autre même si, les conditions pour un trade sont bonnes pour chacun.

Aidez-moi s'il vous plaît.

Merci !

Dossiers :
ea_1.mq4  10 kb
ea_2.mq4  10 kb
 
ralph.ronnquist:
Hmm ; je n'ai pas testé votre EA, mais en lisant la logique, il me semble que la seule chose qui empêche une vente ultérieure après un achat est que "IsTrade" soit vrai. (Sauf qu'il n'ouvrira pas une vente au moment même où il ouvre un achat).

Donc, si vous voulez que la logique de vente s'applique sans condition, j'aurais pensé que ma modification (1) seulement - oubliez les 2-4 - ferait l'affaire. Ou supprimer la logique "IsTrade".

Cependant, il y a la logique subordonnée avec "TickCheck" et "BarCount", qui arrête une autre transaction au même tick ou à la même barre, mais je suppose que vous voulez que cela s'applique encore.

Bien sûr, je ne peux pas dire grand chose sur la partie signalisation, que vous avez omise. Par exemple, si le déclenchement d'un "Sell_Signal" prend en compte les "BuyOrders", alors il y a plus à faire.

Bonjour,

Merci encore pour votre temps. Pour votre information, j'ai résolu le problème. La modification que vous avez suggérée était le premier pas dans la bonne direction. Il fallait une modification supplémentaire (en caractères gras) comme suit :

if (Buy_Signal && BuyOrders < Max_Buys&& BuyOrders==0) Order = SIGNAL_BUY ;

if (Sell_Signal && SellOrders < Max_Sells && SellOrders==0) Order = SIGNAL_SELL ;

Merci encore. Peut-être, si vous le voulez bien, pourriez-vous m'aider avec une autre question. Je voudrais ajouter l'EA pour avoir la flexibilité de fermer tout ordre ouvert après un nombre X de jours, où X est réglable dans le dialogue de configuration de l'expert. Par exemple, si un ordre d'achat est ouvert à une certaine date et heure, je pourrais le fermer trois jours plus tard à la même heure ?

Toute idée ou suggestion est appréciée.

 

Vous pourriez mettre ce code après la ligne "BuyOrders++ ;":

if ( TimeCurrent() - OrderOpenTime() >= 86400 * MaxTradePeriodInDays )

Order = SIGNAL_CLOSEBUY;

et similaire pour les ordres de vente.

Cela ne fait pas bien les week-ends, cependant.

 

Indicateur avec ce code :

Bonjour mes Chers,

Je veux 2 indicateurs dans MT4 avec ce code ci-dessous : (avec une flèche signalant l'achat/la vente sur le graphique)

Numéro 1 :

----------

MA1 = SMA(5,Close), MA2 = SMA(10,Close), MACD(12,26,9)

Pour signaler une transaction longue : MA1 > MA2, RSI(14) > 50, et MACD Fast > MACD Signal

Pour signaler une transaction courte : MA1 < MA2, RSI(14) < 50, et MACD Fast < MACD Signal.

----------

Numéro 2 :

----------

F1 est le niveau de hausse fractal et F2 est le niveau de baisse fractal dans le code ci-dessous.

UpTrend et DownTrend(Description) :

F1:=ValueWhen(1,H<Ref(H,-2) AND Ref(H,-1)<Ref(H,-2) AND Ref(H,-3)<Ref(H,-2) AND Ref(H,-4)<Ref(H,-2),Ref(H,-2)) ;

F2:=ValueWhen(1,L>Ref(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2) AND Ref(L,-4)>Ref(L,-2),Ref(L,-2)) ;

a:=Cross(H,F1) ;

b:=Cross(F2,L) ;

state:=BarsSince(a)<BarsSince(b) ;

{Signal Long et Short}

LongSignal:= state<Ref(state,-1) ;

ShortSignal:=state>Ref(state,-1) ;

{Tendance à la hausse et à la baisse}

Tendance à la hausse:=state>0 ;

Tendance à la baisse:=state<1 ;

---------------------------------------

Merci et meilleures salutations,

Khamoosh

 

Heures et heures !!!!!!!

J'ai vraiment besoin d'aide !

Je n'y arrive pas du tout !!!!!!!!!

J'ai essayé Mql4.com, F1 en sélectionnant le mot, tout !

Je ne comprends pas !!!!!!

Que signifie

IndicatorCounted()[/PHP]mean?????????

What does

Bars

mean??????????????

What is [PHP]Bars-IndicatorCounted()

signifie ????????????

 

De quel type d'aide avez-vous besoin ? D'indicateurs." Vous pouvez en obtenir ici... ce dont vous avez besoin maintenant c'est d'apprendre et de pratiquer, il... il... il...

 
Dan7974:
J'ai vraiment besoin d'aide !

Je n'y arrive pas du tout !!!!!!!!!

J'ai essayé Mql4.com, F1 en sélectionnant le mot, tout !

Je n'y arrive pas !!!!!!

Que fait

IndicatorCounted()[/PHP]mean?????????

What does

Bars

mean??????????????

What is [PHP]Bars-IndicatorCounted()
mean ????????????

int IndicatorCounted( )

La fonction renvoie le nombre de barres non modifiées après le dernier lancement de l'indicateur. Les barres les plus calculées n'ont pas besoin d'être recalculées. Dans la plupart des cas, le même nombre de valeurs d'indice n'a pas besoin d'être recalculé. Cette fonction est utilisée pour optimiser le calcul.

Note : La dernière barre n'est pas considérée comme calculée et, dans la plupart des cas, il est nécessaire de recalculer uniquement cette barre. Cependant, il existe des cas limites où l'indicateur personnalisé est appelé par l'expert au premier tick de la nouvelle barre. Il est possible que le dernier tick de la barre précédente n'ait pas été traité (parce que l'avant-dernier tick était en cours de traitement lorsque ce dernier tick est arrivé), l'indicateur personnalisé n'a pas été appelé et il n'a pas été calculé pour cette raison. Pour éviter les erreurs de calcul de l'indicateur dans de telles situations, la fonction IndicatorCounted() renvoie le nombre de barres moins un.

Exemple :

int start()

{

int limite ;

int counted_bars=IndicatorCounted() ;

//---- vérifier les erreurs éventuelles

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

//---- la dernière barre comptée sera recomptée

if(counted_bars>0) counted_bars-- ;

limit=Bars-counted_bars ;

//---- boucle principale

for(int i=0 ; i<limit ; i++)

{

//---- ma_shift fixé à 0 car SetIndexShift a été appelé auparavant

ExtBlueBuffer=iMA(NULL,0,JawsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i) ;

ExtRedBuffer=iMA(NULL,0,TeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i) ;

ExtLimeBuffer=iMA(NULL,0,LipsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i) ;

}

//---- terminé

retour(0) ;

}

 
natsirte:
Hi evrerybody

Est-il possible de faire fonctionner mes deux EA ?

- dans le même temps

- dans la même Timeframe (ex : 1 minute)

- et avec la même paire de devises (ex : EUR/USD)

J'ai changé le MagicNumber (EA_1 = 10 ; EA_2 = 20) mais ils fonctionnent l'un après l'autre même si, les conditions pour un trade sont bonnes pour chacun.

Aidez-moi s'il vous plaît.

Merci !

Remplacer la ligne :

if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {[/PHP] by this one : [PHP]if(OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
 

Code d'arrêt immédiatement après la fin de la barre de 15 minutes

J'ai un stop suiveur, il se met à jour chaque tick pendant une barre de 15 minutes, et le stop est calculé à 20 pip du prix BID.

Mais je préférerais que le trailing stop soit calculé à la fin de la barre de 15 minutes la plus récente.

Donc, ceci serait sur un BUY

if( BID > High[1] - (20 * Point)) StopLoss = Haut[1] - (20 * Point) ;

Il s'agit donc de permettre à la barre actuelle de 15 minutes de se déplacer autant qu'elle le souhaite, avant que les stops ne soient déplacés.

Est-ce l'idée, ou y a-t-il d'autres solutions ? Thx