Merci pour l'aide et les nouvelles informations pour moi. Mais cela m'a frappé et j'ai trouvé un moyen beaucoup plus simple : ..... En ouvrant le premier ordre sur un chandelier minute, je stocke dans la variable X le BAS de ce chandelier au moment de l'ouverture de ce premier ordre. 2. lorsqu'un chandelier zéro s'ouvre (le chandelier suivant celui sur lequel l'ordre s'est ouvert), j'obtiens LoY[1] . Ensuite, je tourne la logique et je conclus 1. si X = LoY[1], alors l'ordre a été ouvert après le LoY du chandelier sur lequel il a été ouvert 2.Si LoY[1]< X, cela signifie que le prix a baissé une fois de plus après l'ouverture de l'ordre et qu'il était inférieur à X. Cela signifie que l'ordre a été ouvert avant que LoY[] ne soit formé sur le chandelier donné Time LOW J'avais seulement besoin de savoir quand l'ordre a été ouvert . avant ou après la formation de LoY[]. Et tous les ordres sur une bougie d'une minute s'ouvrent l'un au-dessus de l'autre avec une différence de 2 pips. C'est-à-dire que lorsque la première s'est ouverte, les autres ont fait de même sur ce chandelier. Merci pour votre aide.
Mais j'ai une autre question. J'ai ouvert un ordre sur un chandelier d'une minute au prix X. Après quelques secondes sur le même chandelier, un autre ordre a été ouvert à un prix de X+2 pips. Entre X et X+2, il y a un prix bas. Je dois trouver le bas. Si nous traitons des chandeliers différents, j'utiliserais les fonctions iLow et iLowest mais ces fonctions doivent spécifier des barres comme limites d'intervalle. Mais mes bornes d'intervalle ne sont pas des barres, mais les prix X et X+2 car il n'y a qu'une seule barre. Je sais comment trouver le minimum dont j'ai besoin. Mais pour le faire, je dois suivre la valeur du prix à chaque tick. Je sais aussi comment le faire avec un cycle au moment de X+2. Et comment le faire en une seule fois au moment de X+2 comme dans le cas de iLow etiLowest. Je vous serais très reconnaissant si vous pouviez m'apprendre à le faire. Merci
Merci pour ces informations qui sont nouvelles pour moi. Je n'ai jamais écrit de ticks dans un fichier. Où puis-je en savoir plus sur ce sujet pour comprendre comment le faire ?
? Autre question : ..... Puis-je écrire les ticks avec les prix dans un tableau, pour trier le tableau avec les ticks et obtenir le tick avec la valeur de prix minimum ? Ou avec l'aide de
Merci pour ces informations qui sont nouvelles pour moi. Je n'ai jamais écrit de ticks dans un fichier. Où puis-je en savoir plus sur ce sujet pour comprendre comment le faire ?
? Autre question : ..... Puis-je écrire les ticks avec les prix dans un tableau, pour trier le tableau avec les ticks et obtenir le tick avec la valeur de prix minimum ? Ou avec l'aide de
Un ordre a été ouvert sur un chandelier d'une minute au prix X. Quelques secondes plus tard, sur le même chandelier, un autre ordre est ouvert à X+2. Entre X et X+2, il y a un prix bas. Je dois trouver le bas. Si nous traitons des chandeliers différents, j'utiliserais les fonctions iLow et iLowest mais ces fonctions doivent spécifier des barres comme limites d'intervalle. Mais mes bornes d'intervalle ne sont pas des barres, mais les prix X et X+2 car il n'y a qu'une seule barre. Je sais comment trouver le minimum dont j'ai besoin. Mais pour le faire, je dois suivre la valeur du prix à chaque tick. Je sais aussi comment le faire avec un cycle au moment de X+2 . Et comment le faire en une seule fois au moment de X+2 comme dans le cas de iLow etiLowest. Je vous serais très reconnaissant si vous pouviez m'apprendre à le faire. Merci
Merci pour ces informations qui sont nouvelles pour moi. Je n'ai jamais écrit de ticks dans un fichier. Où puis-je en savoir plus sur ce sujet pour comprendre comment le faire ?
? Autre question : ..... Puis-je écrire les ticks avec les prix dans un tableau, pour trier le tableau avec les ticks et obtenir le tick avec la valeur de prix minimum ? Ou avec l'aide de
ArrayMinimum
Merci pour votre aide.
C'est possible. Il est seulement nécessaire d'écrire dans le fichier .bin par la fonction
uintFileWriteArray(
int file_handle, // handle файла constvoid& array[], // массив int start=0, // начальный индекс в массиве int count=WHOLE_ARRAY// количество элементов
);
et lire
uintFileReadArray(
int file_handle, // handle файла void& array[], // массив для записи int start=0, // стартовая позиция для записи в массив int count=WHOLE_ARRAY// сколько читать
);
Vous pouvez. Il suffit d'écrire dans le fichier .bin avec la fonction
et lire
Merci pour ces informations nouvelles pour moi .... et pas seulement sur le site .... oooooooooo nouveau ?:=) Je vais essayer de l'apprendre moi-même....
Merci pour ces nouvelles informations pour moi .... et pas seulement sur le site .... Très nouveau ?:=) Je vais essayer de le digérer moi-même....
Quoi de neuf ici ? Vous ouvrez la documentation, lisez les titres, trouvez la section "File operations" où la description des différentes fonctions est donnée, y compris FileWriteArray()
Ce n'est pas la première fois que je vous rappelle que vous devriez lire la documentation plus souvent. Même si vous n'en avez pas besoin pour le moment. En lisant les titres des sections, vous comprendrez ce qui est décrit dans la documentation. Vous êtes celui qui en a le plus besoin.
Quoi de neuf ici ? Ouvrez la documentation, lisez les en-têtes, trouvez la section "Opérations sur les fichiers" où diverses fonctions sont décrites, notamment FileWriteArray( ).
Ce n'est pas la première fois que je vous rappelle que vous devriez lire la documentation plus souvent. Même si vous n'avez besoin de rien pour le moment. En lisant les titres des sections, vous comprendrez ce qui est décrit dans la documentation. C'est vous qui en avez besoin.
Merci pour ces précieux conseils. Pour l'instant, je ne lis la documentation que lorsque j'écris du code et que je suis confronté à une question dont je ne connais pas la réponse. Je n'ai jamais rencontré le besoin d'écrire des données dans des fichiers lors de l'écriture de mes codes précédents, c'est donc un sujet totalement nouveau pour moi. Dites-moi, mon idée ne peut-elle pas être réalisée d'une manière plus simple, sans l'écrire dans un fichier? Comme dans mon code. Il ne s'agit pas d'un code de travail mais d'illustrer mon idée de comment trouver le minimum entre deux ordres adjacents ouverts sur un chandelier d'une minute Merci pour votre aide.
double P[60],Z;
int Tick,x,x1,G,G1,G2,T;
voidOnTick()
{
Tick++;
if (OrdersTotal()==1&&Tick<2189)
{
P[x]=Bid;
Print("------------------------P[x]=Bid------------------------=", DoubleToString(P[x],5), " x ", x);
x++;
}
if (OrdersTotal()==2&&Tick==2189)
{
x1=x;
x=0;
ArraySort(P,WHOLE_ARRAY,0,MODE_ASCEND);
T=(60-x1);
Print("------------------------МИНИМУМ=------------------------=",DoubleToString(P[T],5), " Tick ", Tick, " x1 ", x);
}
if (Tick==2176||Tick==2188)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,Ask+300*Point,Ask-100*Point,"300",0);
G2=G;
G=Tick;
}
}
C'est-à-dire que j'ai écrit le prix de chaque tick directement dans le tableau, et non dans un fichier.
Merci pour l'aide et les nouvelles informations. Mais cela m'a frappé et j'ai trouvé un moyen beaucoup plus simple : ..... En ouvrant le premier ordre sur un chandelier minute, je stocke dans la variable X le BAS de ce chandelier au moment de l'ouverture de ce premier ordre. 2. lorsqu'un chandelier zéro s'ouvre (le chandelier suivant celui sur lequel l'ordre s'est ouvert), j'obtiens LoY[1] . Ensuite, je tourne la logique et je conclus 1. si X = LoY[1], alors l'ordre a été ouvert après le LoY du chandelier sur lequel il a été ouvert 2.Si LoY[1]< X, cela signifie que le prix a baissé une fois de plus après l'ouverture de l'ordre et était inférieur à X. Cela signifie que l'ordre a été ouvert avant la formation de LoY[] sur le chandelier donné.
Vous pouvez vérifier l'heure mais vous attendez un nouvel ordre, puis demander le tick maximum ou minimum.
Veuillez me conseiller sur la meilleure façon de procéder pour optimiser un EA:
Il y a de nombreux paramètres qui sont responsables des réglages de l'indicateur et il y a un paramètre qui active/désactive ce même indicateur.
Cela n'a absolument aucun sens d'optimiser les paramètres de l'indicateur s'il est désactivé.
Question : Comment puis-je couper ces dépassements insignifiants ?
Merci pour l'aide et les nouvelles informations pour moi. Mais cela m'a frappé et j'ai trouvé un moyen beaucoup plus simple : .....
En ouvrant le premier ordre sur un chandelier minute, je stocke dans la variable X le BAS de ce chandelier au moment de l'ouverture de ce premier ordre.
2. lorsqu'un chandelier zéro s'ouvre (le chandelier suivant celui sur lequel l'ordre s'est ouvert), j'obtiens LoY[1]
. Ensuite, je tourne la logique et je conclus
1. si X = LoY[1], alors l'ordre a été ouvert après le LoY du chandelier sur lequel il a été ouvert
2.Si LoY[1]< X, cela signifie que le prix a baissé une fois de plus après l'ouverture de l'ordre et qu'il était inférieur à X. Cela signifie que l'ordre a été ouvert avant que LoY[] ne soit formé sur le chandelier donné
Time LOW J'avais seulement besoin de savoir quand l'ordre a été ouvert . avant ou après la formation de LoY[].
Et tous les ordres sur une bougie d'une minute s'ouvrent l'un au-dessus de l'autre avec une différence de 2 pips. C'est-à-dire que lorsque la première s'est ouverte, les autres ont fait de même sur ce chandelier.
Merci pour votre aide.
Mais j'ai une autre question.
J'ai ouvert un ordre sur un chandelier d'une minute au prix X. Après quelques secondes sur le même chandelier, un autre ordre a été ouvert à un prix de X+2 pips. Entre X et X+2, il y a un prix bas.
Je dois trouver le bas. Si nous traitons des chandeliers différents, j'utiliserais les fonctions iLow et iLowest
mais ces fonctions doivent spécifier des barres comme limites d'intervalle. Mais mes bornes d'intervalle ne sont pas des barres, mais les prix X et X+2 car il n'y a qu'une seule barre.
Je sais comment trouver le minimum dont j'ai besoin. Mais pour le faire, je dois suivre la valeur du prix à chaque tick. Je sais aussi comment le faire avec un cycle au moment de X+2. Et comment le faire en une seule fois au moment de X+2 comme dans le cas de iLow etiLowest.
Je vous serais très reconnaissant si vous pouviez m'apprendre à le faire.
Merci
Écrire les ticks dans un fichier
Merci pour ces informations qui sont nouvelles pour moi. Je n'ai jamais écrit de ticks dans un fichier. Où puis-je en savoir plus sur ce sujet pour comprendre comment le faire ?
? Autre question : ..... Puis-je écrire les ticks avec les prix dans un tableau, pour trier le tableau avec les ticks et obtenir le tick avec la valeur de prix minimum ? Ou avec l'aide de
ArrayMinimum
Merci pour votre aide.
Merci pour ces informations qui sont nouvelles pour moi. Je n'ai jamais écrit de ticks dans un fichier. Où puis-je en savoir plus sur ce sujet pour comprendre comment le faire ?
? Autre question : ..... Puis-je écrire les ticks avec les prix dans un tableau, pour trier le tableau avec les ticks et obtenir le tick avec la valeur de prix minimum ? Ou avec l'aide de
TableauMinimum
Merci pour votre aide.
Écriture dans le fichier FileWriteString
En général, il est difficile de comprendre ce dont vous avez besoin.
FileWriteString
C'est difficile de savoir ce que vous cherchez.
Je dois trouver le bas. Si nous traitons des chandeliers différents, j'utiliserais les fonctions iLow et iLowest
mais ces fonctions doivent spécifier des barres comme limites d'intervalle. Mais mes bornes d'intervalle ne sont pas des barres, mais les prix X et X+2 car il n'y a qu'une seule barre.
Je sais comment trouver le minimum dont j'ai besoin. Mais pour le faire, je dois suivre la valeur du prix à chaque tick. Je sais aussi comment le faire avec un cycle au moment de X+2 . Et comment le faire en une seule fois au moment de X+2 comme dans le cas de iLow etiLowest.
Je vous serais très reconnaissant si vous pouviez m'apprendre à le faire.
Merci
Merci pour ces informations qui sont nouvelles pour moi. Je n'ai jamais écrit de ticks dans un fichier. Où puis-je en savoir plus sur ce sujet pour comprendre comment le faire ?
? Autre question : ..... Puis-je écrire les ticks avec les prix dans un tableau, pour trier le tableau avec les ticks et obtenir le tick avec la valeur de prix minimum ? Ou avec l'aide de
ArrayMinimum
Merci pour votre aide.
C'est possible. Il est seulement nécessaire d'écrire dans le fichier .bin par la fonction
et lire
Vous pouvez. Il suffit d'écrire dans le fichier .bin avec la fonction
et lire
Merci pour ces informations nouvelles pour moi .... et pas seulement sur le site .... oooooooooo nouveau ?:=) Je vais essayer de l'apprendre moi-même....
Merci pour ces nouvelles informations pour moi .... et pas seulement sur le site .... Très nouveau ?:=) Je vais essayer de le digérer moi-même....
Quoi de neuf ici ? Vous ouvrez la documentation, lisez les titres, trouvez la section "File operations" où la description des différentes fonctions est donnée, y compris FileWriteArray()
Ce n'est pas la première fois que je vous rappelle que vous devriez lire la documentation plus souvent. Même si vous n'en avez pas besoin pour le moment. En lisant les titres des sections, vous comprendrez ce qui est décrit dans la documentation. Vous êtes celui qui en a le plus besoin.
Quoi de neuf ici ? Ouvrez la documentation, lisez les en-têtes, trouvez la section "Opérations sur les fichiers" où diverses fonctions sont décrites, notamment FileWriteArray( ).
Ce n'est pas la première fois que je vous rappelle que vous devriez lire la documentation plus souvent. Même si vous n'avez besoin de rien pour le moment. En lisant les titres des sections, vous comprendrez ce qui est décrit dans la documentation. C'est vous qui en avez besoin.
Merci pour ces précieux conseils. Pour l'instant, je ne lis la documentation que lorsque j'écris du code et que je suis confronté à une question dont je ne connais pas la réponse. Je n'ai jamais rencontré le besoin d'écrire des données dans des fichiers lors de l'écriture de mes codes précédents, c'est donc un sujet totalement nouveau pour moi.
Dites-moi, mon idée ne peut-elle pas être réalisée d'une manière plus simple, sans l'écrire dans un fichier? Comme dans mon code. Il ne s'agit pas d'un code de travail mais d'illustrer mon idée de comment trouver le minimum entre deux ordres adjacents ouverts sur un chandelier d'une minute
Merci pour votre aide.
C'est-à-dire que j'ai écrit le prix de chaque tick directement dans le tableau, et non dans un fichier.
Merci pour l'aide et les nouvelles informations. Mais cela m'a frappé et j'ai trouvé un moyen beaucoup plus simple : .....
En ouvrant le premier ordre sur un chandelier minute, je stocke dans la variable X le BAS de ce chandelier au moment de l'ouverture de ce premier ordre.
2. lorsqu'un chandelier zéro s'ouvre (le chandelier suivant celui sur lequel l'ordre s'est ouvert), j'obtiens LoY[1]
. Ensuite, je tourne la logique et je conclus
1. si X = LoY[1], alors l'ordre a été ouvert après le LoY du chandelier sur lequel il a été ouvert
2.Si LoY[1]< X, cela signifie que le prix a baissé une fois de plus après l'ouverture de l'ordre et était inférieur à X. Cela signifie que l'ordre a été ouvert avant la formation de LoY[] sur le chandelier donné.
Vous pouvez vérifier l'heure mais vous attendez un nouvel ordre, puis demander le tick maximum ou minimum.