[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 967

 
ikatsko:
Vous avez besoin d'une fonction "Nouvel Ordre" comme "Nouveau Bar". La fonction ne doit avoir la valeur TRUE que pour un tick après le moment où l'ordre a été ouvert. C'est-à-dire au moment où le nombre d'ordres ouverts est passé à la hausse. Aidez-nous à

C'est ainsi que vous pouvez suivre les changements de StopLevel du croupier à chaque nouveau tick. Utilisez le même principe pour suivre vos commandes.

В инит:
//---------------------------------------------------
int init()
{
   Level_old =MarketInfo(Symbol(), MODE_STOPLEVEL);
//.............. дальнейший код инит .................
   return;
}
//---------------------------------------------------
В старт:
//---------------------------------------------------
int start()
{
   Level_new=MarketInfo(Symbol(),MODE_STOPLEVEL );    // Последнее значение уровня установки стопов
   if (Level_old!=Level_new)  {                       // Новое не равно старому, значит изменились условия
      Level_old=Level_new;                            // Новое запишем в "старое" для проверки на след. тике
// ............. действия, если новый уровень .......

   }
//.............. дальнейший код старт.................
   return;
}
 
IgorM:


il y a un tel problème - j'ai eu ce problème aussi, si le Conseiller Expert fait beaucoup de transactions par an - peut-être trop de données sont stockées pour la sortie du résultat final ou peut-être les tampons de l'indicateur mangent la mémoire

j'ai vu - je ne sais pas, soyez indulgent avec moi - pour une image générale, le test est pour 10 ans, et il vaut mieux optimiser pour une année et ensuite faire une sélection des meilleurs paramètres.

Et à propos de la mémoire. La mémoire de 4 Go n'est pas suffisante ? Surtout quand on teste la stratégie - j'ai regardé - elle n'est utilisée qu'à 50-60%.
 
volshebnik:
Et à propos de la mémoire. 4 Go de mémoire ne suffisent-ils pas ? Surtout quand on teste la stratégie - j'ai regardé - elle n'est utilisée qu'à 50-60%.
Je comprends que le code montré plus tôt est une partie de celui-ci, peut-être qu'il y a des points faibles dans l'autre partie aussi.
 
volshebnik:
Et à propos de la mémoire. 4 Go de mémoire ne suffisent-ils pas ? De plus, en testant la stratégie - j'ai regardé - elle n'est utilisée qu'à 50-60%.


nous ne savons pas combien MT4 peut utiliser, et 4Gb ne peuvent pas être adressés dans Win32, vous avez besoin de Win64, et pour Win64 vous avez besoin d'applications 64-bit, MT5 a un terminal 64-bit, MT4 n'est même pas au courant.

SZZ : n'optimisez pas trop - vous obtiendrez une confiance supplémentaire dans votre code. et il n'est pas certain que le marché voudra s'adapter à vos paramètres optimaux ;)

 
Je l'ai... Je me suis trompé avec la comparaison de type réel à la valeur zéro...
 
artmedia70:

C'est ainsi que vous pouvez suivre les changements de StopLevel du croupier à chaque nouveau tick. Utilisez le même principe pour suivre vos commandes.


Merci pour le conseil ! En effet, les lignes :

 if (Level_old!=Level_new)  {                       // Новое не равно старому, значит изменились условия
      Level_old=Level_new;  

forment le "front", c'est-à-dire le changement de l'état actuel par rapport à l'état précédent. Le paramètre old_order est nécessaire. Merci

 
ikatsko:

Merci pour le conseil ! En effet, les lignes :

forment le "front", c'est-à-dire le changement de l'état actuel par rapport à l'état précédent. Le paramètre old_order est nécessaire. Merci

De rien - c'est aussi ce qu'a suggéré CK...
 
Techno:
Je comprends que le code montré plus tôt en fait partie, il y a peut-être des points faibles dans l'autre partie aussi.
Cette partie compte sur les tics. Tous les autres calculs ne sont effectués qu'au début de chaque bougie horaire. Il était très lent sur la carte et la boucle inachevée mentionnée par Igor. Il y a peut-être des points de ralentissement, il y a un graphique là aussi - les numéros des chandeliers sont indiqués - il n'est pas souhaitable de supprimer ce graphique - il sera plus difficile à analyser.
 
IgorM:


nous ne savons pas combien MT4 peut utiliser, et 4Gb ne peut pas être adressé dans Win32, vous avez besoin de Win64, et Win64 a besoin d'applications 64-bit, MT5 a un terminal 64-bit, MT4 n'est même pas au courant de cela.

ZS : n'en faites pas trop avec l'optimisation - vous aurez une confiance supplémentaire dans votre code. et il n'est pas certain que le marché voudra s'ajuster à vos paramètres optimaux ;)

Oui Igor, le système d'exploitation 32bit utilise au maximum 3.14 GB. J'utilise Windows 7 64 bits. Le terminal MT4 est une application 32 bits, mais le Windows 7 64 bits a la capacité de supporter les applications 32 bits. Rassurance excessive.... Essayez de vous rassurer ;)
 

Veuillez me conseiller :

nous avons transféré les données du TF mensuel au TF quotidien

ArrayCopySeries(TimeArray,MODE_TIME ,Symbol(),PERIOD_MN1); 

limit=Bars-counted_bars;

for(i=0,y=0;i<limit;i++)

if (Time[i]<TimeArray[y]) y++; 
{
        Month_P[i] = iMA(NULL, PERIOD_MN1, 3, 0, MODE_SMA, PRICE_TYPICAL, y+1);
}
Comment comparer les données du graphique mensuel ? Je suppose que nous devrions prendre Month_P [i] et Month_P [i+N], où N est le nombre de barres dans le cadre temporel quotidien qui nous amènera sûrement à la barre mensuelle précédente. Et comment déterminer exactement ce nombre N ?