[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 191

 
beginner:
Je m'intéresse au conseiller, aux objets - est-ce que je dessine moi-même la bougie ?

Vous pouvez comprendre le principe :

//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|  Автор : TarasBY, taras_bulba@tut.by                                              |
//+-----------------------------------------------------------------------------------+
//|        Рисуем на чарте бары                                                       |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void fDraw_Bars (string fs_Pref,          // Префикс имени объекта
                 int fi_NUMPeriod,        // Индекс (номер) периода, на котором будет виден объект
                 bool fb_IsNullBar,       // флаг рисования 0-го бара
                 double ar_Price[][][4])  // Массив с ценами
{
    int      li_widht = 6;
    string   ls_Name;
    color    lc_color = Aqua;
    datetime ldt_Time;
//----
    //---- Определяем время текущей свечи (её место в истории)
    if (fb_IsNullBar) {ldt_Time = Time[0];}
    else {ldt_Time = Time[1];}
    //---- Рисуем свечу
    ls_Name = StringConcatenate (fs_Pref, "_Candle_", TimeToStr (ldt_Time));
    if (ar_Price[0][1][3] < ar_Price[0][1][0]) {lc_color = Red;} else {if (ar_Price[0][1][3] == ar_Price[0][1][0]) {li_widht = 8;} else {lc_color = Blue;}}
    fDraw_OBJ (ls_Name, OBJ_TREND, ldt_Time, ar_Price[0][1][3], ar_Price[0][1][0], lc_color, li_widht, fi_NUMPeriod, "", 0, 10, "Arial", 0);
    //---- Рисуем тени свечи
    ls_Name = StringConcatenate (fs_Pref, "_Shadow_", TimeToStr (ldt_Time));
    if (ar_Price[0][1][3] <= ar_Price[0][1][0]) {lc_color = Gold;} else {lc_color = DeepSkyBlue;}
    fDraw_OBJ (ls_Name, OBJ_TREND, ldt_Time, ar_Price[0][1][1], ar_Price[0][1][2], lc_color, 1, fi_NUMPeriod, "", 0, 10, "Arial", 0);
//---- 
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
 
Diubakin:
Avez-vous regardé l'EA de test pour la fonction dans le testeur ? Il clôture exactement la perte maximale avec le profit maximal, quel que soit le nombre d'ordres - deux ou vingt.
Pour l'instant, la question de la fonction reste ouverte car je vais coller d'autres fonctions dans votre EA de test demain pour faire une expérience pure. Je l'ai regardé en mode visuel et presque toutes les doubles fermetures sont les dernières, la précédente ferme à SL et TP, c'est-à-dire que je n'ai rien à choisir. J'ai supprimé les arrêts et les prises afin d'avoir quelque chose à choisir. Demain, je vous montrerai votre conseiller expert avec toutes les fonctions supplémentaires et des commentaires ! Vous pourrez voir par vous-même comment la fonction fonctionne. Je veux vraiment qu'il montre que j'avais tort ! Si j'ai raison, j'essaierai de faire de mon mieux ! A demain !
 
alsu:

Il suffit de lancer l'EA sur un graphique de cinq minutes, il sera comme vous l'avez écrit.

Ou remplacez Open[0] par iOpen(Symbol (), PERIOD_M5, 0) partout dans le code, alors cela fonctionnera à partir de n'importe quel graphique.

Non, Close[0] est le prix de clôture actuel de la barre 0, c'est-à-dire uniquement le prix actuel. Vous pourriez simplement écrire Bid, le résultat est le même.


OK, alors changeons la condition. C'est sorti :




Merci beaucoup pour votre aide. C'est bon. Mais......

1. Sur quelques cinq minutes, plus d'un ordre s'ouvre.

2. Certains ordres sont fermés sur des ordres stop dont le prix est différent de celui prescrit dans le code.

J'ai marqué les données de la commande dans le fichier joint.

 
alsu:

Il suffit de lancer le conseiller expert sur le graphique de cinq minutes, il sera comme vous l'avez écrit.

Ou remplacez Open[0] par iOpen(Symbol (), PERIOD_M5, 0) partout dans le code, alors cela fonctionnera à partir de n'importe quel graphique.

Non, Close[0] est le prix de clôture actuel de la barre 0, c'est-à-dire uniquement le prix actuel. Vous pourriez simplement écrire Bid, le résultat est le même.


OK, alors changeons la condition. C'est sorti :




Merci beaucoup pour votre aide. C'est bon. Mais......

1. Sur quelques cinq minutes, plus d'un ordre s'ouvre.

2. certains ordres sont fermés par des ordres stop dont le prix est différent de celui prescrit dans le code.

Vous trouverez desinformations sur lescommandes susmentionnées dans ce lien

http://clip2net.com/s/2Tfym

 

Je suis désolé. Aidez-moi s'il vous plaît. Je suis en train de copier un programme avec quelques modifications. Le compilateur me donne une erreur : '(' - définition de fonction inattendue F:\forex\MetaTrader NordFX\experts\ia.mq4 (305, 16) .

qu'est-ce que cela signifie ?

- J'ai essayé de supprimer ce morceau du programme - il indique également ce qui suit.

- j'ai essayé de laisser cette partie inchangée - le résultat est le même (même erreur)

sur le programme natif compilé avec succès.

 
TarasBY:

Le principe peut être compris :



Merci !
 
lopuh:

Je suis désolé. Aidez-moi s'il vous plaît. Je suis en train de copier un programme avec quelques modifications. Le compilateur me donne l'erreur suivante : '(' - définition de fonction inattendue F:\forex\MetaTrader NordFX\experts\ia.mq4 (305, 16) .

qu'est-ce que cela signifie ?

- J'ai essayé de supprimer ce morceau du programme - il indique également ce qui suit.

- j'ai essayé de laisser cette partie inchangée - le résultat est le même (même erreur)

sur le programme natif compilé avec succès.

Par ici.

L'erreur suggère que vous définissez une fonction à l'intérieur d'une autre fonction. Toutes les fonctions doivent être définies de manière globale

 

J'ai besoin d'aide.

Je recherche toute fonction ou script qui sait prendre une capture d'écran à un moment donné, par exemple lors de l'ouverture/fermeture d'une pose.

Quand je n'en ai pas besoin, j'en ai trouvé un de temps en temps, mais maintenant je ne le trouve plus.

AIDE !
 
DhP:

J'ai besoin d'aide.

Je recherche toute fonction ou script qui sait prendre une capture d'écran à un moment donné, par exemple lors de l'ouverture/fermeture d'une pose.

Quand je n'ai pas à le faire, j'en ai trouvé un de temps en temps, mais maintenant je ne le trouve plus.

AIDE !
Il existe un conseiller expert d'Igor Kim qui effectue une capture d'écran à un intervalle donné.
 
artmedia70:
Igor Kim a un conseiller qui fait ce qui suit à un intervalle déterminé


Merci !