J'ai pris le code pour la comptabilité, les ordres d'ouverture et de fermeture dans le tutoriel (tradingexpert.mq4). Le code est prévu pour fonctionner avec une seule position. J'ai besoin d'avoir cinq positions.
Nous avons légèrement modifié le code de la façon suivante (les lignes modifiées sont en gras), de sorte que les positions sont ouvertes dans la bonne quantité, mais lorsque nous inversons, une seule position est fermée et la position inverse est ouverte immédiatement.
Comment puis-je faire en sorte que toutes les positions soient fermées lors du renversement, puis que seule la position opposée soit ouverte ?
// Учёт ордеров
Symb=Symbol(); // Название фин.инстр.
Total=0; // Количество ордеровfor(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:if (OrderSymbol()!=Symb)continue; // Не наш фин. инструмif (OrderType()>1) // Попался отложенный
{
Alert("Обнаружен отложенный ордер. Эксперт не работает.");
return; // Выход из start()
}
Total++; // Счётчик рыночн. ордif (Total>5) // Было не более одного орд, стало не более пяти
{
Alert("Несколько рыночных ордеров. Эксперт не работает.");
return; // Выход из start()
}
Ticket=OrderTicket(); // Номер выбранн. орд.
Tip =OrderType(); // Тип выбранного орд.
Price =OrderOpenPrice(); // Цена выбранн. орд.
SL =OrderStopLoss(); // SL выбранного орд.
TP =OrderTakeProfit(); // TP выбранного орд.
Lot =OrderLots(); // Количество лотов
}
}
// Открытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Total < 5 && Opn_B==true) // Открытых орд. нет +. Было Total < 1, стало Total < 5
{ // критерий откр. BuyRefreshRates(); // Обновление данных
SL=Bid - New_Stop(StopLoss)*Point; // Вычисление SL откр.
TP=Bid + New_Stop(TakeProfit)*Point; // Вычисление TP откр.Alert("Попытка открыть Buy. Ожидание ответа..");
Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buyif (Ticket > 0) // Получилось :)
{
Alert ("Открыт ордер Buy ",Ticket);
return; // Выход из start()
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
// Закрытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Tip==0 && Cls_B==true) // Открыт ордер Buy..
{ //и есть критерий закрAlert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buyif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Buy ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
J'ai pris le code pour la comptabilité, les ordres d'ouverture et de fermeture dans le tutoriel (tradingexpert.mq4). Le code est prévu pour fonctionner avec une seule position. J'ai besoin d'avoir cinq positions.
Nous avons légèrement modifié le code de la façon suivante (les lignes modifiées sont en gras), de sorte que les positions sont ouvertes dans la bonne quantité, mais lorsque nous inversons, une seule position est fermée et la position inverse est ouverte immédiatement.
Comment puis-je faire en sorte que toutes les positions soient fermées lors du renversement, puis que seule la position opposée soit ouverte ?
Faites de Ticket un tableau Ticket[5], stockez-y les 5 tickets. Lors de la fermeture, passez en revue tous les tickets en conséquence.
On ne peut pas être considéré comme un débutant par le niveau d'utilisation des bibliothèques. Après avoir regardé votre code, il me faudrait deux semaines pour le comprendre. Si ce n'est plus. Donc je pense que vous n'aurez pas de réponse.
Vitya, il n'y a pas besoin de comprendre quoi que ce soit - l'homme veut rendre les variables globales d'un "bac à sable" (EA avec ses bibliothèques) visibles dans l'autre "bac à sable" (bibliothèque compilée). :)))
Je ne suis pas un progammeur, je suis un constructeur de code. J'ai donc construit cet indicateur (je vois que vous pouvez faire une exposition de texte, pas un fichier t - c'est ce que je vais faire pour le rendre plus facile à comprendre.
Il montre la somme des points et la dynamique de leur sommation au cours de la semaine - aux plus petites échelles de temps, si le mouvement précédent se poursuit de Close[i+2] à Close[i+1] le mouvement actuel Close[i] est ajouté, sinon - est soustrait. Je devrais le prescrire de manière à ce que le programme voie la clôture du vendredi- au lieu de la clôture de la barre-. Je sais que cela peut être fait avec DayOfWeek et 5 (le numéro du vendredi), mais comment puis-je le faire de manière pratique ? Aide.
TarasBY: Vitya, il n'y a rien à régler ici - la personne veut que les variables globales d'un sandbox (EA avec ses bibliothèques) soient visibles dans un autre sandbox (bibliothèque compilée). :)))
Igor, un peu faux ! Dans le "sandbox" (bibliothèque compilée), seules les fonctions et toutes les variables sont déclarées dans l'inluder. Et les variables qui sont déclarées dans l'inluder (fichier include) devraient être visibles dans la chouette, car j'ai inséré l'inluder directement dans la chouette. N'êtes-vous pas d'accord ?
Je ne suis pas un progammeur, je suis un constructeur de code. J'ai donc construit cet indicateur (je vois que vous pouvez faire une exposition de texte, pas un fichier t - c'est ce que je vais faire pour le rendre plus facile à comprendre.
Il montre la somme des points et la dynamique de leur sommation au cours de la semaine - aux plus petites échelles de temps, si le mouvement précédent se poursuit de Close[i+2] à Close[i+1] le mouvement actuel Close[i] est ajouté, sinon - est soustrait. Je devrais le prescrire de manière à ce que le programme voie la clôture du vendredi- au lieu de la clôture de la barre-. Je sais que cela peut être fait avec DayOfWeek et 5 (le numéro du vendredi), mais comment puis-je le faire de manière pratique ? Aide.
Igor, un peu faux ! Seules les fonctions sont dans le bac à sable (bibliothèque compilée), et toutes les variables sont déclarées dans l'inluder. Et les variables qui sont déclarées dans l'inluder (fichier include) devraient être visibles dans la chouette, car j'ai inséré l'inluder directement dans la chouette. Vous n'êtes pas d'accord ?
alors qu'est-ce que la référence à la bibliothèque compilée a à voir avec cela ?
Non, je vais vous expliquer - votre forum est comme un espoir pour le dernier bastion compétent du prog. et de l'insertion de la taille - c'est ainsi que l'écriture PERIOD_W1 le voitmais ni l'utilisation de la taille ni l'utilisation de points de référence fixes comme les dates n'obtiennent l'effet désiré. J'ai posté une question spécifique sur le vendredi - d'ailleurs votre code ne compile pas parce qu'il dit 'version' - propriété inconnue, donc si vous ne savez pas comment mettre DayOfWeek et 5 (le numéro du vendredi) dans le code, les autres options ne vous aideront pas .
Vitek2010: Non, il ne le fait pas. Je vais vous expliquer - votre forum est comme un espoir pour le dernier bastion compétent du prog. et de l'insertion de la taille - c'est ainsi qu'il voit l'écriture PERIOD_W1 mais ni l'utilisation de la taille ni l'utilisation de points de référence fixes comme dates n'obtiennent l'effet désiré. J'ai posté une question spécifique sur le vendredi - d'ailleurs votre code ne compile pas parce qu'il dit 'version' - propriété inconnue, donc si vous ne savez pas comment mettre DayOfWeek et 5 (le numéro du vendredi) dans le code, les autres options ne vous aideront pas .
TimeDayOfWeek(Time[i]) ne spécifie pas Time[i] mais une date spécifique au format D'2014.01.27'.
Et si vous avez besoin de déterminer quel jour nous sommes, il suffit d'appeler DayOfWeek().
Chérie, j'ai besoin d'aide.
J'ai pris le code pour la comptabilité, les ordres d'ouverture et de fermeture dans le tutoriel (tradingexpert.mq4). Le code est prévu pour fonctionner avec une seule position. J'ai besoin d'avoir cinq positions.
Nous avons légèrement modifié le code de la façon suivante (les lignes modifiées sont en gras), de sorte que les positions sont ouvertes dans la bonne quantité, mais lorsque nous inversons, une seule position est fermée et la position inverse est ouverte immédiatement.
Comment puis-je faire en sorte que toutes les positions soient fermées lors du renversement, puis que seule la position opposée soit ouverte ?
Chérie, j'ai besoin d'aide.
J'ai pris le code pour la comptabilité, les ordres d'ouverture et de fermeture dans le tutoriel (tradingexpert.mq4). Le code est prévu pour fonctionner avec une seule position. J'ai besoin d'avoir cinq positions.
Nous avons légèrement modifié le code de la façon suivante (les lignes modifiées sont en gras), de sorte que les positions sont ouvertes dans la bonne quantité, mais lorsque nous inversons, une seule position est fermée et la position inverse est ouverte immédiatement.
Comment puis-je faire en sorte que toutes les positions soient fermées lors du renversement, puis que seule la position opposée soit ouverte ?
On ne peut pas être considéré comme un débutant par le niveau d'utilisation des bibliothèques. Après avoir regardé votre code, il me faudrait deux semaines pour le comprendre. Si ce n'est plus. Donc je pense que vous n'aurez pas de réponse.
Je ne suis pas un progammeur, je suis un constructeur de code. J'ai donc construit cet indicateur (je vois que vous pouvez faire une exposition de texte, pas un fichier t - c'est ce que je vais faire pour le rendre plus facile à comprendre.
Il montre la somme des points et la dynamique de leur sommation au cours de la semaine - aux plus petites échelles de temps, si le mouvement précédent se poursuit de Close[i+2] à Close[i+1] le mouvement actuel Close[i] est ajouté, sinon - est soustrait. Je devrais le prescrire de manière à ce que le programme voie la clôture du vendredi- au lieu de la clôture de la barre-. Je sais que cela peut être fait avec DayOfWeek et 5 (le numéro du vendredi), mais comment puis-je le faire de manière pratique ? Aide.
Vitya, il n'y a rien à régler ici - la personne veut que les variables globales d'un sandbox (EA avec ses bibliothèques) soient visibles dans un autre sandbox (bibliothèque compilée). :)))
Igor, un peu faux ! Dans le "sandbox" (bibliothèque compilée), seules les fonctions et toutes les variables sont déclarées dans l'inluder. Et les variables qui sont déclarées dans l'inluder (fichier include) devraient être visibles dans la chouette, car j'ai inséré l'inluder directement dans la chouette. N'êtes-vous pas d'accord ?
Je ne suis pas un progammeur, je suis un constructeur de code. J'ai donc construit cet indicateur (je vois que vous pouvez faire une exposition de texte, pas un fichier t - c'est ce que je vais faire pour le rendre plus facile à comprendre.
Il montre la somme des points et la dynamique de leur sommation au cours de la semaine - aux plus petites échelles de temps, si le mouvement précédent se poursuit de Close[i+2] à Close[i+1] le mouvement actuel Close[i] est ajouté, sinon - est soustrait. Je devrais le prescrire de manière à ce que le programme voie la clôture du vendredi- au lieu de la clôture de la barre-. Je sais que cela peut être fait avec DayOfWeek et 5 (le numéro du vendredi), mais comment puis-je le faire de manière pratique ? Aide.
Cela conviendra-t-il ?
Igor, un peu faux ! Seules les fonctions sont dans le bac à sable (bibliothèque compilée), et toutes les variables sont déclarées dans l'inluder. Et les variables qui sont déclarées dans l'inluder (fichier include) devraient être visibles dans la chouette, car j'ai inséré l'inluder directement dans la chouette. Vous n'êtes pas d'accord ?
Est-ce que ça va ?
Non, il ne le fait pas. Je vais vous expliquer - votre forum est comme un espoir pour le dernier bastion compétent du prog. et de l'insertion de la taille - c'est ainsi qu'il voit l'écriture PERIOD_W1 mais ni l'utilisation de la taille ni l'utilisation de points de référence fixes comme dates n'obtiennent l'effet désiré. J'ai posté une question spécifique sur le vendredi - d'ailleurs votre code ne compile pas parce qu'il dit 'version' - propriété inconnue, donc si vous ne savez pas comment mettre DayOfWeek et 5 (le numéro du vendredi) dans le code, les autres options ne vous aideront pas .
TimeDayOfWeek(Time[i]) ne spécifie pas Time[i] mais une date spécifique au format D'2014.01.27'.
Et si vous avez besoin de déterminer quel jour nous sommes, il suffit d'appeler DayOfWeek().
Dans TimeDayOfWeek(Time[i]), vous ne définissez pas Time[i] mais une date spécifique au format D'2014.01.27'.
Et si vous voulez déterminer quel jour nous sommes, il suffit d'appeler DayOfWeek().