[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 - 2. - page 313

 
trader_john:

Pouvez-vous me dire ce qui pourrait causer ce problème ?

Ça marche, ça marche, tout va bien, puis soudain, tout d'un coup :-(

Non seulement les points sont dessinés là où ils ne devraient pas l'être, mais la fenêtre de données affiche également des données incorrectes (en rapport avec l'emplacement des points).

(L'indicateur montre les extrema, je l'ai écrit moi-même).

Après le "rembobinage" d'un laps de temps, tout redevient normal.

Vous pouvez peut-être me conseiller sur la façon de "creuser". Ou peut-être existe-t-il un tel sujet sur le forum.

Merci d'avance !


Rédigez un indicateur approprié et les problèmes disparaîtront
 
Vinin:

Rédigez un indicateur approprié et les problèmes disparaîtront


Qu'entendez-vous par normal ? Si je le savais, je ne poserais pas de questions ici.

Au fait, l'indicateur Fractals que j'ai téléchargé dans MQL "fait la même chose".

https://www.mql5.com/ru/code/7982

Donc, ce n'est pas écrit correctement non plus ?

 
trader_john:

Pouvez-vous me dire ce qui pourrait causer ce problème ?

Ça marche, ça marche, tout va bien, puis soudain, tout d'un coup :-(

Non seulement les points sont dessinés là où ils ne devraient pas l'être, mais la fenêtre de données affiche également des données incorrectes (en rapport avec l'emplacement des points).

(L'indicateur montre les extrema, je l'ai écrit moi-même).

Après le "rembobinage" d'un laps de temps, tout redevient normal.

Vous pouvez peut-être me conseiller sur la façon de "creuser". Ou peut-être existe-t-il déjà un sujet sur le forum.

Merci d'avance !

J'en ai écrit un semblable, ça s'est passé de la même façon que le vôtre. J'ai remarqué que si l'indicateur est calculé sur plus d'un tick, il n'y a pas de doublement. Vous devrez peut-être ajouter une condition plus lourde ou un sommeil. Mais je ne suis pas un programmeur, juste une observation.
 
Operr:
J'étais en train d'en écrire un similaire, il s'est passé la même chose que le tien. J'ai remarqué que si l'indicateur est calculé sur plus d'un tick, il n'y a pas de doublement. Ajoutez une condition ou un sommeil plus lourd. Mais je ne suis pas un programmeur, juste une observation.


Je n'ai pas tout à fait compris. Peut-être "calcule sur plus d'un bar" ?

Remembered Fractals (MQL4) / Je l'ai retravaillé pour commencer à compter à partir de la mesure 3. C'est-à-dire que 2 mesures devraient se terminer après lui,

Dans l'indicateur original, il dessinait un "point"... Je pense que c'était sur la barre n°2... (c'est-à-dire que la barre zéro était également prise en compte).

Mais si ce point était cassé avant 2 barres, il restait là...

et il s'est avéré qu'il n'y avait pas deux barres en bas à droite, alors que la fractale supérieure était dessinée.

Construit en fractales supprime d'ailleurs...

Ok... Je vais y réfléchir.

 
Operr:
Ajoutez une condition ou un sommeil plus lourd.
Pour information - Le sommeil ne fonctionne pas dans les indicateurs.
 

Comment faire pour que le MA compte un pour le haut et un pour le bas ?


// Critères de négociation
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0) ; // MA_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0) ; // MA_2
MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_LWMA,PRICE_TYPICAL,0) ; // MA_3

if (MA_2_t > MA_3_t + Rastvor*Point) // Si différence entre
{ // .MA_2_t + Rastvor*Point { .MA 2 et 3 grande
Opn_B=true ; // Ouvrir le critère d'achat
Cls_S=true ; // Fermer le critère de vente } (MA_2_t + Rastvor*Point) if (MA_2_t > MA_3PICAL) Vendre
}
if (MA_1_t < MA_3_t - Rastvor*Point) // Si la différence entre
{ // ..MA 1 et 3 est grande
Opn_S=true ; // Critère ouvert Vendre
Cls_B=true ; // Critère fermé Acheter Cls_B=true ; // Critère fermé Vendre } } Vendre seulement // Les MA 1 et 3 sont grandes. Acheter

}



