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

 
sergeev:

à droite, ça s'affiche.

Vous devez prendre l'offre et la demande de la fonction MarketInfo.

comme - ask= MarketInfo(OrderSymbol(), MODE_ASK) ;

et n'oubliez pas de normaliser
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS)) ;

 

S'il vous plaît dites-moi, vous faites le processus de normalisation,

Qu'est-ce que ça fait ? Expliquez-moi si vous voulez bien.

 
iv_danko:

Dites-moi s'il vous plaît, ici vous faites le processus de normalisation,

Et à quoi sert-il ? Expliquez-moi si vous le voulez bien.


double NormalizeDouble( double valeur, int chiffres)

Arrondir un nombre à virgule flottante à la précision spécifiée.
Les valeurs calculées de StopLoss et TakeProfit, ainsi que les prix d'ouverture des ordres en attente doivent être normalisés à la précision, dont la valeur est stockée dans la variable prédéfinie Digits.

Une erreur peut se produire lorsque les prix ne sont pas normalisés.

 
Vinin:

Désolé. J'ai complètement oublié.

Merci pour l'indicateur, mais ce n'est pas la même chose. La condition (ma13_0-ma55_0)*(ma13_1-ma55_1)<0 indique si oui ou non il y a eu un croisement entre les volets (j'ai fait un indicateur séparé pour cela). Vous avez des entrées par croisement, et ce n'est pas tout à fait la même chose. Je veux filtrer les flèches pour que seule la première flèche après le changement de direction soit affichée.

Les flèches de votre indicateur sont grandes. Les petites sont celles d'un indicateur qui doit être ajusté.

 
gince:


Je vais ajouter. Ce n'est pas exactement de l'achat et de la vente. Il s'agit également d'un calcul du prix des ordres stop.

 
iv_danko:

S'il vous plaît dites-moi, vous faites le processus de normalisation,

Qu'est-ce que ça fait ? Expliquez-moi si vous voulez bien.

 

Pourquoi ce contrôle ne fonctionne-t-il pas ?

for(int i=limit-1;i>=0;i--){ 
   flag[i] == flag[i+1];   
   if ( flag[i] == 1  &&   
        условие продажи){              
       Продажа[i] = High[i]+point*Point; 
       flag[i] == -1 ;
    }                     
    if (flag[i] == - 1  &&     условие покупки){          
              Покупка[i] = Low[i]-point*Point; 
              flag[i] == 1 ;}
    }
}    
 
Je ferais un rendu temporaire du tampon flag[] et verrais ce qu'il contient. Au premier coup d'œil, toutes les valeurs qu'il contient seront les mêmes.
 
gince:

Pourquoi ce contrôle ne fonctionne-t-il pas ?

Je pense qu'ils ont fait le bon choix.
 
granit77:
Je ferais un rendu temporaire du tampon flag[] et verrais ce qu'il contient. Au premier coup d'œil, toutes les valeurs qu'il contient seraient les mêmes.
J'ai fait un rendu temporaire du tampon flag[] - il est vide, pourquoi ? Où est mon erreur ?
Dossiers :
cross1_2.mq4  5 kb
Raison: