Comment coder ? - page 45

 

Je n'arrive pas à comprendre, j'essaie de faire en sorte que mon ea achète quand tout est bleu et vende quand tout est rouge. L'ea s'ouvre et se ferme mais pas au bon endroit, que dois-je regarder ?

double TML=iCustom(NULL,0, "TrendManager",TM_Period,TM_Shift,0,shift) ;

double TMS=iCustom(NULL,0, "TrendManager",TM_Period,TM_Shift,1,shift) ;

double hasOpen = iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,1,shift) ;

double hasClose = iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,0,shift) ;

double HeikenAshiOpen=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,2,shift) ;

double HeikenAshiClose=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,3,shift) ;

double SDLL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,shift) ;

double SDLS=iCustom(NULL,0, "Slope Direction Line",period,method,price,2,shift) ;

buysig=false ;

sellsig=false ;

closebuy=false ;

closesell=false ;

bool Long = TML && SDLL && HeikenAshiOpen < HeikenAshiClose && hasOpen < hasClose ;

bool Short = TMS && SDLS && HeikenAshiOpen > HeikenAshiClose && hasOpen > hasClose ;

buysig = Long ;

sellsig = Short ;

closebuy=sellsig ;

closesell=buysig ;

Dossiers :
 

Bonjour

J'ai beaucoup lu sur ces fils de discussion à propos des indicateurs ashi mais comment faire pour que le Heiken_Ashi_Smoothed affiche une tendance à la hausse et une tendance à la baisse ? Cela semble beaucoup plus difficile que ce que je pensais au départ. Dois-je créer 4 variables, 2 pour la hausse et 2 pour la baisse comme ci-dessous ?

double hasOpenLong=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,1,shift) ;

double hasCloseLong=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,3,shift) ;

double hasOpenShort=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,0,shift) ;

double hasCloseShort=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,2,shift) ;

Toute aide serait la bienvenue

Salutations

Beno

 

Stockage des variables

J'ai un indicateur qui crée des objets (flèches) lors de certains événements sur mon graphique.

Disons que 3 flèches sont apparues sur le graphique 1 min, puis je clique sur 5min et de nouveau sur 1min..... les flèches ont disparu ! !!

S'agit-il d'un problème de stockage de variables ? Voici un peu de code...

(above) extern int arrowCount = 1;

(if arrow should show)

ObjectCreate("Sniper ArrowDown"+arrowCount, OBJ_ARROW, 0, TimeCurrent(),Bid);

ObjectSet("Sniper ArrowDown"+arrowCount,OBJPROP_ARROWCODE,242);

ObjectSet("Sniper ArrowDown"+arrowCount, OBJPROP_COLOR,Red);

ObjectSet("Sniper ArrowDown"+arrowCount, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet("Sniper ArrowDown"+arrowCount, OBJPROP_WIDTH, 1);

arrowCount++;

Des idées ?

 
dharsant:
Je l'ai, merci pour l'aide ! !!

Content que tu aies trouvé une solution.

Je lançais juste quelques idées, je n'étais pas sûr qu'elles fonctionneraient ou pas.

Je pensais à quelque chose comme ça pour que le son ne soit joué qu'une fois :

bool Play_Sound ;

if ((latestlatestmain >= 0) && (latestmain < 0))

{

Play_Sound=true ;

}

si (Play_Sound==true)

{

PlaySound("alert2.wav") ;

Play_sound=false ;

}

Peut-être ?

 

Merci Wolfe, je pensais aussi à cela,

J'ai fini par utiliser quelque chose de similaire mais en utilisant un tableau !

J'apprécie le temps que vous m'avez consacré.

Si quelqu'un peut m'aider à résoudre mon nouveau problème posté ci-dessus, ce sera très apprécié.

J'essaie de faire dessiner des flèches sur mon graphique pendant un certain événement, ce que je peux faire.

Mais d'une manière ou d'une autre, je stocke et lance le script de manière incorrecte, car les flèches qui ont été précédemment définies sur le graphique ne restent pas là (elles disparaissent) lorsque je clique pour changer d'horizon temporel.

Une idée ?

 

Code une transaction par temps déterminé ?

Vous avez besoin d'aide pour créer un code ?

Voici comment cela fonctionne :

n'ouvrir qu'un certain nombre d'ordres par heure (disons de 3h à 6h), par jour ou par semaine.

n'ouvrira pas d'autre transaction même si elle crée un signal pendant cette période.

 

Voici l'ea avec laquelle j'ai des problèmes et les indi's Je l'ai appelé The Abyss car c'est là que j'essaie d'apprendre à coder. lol

Je recherche actuellement ces 2 erreurs sur ce site et sur le site MQL4 : automated forex trading, strategy tester and custom indicators with MetaTrader.

2007.10.24 21:22:24 1998.11.20 06:00 The Abyss GBPJPY,Daily : Erreur OrderSend 130

2007.10.24 21:22:24 1998.11.20 06:00 The Abyss GBPJPY,Daily : nombre double invalide comme paramètre 6 pour la fonction OrderSend

Je ne sais pas si j'ai bien compris le problème, mais je ne sais pas comment le résoudre.

Toute aide serait la bienvenue.

Merci

Beno

 
antone:
Besoin d'aide avec un code ?

Voici comment cela fonctionne :

seulement ouvrir un certain nombre de commande par heure (disons de 3h à 6h) ou jour ou semaine.

Il n'ouvrira pas une autre transaction même s'il crée un signal pendant cette période.

donc quelqu'un peut-il m'aider s'il vous plaît ?

Par exemple, il n'ouvrira qu'un seul ordre entre 5 et 10 heures du matin, mais il pourra en ouvrir un autre à un autre moment...

 

Lorsque vous utilisez icustom dans un EA, comment déterminez-vous les tampons et les indices à utiliser ? Par exemple, si j'essayais d'obtenir une tendance à la hausse ou à la baisse à partir de l'indicateur silvertrend ou similaire. Je n'utilise peut-être pas la bonne terminologie mais j'espère que vous comprenez où je veux en venir.

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_color2 Red

//---- paramètres d'entrée

extern int RISK=3 ;

extern int SSP=9 ;

extern int CountBars=350 ;

//---- tampons

double val1[] ;

double val2[] ;

//+------------------------------------------------------------------+

//| Fonction d'initialisation de l'indicateur personnalisé |

//+------------------------------------------------------------------+

int init()

{

string short_name ;

//---- ligne d'indicateur

IndicatorBuffers(2) ;

SetIndexStyle(0,DRAW_HISTOGRAM,0,2) ;

SetIndexStyle(1,DRAW_HISTOGRAM,0,2) ;

SetIndexBuffer(0,val1) ;

SetIndexBuffer(1,val2) ;

 

pour ce code, ce sera comme ça :

Le tampon qui est utilisé est en gras. Après le tampon, nous avons le décalage.

iCustom(NULL,0,"silvertrend",RISK,SSP,CountBars,0,0);

[/CODE]

Or like this:

[CODE]

iCustom(NULL,0,"silvertrend",3,9,350,0,0);

Salutations

Kale

Raison: