Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 686

 
Maxim Kuznetsov:

trouvez la transaction précédente dans l'historique et voyez :-) si elle a clôturé au niveau du stoploss

- Ajouté [sl] ou (sl) dans le commentaire - d'après ce que je comprends, cela dépend des paramètres du serveur. En règle générale, le premier.

- prix de clôture proche du stoploss

ils doivent être filtrés par le temps

 
Roman Sharanov:

? c'est eux qui doivent être filtrés par le temps ?

? ?

Votre conseiller a-t-il une mémoire défaillante et ne se souvient-il pas de la commande qui a été ouverte ?

 
Maxim Kuznetsov:

? ?

Votre conseiller a-t-il une mémoire défaillante et ne se souvient-il pas de l'ordre qu'il a ouvert ?

Il ne s'agit pas de "se souvenir", mais de redémarrer correctement sans perdre de données. Pour cela, vous n'avez pas besoin de vous souvenir mais de trouver. Pour un testeur, bien sûr, se souvenir fera également l'affaire.
 

Bonjour, je deviens vraiment débile.

Comment créer un tableau associatif dans mql4 ? J'ai besoin de stocker une clé - timecurrent et une valeur - tick price. Et ensuite, travaillez avec ces paires.

 
Roman Sharanov:

Une autre question, pourquoi MT5 refuse-t-il d'importer les ticks ?

J'ai un fichier CSV avec des citations, de quoi a-t-il besoin ?

Il faut que le séparateur de champs soit correct et que la date et l'heure soient dans des champs séparés et au bon format...

et peut-être que les lignes devraient être séparées par des \r\n (je ne me souviens pas si cela prend juste les \n ou cela dépend de l'encodage)

 
Artyom Trishkin:
Il ne s'agit pas de "se souvenir", mais de redémarrer correctement sans perdre de données. Pour cela, il ne s'agit pas de se souvenir, il s'agit de trouver. Pour un testeur, bien sûr, se souvenir fera l'affaire.

C'est une fois sur la première coche - passez en revue l'historique disponible et choisissez le plus récent de votre choix :-)

(TS n'a pas plus d'un ordre ouvert sur le marché, et ils n'entrent pas dans l'historique par lots).

Ensuite, rappelez-vous...

 

Bonjour les professionnels !
J'ai besoin d'aide pour écrire une partie du code de l'EA.
Je veux implémenter dans mon EA des StopLoss et TakeProfit dynamiques en fonction des données d'entrée.
Je prends les données HIGH et LOW pour une période (par exemple les 24 barres précédentes).

J'ai utilisé les lignes suivantes pour cela :

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)] ; // obtenir les indices des extrema pour la période
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)] ;// obtenir des indices d'extrema pour la période

puis déterminer la valeur du prix à ces extrêmes

Ind_H =iHigh(Symbol(),0,Ind_HIGH) ; // obtenir la valeur du prix HIGH
Ind_L_Low(Symbol(),0,Ind_LOW) ;// obtenir la valeur du prix BAS

...et obtenir la valeur du prix sur 1 barre :

Ind_C =iClose(Symbol(),0,1) ; // obtenir la valeur du prix CLOSE

Comparaison entre Ind_C et Ind_H : Ind_L Je voulais obtenir la différence de prix et la traduire en points, car il semble que nous ayons besoin de valeurs entières pour SL et TP.
Mais pour une raison quelconque, cela ne fonctionne pas. Je veux obtenir 290 et 193 (comme sur l'image)
S'il vous plaît aidez-moi à écrire cette partie du code...
Merci d'avance !


 
concilere:

Bonjour les professionnels !
J'ai besoin d'aide pour écrire une partie du code de l'EA.
Je veux implémenter dans mon EA des StopLoss et TakeProfit dynamiques en fonction des données d'entrée.
Je prends les données HIGH et LOW pour une période (par exemple les 24 barres précédentes).

J'ai utilisé les lignes suivantes pour cela :

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)] ; // obtenir les indices des extrema pour la période
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)] ;// obtenir des indices d'extrema pour la période

puis déterminer la valeur du prix à ces extrêmes

Ind_H =iHigh(Symbol(),0,Ind_HIGH) ; // obtenir la valeur du prix HIGH
Ind_L_Low(Symbol(),0,Ind_LOW) ;// obtenir la valeur du prix BAS

...et obtenir la valeur du prix sur 1 barre :

Ind_C =iClose(Symbol(),0,1) ; // obtenir la valeur du prix CLOSE

Comparaison entre Ind_C et Ind_H : Ind_L Je voulais obtenir la différence de prix et la traduire en points, car il semble que nous ayons besoin de valeurs entières pour SL et TP.
Mais pour une raison quelconque, cela ne fonctionne pas. Je veux obtenir 290 et 193 (comme sur l'image)
S'il vous plaît aidez-moi à écrire cette partie du code...
Merci d'avance !


Voici où se trouve l'indice de la barre max/min

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1) ; // obtenir les indices des extrema pour la période
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1) ;// obtenir des indices d'extrema pour la période

 
Vitaly Muzichenko:

C'est ici que l'indice de la barre max/min

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1) ; // obtenir les indices des extrema pour la période
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1) ; // obtenir les indices des extrema pour la période

Oui, hourra ! Ça a marché !
Vitaly, merci !

Au début, le terminal a commencé à jurer. J'ai dû changer la méthode de calcul,
c'était comme ça :

StopLoss=(Ind_C1-Ind_L24) ; //Calculer le SL ouvert Acheter
TakeProfit=(Ind_C1-Ind_L24) ; //calcul du TP d'achat ouvert

et maintenant c'est comme ça :

StopLoss=(Ind_C1-Ind_L24)/Point ; //Calculer le SL ouvert Acheter
TakeProfit=(Ind_C1-Ind_L24)/Point ; //Calcul du TP d'achat ouvert

et tout a fonctionné...))



 

J'ai l'indicateur rsx-nrp-coronforex.mq4, pouvez-vous me dire quels paramètres utiliser pour obtenir les données de la courbe ?

double RSX_M = iCustom(Symbol(),PERIOD_CURRENT,"\rsx-nrp-coronforex", ??? Que dois-je écrire ici? ??);

Dossiers :