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

 
C'est toujours comme ça, d'abord répondre à une question, puis écrire un conseiller, et ensuite le modifier sans cesse au fur et à mesure qu'une nouvelle idée arrive, pauvre artmedia, bientôt tous les programmeurs seront partis, il n'y aura plus personne pour aider...).
 

Techno totalement d'accord avec vous, mais je vous demande de venir d'un fil et pas d'un autre.

Toute question d'un débutant, afin de ne pas encombrer le forum. Les professionnels ne passent pas leur chemin. Il n'y a nulle part sans toi.

Les modérateurs peuvent la laisser sur un fil distinct si la discussion n'a pas sa place dans le fil principal.

Et puis l'affaire est purement volontaire, je ne demande pas d'écrire à ma place tout le travail, et comme je l'ai dit plus haut, j'apprends, et je pense que les nouveaux venus qui viennent de s'inscrire, eux aussi, apprennent beaucoup,

 
ex_kalibur:

Techno totalement d'accord avec toi, mais...

Eh bien, jusqu'à présent, à en juger par le cahier des charges ci-dessus, vous laissez entendre que tout doit être écrit pour vous. Le thème est conçu spécifiquement pour les questions qui se posent aux débutants pendant la programmation et l'entraînement, et non pour la réalisation de tous leurs désirs).
 
Donc, si tout le monde est d'accord avec les termes de référence et que tout est clair, on peut procéder. Tout d'abord, je joins tous les fichiers du modèle
Dossiers :
 
Techno:
Jusqu'à présent, à en juger par le cahier des charges ci-dessus, vous suggérez que tout doit être écrit pour vous. Le sujet est conçu pour les questions que les débutants se posent pendant la programmation et l'entraînement, et non pour répondre à tous leurs désirs).
J'ai posé des questions au début, mais ensuite c'est devenu très compliqué, et comme le programme a une structure complexe avec des fichiers entrants, il n'est pas possible de montrer le code, et donc je vais tout recommencer et reprendre là où je me suis arrêté
 

Je veux réécrire mon EA de mq4 à mq5. Pouvez-vous nous dire à quelle vitesse l'EA sera testé et optimisé dans mq5 ?

 
ex_kalibur:
Donc, si tout le monde est d'accord avec les termes de référence et que tout est clair, on peut procéder. Tout d'abord, je joins tous les fichiers du modèle

Pourquoi si compliqué ?
 
Vinin:

Pourquoi si compliqué ?
Parce que je suis tellement bloqué que je ne peux même pas poser une question compétente.
 

Commençons par la fonction Critère

Pour déterminer le canal, nous utiliserons l'indicateur ZigZag, respectivement, définissons ses paramètres,

//--------------------------------------------------------------------

// Criterion.mqh

//--------------------------------------------------------------- 1 --

// Функция вычисления торговых критериев.

// Возвращаемые значения:

// 10 - открытие Buy

// 20 - открытие Sell

// 11 - закрытие Buy

// 21 - закрытие Sell

// 0 - значимых критериев нет

// -1 - используется другой финансовый инструмент

//--------------------------------------------------------------- 2 --

// Внешние переменные:

eextern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

//-----------------------------------------------------------------------

int Criterion() // Пользовательская функция

{

string Sym="EURGBR";

if (Sym!=Symbol()) // Если не наш фин. инструмент

{

Inform(16); // Сообщение..

return(-1);

} // .. и выход

double

High,

Low ;

//------------------- Параметры технич. индикат: -------------------

High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);

Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);

int TicSpred=100;

double Spread[1000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

for (int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}

Spread[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}

//--------------------------------------------------------------- 5 --

// Вычисление торговых критериев

if (Bid <= Low && Ask< High -CountedSpred/2*delta )

return(10);

if ( Bid>= High )

return(20);

 

// Calcul des critères de négociation

si (Bid <= Low && Ask< High -CountedSpred/2*delta)

retour(10) ;

si ( Bid>= High )

retour(20) ;

C'est là que je suis bloqué. Selon la tâche, nous devons d'abord obtenir l'historique de l'écart moyen, comment dois-je faire ?

Je veux que mon tableau de 100 cellules soit rempli complètement.