[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 9

 
Quelle est dans mql4 une bonne façon de limiter les pertes (arrêter l'EA) si tout allait mal ? J'ai seulement inventé de réinitialiser la valeur maximale de AccountEquity() dans le fichier ini de temps en temps et d'arrêter le trading si la valeur actuelle de AccountEquity() est inférieure d'un certain pourcentage défini à celle sauvegardée. Veuillez me conseiller.
 
igrok2008 писал(а) >>
Les exemples ci-dessus décrivent le code d'achat et de vente pour CCI, RSI et WPR. Pourquoi exactement ces indicateurs sont-ils utilisés ? À mon avis, ils sont les plus faciles à apprendre pour construire un conseiller expert. Le principe d'achat et de vente est le même pour eux. Moins de -100 (pour le CCI), -70 (pour le RSI) et 20 (pour le WPR), respectivement la vente sera : +100, -30 et 80. Il me semble (croisé plus d'une fois) que les erreurs se trouvent dans les conditions de négociation, mais où je ne comprends pas...... Il s'agit du principe d'ÉCRIRE correctement les conditions de trading (je le pense)............... C'est ce que je voulais vous demander. ........
double CCI = NormalizeDouble(iCCI(NULL, 0,Period,PRICE_CLOSE,1), Digits);

if(CCI[1] > -100)
Attendez une minute, d'où vient ce SSI[1]?
il s'avère que le code ne compile pas, donc la compilation n'est pas mauvaise ?
 
MuruFigi писал(а) >>
Quelle est dans mql4 une bonne façon de limiter les pertes (arrêter l'EA) si tout allait mal ? J'ai inventé seulement de réinitialiser la valeur maximale de AccountEquity() dans le fichier ini de temps en temps et si la valeur actuelle de AccountEquity() est inférieure d'un certain pourcentage défini à celle sauvegardée, alors arrêter le trading. Veuillez me conseiller.

Recherchez l'indicateur d'équité et d'équilibre de Surgeon. C'est dans le CodeBase.

 
Korey >> :
Attendez une minute, où est le CCI[1]?
il s'avère que le code ne passe pas la compilation, c'est-à-dire que l'absence de compilation est erronée ?

CCI[1]est le CCI de la première barre.

Qu'est-ce qu'une compilation ? Compiler un EA (indicateur, script) est ce que vous faites dans le méta-éditeur en appuyant sur F5 (compiler) ? ?????????.

Je pense, parce que la première barre n'est pas encore formée, donc le calcul devrait être fait sur la première barre. D'où le CCI [1]. Qu'est-ce que je ne comprends pas ? ? ?????

 
igrok2008 >> :

>> ce que je ne comprends pas ??????

Dans tout. Les conseillers se sont déjà dispersés, se rendant compte que vous avez encore besoin de lire un manuel pour saisir les concepts de base. Sinon, il n'y aura pas de conversation.

Par exemple, CCI[1], même un "programmeur" comme moi le lit comme un appel à une cellule d'un tableau nommé CCI et indexé [1]. Qu'est-ce que tu voulais dire par là ?

 
granit77 >> :

En tout. Les conseillers se sont déjà dispersés, se rendant compte que vous avez encore besoin de lire un manuel pour saisir les concepts de base. Sinon, la conversation ne fonctionnera pas.

Par exemple, même un "programmeur" comme moi lit CCI[1] comme un appel d'une cellule de tableau avec le nom CCI et l'index [1]. Qu'est-ce que vous entendez par là ?

A peu près la même chose. Et le lien vers le tutoriel ? Ou est-ce le tutoriel MQL4 "MQL4Bookrussian" ??????????????

 
igrok2008 >> :

C'est à peu près la même chose.

Que diriez-vous d'un lien vers un manuel scolaire ? Ou peut-être que c'est le tutoriel MQL4 "MQL4Bookrussian" ???????????????.

1. Si c'est le même, où et pourquoi avez-vous déclaré (créé) ce tableau ? Vous pouvez appeler quelque chose qui existe.

2. Lien Tutoriel en haut de la page. J'ai personnellement trouvé les articles de Rosh plus adaptés.

 
granit77 >> :

1. Si c'est le cas, où et pourquoi avez-vous déclaré (créé) ce tableau ? Vous pouvez appeler ce qui existe.

2. Lien vers le manuel en haut de la page. J'ai personnellement trouvé les articles de Rosh plus adaptés.

1 entrée CCI[1]>-100 est une condition d'achat.

J'ai lu (superficiellement) le tutoriel, j'ai lu jusqu'à 30 pages de fonctions KimIV utiles, j'ai lu des articles "pour les nuls" et je n'ai trouvé nulle part la réponse à la question POURQUOI la condition token DEVRAIT être écrite de cette façon if(bullshit know what<*****&& bullshit know how>******). Pourquoi ça devrait l'être.

tratat AND trat, pas seulement if(trat<******). C'est ce qui n'est pas clair pour moi. Bien sûr, vinin m'a expliqué plus tôt (pour MA) clairement ce qui est quoi, MAIS POURQUOI vous DEVEZ UTILISER la logique ET ..... inexpliqué.................

Je n'ai pas encore lu les articles de Rosha, merci pour le conseil. .............

 
igrok2008 >> :

1 entrée CCI[1]>100 est une condition d'achat.

Pourquoi faut-il que ce soit tratata ET trututu et pas seulement if(tratata<******). C'est ce qui n'est pas clair pour moi. Bien sûr, vinin m'a expliqué plus tôt (pour MA) de manière intelligible ce qui est quoi, MAIS POURQUOI vous DEVEZ UTILISER le logique ET ..... inexpliqué.........

1. Il ne s'agit pas de l'état dans lequel il se trouve, mais de ce que vous comparez et avec quoi. Vous pensez que vous comparez la valeur de l'indicateur CCI avec le niveau, alors qu'au lieu de l'indicateur vous écrivez la valeur d'une cellule d'un tableau CCI[] personnalisé inexistant et inutile correspondant juste au nom, c'est-à-dire un espace vide. Il s'agit d'une erreur grossière que le compilateur ne sera pas en mesure de compiler.

2. Si vous tirez un signal d'un indicateur fléché dans lequel une valeur n'apparaît que lorsqu'une condition se produit, vous écrivez :

if(trata>0) enter ; C'est parce que le signal est discret, s'il n'y a pas de flèche le tampon est vide et il n'y a rien d'autre à vérifier

Si vous suivez le franchissement d'un certain niveau par la ligne de l'indicateur (le tampon est plein de ligne, le signal est analogique), alors une telle écriture if(trata>level) aura pour résultat un signal continu à l'entrée tout le temps où la ligne de l'indicateur est au-dessus du niveau. Mais ce n'est pas ce que vous voulez, vous voulez obtenir un signal au moment du croisement. Et le moment du croisement est saisi précisément par le tratata et le trutata.

C'est-à-dire que nous lisons et écrivons dans les variables les valeurs CCI sur la barre zéro et la première barre. Nous vérifions si le CCI était plus élevé sur la première barre (précédente). Si le CCI de la barre zéro est déjà passé sous ce niveau, alors un croisement s'est produit. En combinant ces deux conditions avec un ET logique, on obtient un seul signal croisé.

//объявляем переменную cci_0 и присваиваем ей значение индикатора CCI на нулевом (текущем) баре
double cci_0=iCCI(NULL,0, CCIperiod, CCIprice,0);
//объявляем переменную cci_1 и присваиваем ей значение индикатора CCI на первом (предыдущем) баре
double cci_1=iCCI(NULL,0, CCIperiod, CCIprice,1);
//если значение индикатора CCI на нулевом (текущем) баре уже меньше уровня 100
//а предыдущее его значение (на первом баре) было больше уровня 100
//значит произошло пересечение, и мы даем сигнал на продажу
if( cci_0<100 && cci_1>100) SignalSell=true;
 
granit77 >> :

1. Ce qui compte, ce n'est pas l'état dans lequel il se trouve, mais ce que vous comparez et à quoi. Vous pensez que vous comparez au niveau de l'indicateur CCI mais au lieu de l'indicateur, vous écrivez la valeur d'une cellule d'un tableau personnalisé CCI[] inexistant et inutile qui porte simplement le même nom, c'est-à-dire un espace vide. Il s'agit d'une erreur grossière que le compilateur ne sera pas en mesure de compiler.

2. Si vous tirez un signal d'un indicateur fléché dans lequel une valeur n'apparaît que lorsqu'une condition se produit, vous écrivez :

if(tratata>0) enter ; C'est parce que le signal est discret, s'il n'y a pas de flèche, le tampon est vide et il n'y a rien d'autre à vérifier

Si vous suivez la ligne de l'indicateur qui traverse un certain niveau ( le tampon est plein de ligne, le signal est analogique), alors cette écriture if(trata>level) provoquera l'entrée d'un signal continu tant que la ligne de l'indicateur est au-dessus du niveau. Mais ce n'est pas ce que vous voulez, vous voulez obtenir un signal au moment du croisement. Et le moment du croisement est saisi précisément par le tratata et le trutata.

C'est-à-dire que nous lisons et mettons dans les variables les valeurs CCI à zéro et à la première barre. Nous vérifions si le CCI était plus élevé sur la première barre (précédente). Si le CCI de la barre zéro est déjà passé sous ce niveau, alors un croisement s'est produit. En combinant ces deux conditions avec un ET logique, nous obtenons un seul signal croisé.

wo......Wo.......Wo.............. comprendre.... understand.....shaz cet après-midi je répondrai MERCI à granit77. Même au premier coup d'œil, on peut voir que VOUS avez une patience d'ange,

pas comme les enseignants à l'école aujourd'hui.....

Raison: