[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 574

 
openlive:
comme ça je peux me tromper je ne fais qu'apprendre


J'apprends aussi.)

Pourquoi toutes les valeurs de ask (ask1, ask2, ask3) sont-elles nulles ?

mais la fonction TimeCurrent(), elle renvoie l'heure de la dernière cotation, elle a besoin du prix.

L'idée est que si le prix augmente après les trois derniers ticks (ask3>ask2>ask1), alors nous ouvrons un ORDRE D'ACHAT.

Dans tous les cas, merci) ! !

 
kellin:
Bien entendu, vous devez ouvrir un ordre d'achat ou de vente à la prochaine barre ou à l'une des barres suivantes. Je prévois également de clôturer par un ordre le prédisant par le nombre de points de l'ouverture.


Voir la bande-annonce. Placez son contenu dans le dossier Experts du terminal. Sélectionnez la période de l'instrument qui vous intéresse et placez-la sur le graphique du conseiller expert,

Spécifiez les paramètres d'ouverture d'un ordre dans les variables externes de MetaTrader :

//Внешние переменные 
extern string A0 = "Объем и тип сделки";
extern double Lots = 0.1;         // Объем позиции 
extern bool Buy  = false;         // Открытие длинной позиции            
extern bool Sell = false;         //  Открытие короткой позиции

extern int SlipPips = 3;          // Допустимое Вами проскальзывание цены в настоящих пунктах
                                // Для пятизначных ДЦ пересчитывается автоматически                                     
extern int NumberOfTry = 25;      // Количество попыток открытия ордера

Ensuite, vous attendez la formation d'une nouvelle barre sur le cadre temporel sélectionné de l'instrument.

Lorsque le conseiller expert ouvre un ordre depuis le marché, vous comparez l'heure de son ouverture avec l'heure d'ouverture de la nouvelle barre.

Dossiers :
1_2.zip  8 kb
 
Vinin:


En supposant que l'EA traite chaque tick, il est préférable de faire les choses un peu différemment.


Vinin, merci beaucoup pour votre réponse. Mais pour être honnête, je ne comprends pas vraiment pourquoi les valeurs 1,-1,-1 sont attribuées à ask1, ask2, ask3. Que signifient-elles ? Si vous ne pouvez pas difficilement décrire en mots ce qui et comment cela se passe, je suis un débutant, pas tout à fait bien comprendre tout. Je vous en serai très reconnaissant).

 
link1:


J'apprends aussi.)

Pourquoi toutes les valeurs de ask (ask1, ask2, ask3) sont-elles nulles ?

mais la fonction TimeCurrent(), qui renvoie l'heure de la dernière cotation, a besoin du prix.

L'idée est que si le prix augmente après les trois derniers ticks (ask3>ask2>ask1), alors nous ouvrons un ORDRE D'ACHAT.

Dans tous les cas, merci) ! !

Timecurrent () demande un nouveau tick, et si le temps est nouveau, nous assignons un nouveau tick à Ask2 ou Ask3.

Ensuite, comparez Ask1 et Ask2 et Ask3 comme ceci

datetime ask=TimeCurrent() ;
double ask1=0,ask2=0,ask3=0 ;
ask1=Ask ;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){...... then write the code}

 
link1:


J'apprends aussi.)

Pourquoi toutes les valeurs de ask (ask1, ask2, ask3) sont-elles nulles ?

mais la fonction TimeCurrent(), elle renvoie l'heure de la dernière cotation, elle a besoin du prix.

Si le prix augmente (ask3>ask2>ask1), alors ouvrez un ordre d'achat.

Dans tous les cas, merci) ! !

Timecurrent () demande un nouveau tick, et si le temps est nouveau, nous assignons un nouveau tick à Ask2 ou Ask3.

Ensuite, comparez Ask1 et Ask2 et Ask3 comme ceci

datetime ask=TimeCurrent() ;
double ask1=0,ask2=0,ask3=0 ;
ask1=Ask ;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){...... then write the code}

 
link1:


J'apprends aussi.)

Pourquoi toutes les valeurs de ask (ask1, ask2, ask3) sont-elles nulles ?

mais la fonction TimeCurrent(), qui renvoie l'heure de la dernière cotation, a besoin du prix.

Si le prix augmente après les trois derniers ticks (ask3>ask2>ask1), alors ouvrez un ordre d'achat.

Dans tous les cas, merci) ! !

Timecurrent () demande un nouveau tick, et si le temps est nouveau, nous assignons un nouveau tick à Ask2 ou Ask3.

Ensuite, comparez asc1 et asc2 et asc3 comme ceci

datetime ask=TimeCurrent();
double ask1=0,ask2=0,ask3=0;
ask1=Ask;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){......тут пишем код} 
 
openlive:

Timecurrent () demande un nouveau tick, et si le temps est nouveau, assigne Ask2 ou Ask3 à la valeur du nouveau tick.

Puis comparez Ask1 et Ask2 et Ask3 comme ceci

datetime ask=TimeCurrent() ;
double ask1=0,ask2=0,ask3=0 ;
ask1=Demander ;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){...... then write the code}


Je vais essayer, merci).
 
openlive:

Timecurrent () demande un nouveau tick, et si le temps est nouveau, assigne Ask2 ou Ask3 à la valeur du nouveau tick.

Puis comparez Ask1 et Ask2 et Ask3 comme ceci

datetime ask=TimeCurrent() ;
double ask1=0,ask2=0,ask3=0 ;
ask1=Demander ;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){...... then write the code}


Je vais essayer, merci).
 
link1:

Je vais essayer, merci).


seulement dans ce cas ask1 est le prix le plus ancien... c'est à dire

si ((ask2>ask1)&&(ask3>ask2)){......}

 
alkador:

à Armen63

Lafonction "CountBuys" n'est pas référencée et sera supprimée du fichier exp.
La fonction "CountSells" n'est pas référencée et sera supprimée du fichier exp.