
Envoyé par
jeims
Sans donner exactement les lignes de codes exactes, au vue de l'heure simplement donner au moins l'algorithme :
extern int tempo=30; //30 secondes entre les deux écarts
int datesignal; //sert à enregistrer la date ou le premier signal non confirmé est apparu
bool signal=false, signalconfirm=false;
If(signal==true)
datesignal=TimeCurrent();
If(datesignal+tempo==TimeCurrent()&&signal==true) //si apres tant de secondes apres le // premier signal, le signal est toujours là
signalconfirm==true; //renvoi vrai
else signalconfirm==false;
if(signalconfirm==true) //si signal est confirmé
OrderSend(....) // ordre, etc.
Par contre, ca ne vérifiera pas la continuité du signal, dans la période, mais simplement la présence d un signal aux deux temps étudiés.
Par ailleurs, le probleme réside aussi du fait que la vérification se fait à chaque tick. or, il peut arriver qu il n y ait pas de novueaux ticks pendant quelques secontes. Il faudra alors créer une plage de x secondes (5 secondes ou 10 par exemple) , et si un signal a lieu dans cette plage, alors signal1=true; et apres attendre une autre confirmation entre TimeCurrent+tempo-5 et TimeCurrent+Tempo+5 par exemple.
A noter que TimeCurrent renvoie des secondes. (secondes écoulées depuis telle date).
par contre ce n'est qu'un petit bidouillage que je présente, une idéouinette comme on pourrait dire. C'est à critiquer et ou améliorer.