Je veux que MA_1 soit réglé sur High et que MA2 soit réglé sur Low.

MA_2 doit être réglé sur Low

MA_3 doit être définie comme Close

Et comment faire en sorte que tous les mouvements soient des SMA.

 
NROST:

Comment faire pour que le MA compte un pour le haut et un pour le bas ?


// Critères de négociation
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0) ; // MA_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0) ; // MA_2
MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_LWMA,PRICE_TYPICAL,0) ; // MA_3

if (MA_2_t > MA_3_t + Rastvor*Point) // si différence entre
{ // ...MA_2 et 3 est large
Opn_B=true ; // Ouverture du critère d'achat
Cls_S=true ; // Fermeture du critère Vendez
}
if (MA_1_t < MA_3_t - Rastvor*Point) // Si la différence entre
{ // ...MA_1 et 3 est large
Opn_S=true ; //ouver le critère de vente
Cls_B=true ; //Critères de clics Acheter

}



Je veux que MA_1 soit réglé sur High et que MA2 soit réglé sur Low.

MA_2 doit être réglé sur Low

MA_3 doit être définie comme Close

Et comment faire en sorte que toutes les zones soient des SMA.



Toutes les réponses sont là-dedans
 
Vinin:

Toutes les réponses sont là-dedans.
merci
 

Les amis, votre aide est nécessaire.

Il existe des conditions de trading, définies comme suit : acheter si la ligne %D des stochastiques croise 30, la barre précédente doit être inférieure à 29 (cela signifie que la barre croise de bas en haut). Dans le testeur, j'ai défini un cadre temporel court, sur une échelle horaire, pour compter le nombre de signaux manuellement et le comparer aux relevés de l'EA. Je devrais obtenir 6 signaux, mais l'EA affiche juste un mur de texte avec des signaux d'achat, et idéalement il ne devrait y en avoir que 6.


Voici le code de l'Expert Advisor, peut-être que quelqu'un peut me dire ce que je fais mal ?


// Значения торговли
extern double TP = 100;
extern double Lots = 0.1;
extern double SL = 50;
// Значения стохастика
extern int Dperiod = 24;
extern int Kperiod = 3;
extern int Slowing = 6;
extern int St_buy = 30;
extern int St_sell = 70;
int signal;
int ticket;



int Stoch(int st_bars = 0, int st_type = 0){  // 1 параметр - бары, 2 параметр - тип линии.

   int st_result;
   
   if (st_type == 0 || st_type == 1 && st_bars >= 0){
      st_result = iStochastic(NULL,0,Dperiod,Kperiod,Slowing,MODE_SMA,0,st_type,st_bars);
      if (st_result > -1) return(st_result);
   }
   else return(-1);
   
   return(0);
}

int Criterion() // 10 - open buy, 11 - close buy, 20 - open sell, 21 - close sell.
{
   int St_M, St_S;
   St_M = Stoch();
   St_S = Stoch(0,1);
  
   if (St_M >= St_buy && Stoch(1,0) < (St_buy-1)) return(10);
   
   return(0);
}

int start()
{
   if (Criterion() == 10 && AccountFreeMargin() > Lots*5000){
      
    ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Bid - SL * Point, Ask + TP * Point, "My order #", 16384, 0, Green);
   }
   return(0);
}
 
trader_john:

Pouvez-vous me dire ce qui pourrait causer ce problème ?

Ça marche, ça marche, tout va bien, puis soudain, tout d'un coup :-(

Non seulement les points sont dessinés là où ils ne devraient pas l'être, mais la fenêtre de données affiche également des données incorrectes (en rapport avec l'emplacement des points).

(L'indicateur montre les extrema, je l'ai écrit moi-même).

Après le "rembobinage" d'un laps de temps, tout redevient normal.

Vous pouvez peut-être me conseiller sur la façon de "creuser". Ou peut-être existe-t-il un tel sujet sur le forum.

Merci d'avance !


Tout ce qui se trouve devant vous a déjà été volé - c'est comme la version 5 de MasterForex... Il existe aussi une version 4, mais je ne la trouve pas encore, si vous en avez besoin, je la trouverai.