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

 
dzhini:
Bien...., s'il vous plaît, PROFI, donnez-moi une réponse, que faire avec l'indicateur. Dites-moi, c'est possible ou impossible ? (La question a été écrite plus tôt dans le fil, si je la duplique, j'aurai un deuxième jaune :o) )

Tu dois augmenter l'historique.

Avec Alpari, ce n'est pas un problème. D'autres courtiers ont des problèmes. Je ne me souviens pas lesquels (d'ailleurs il est admis de ne pas en parler ici sur un forum).

 
OrdersTotal<br / translate="no"> int OrdersTotal()
Renvoie le nombre total d'ordres ouverts et en attente.

Est-il possible de connaître uniquement le nombre total d'ordres ouverts ?
 
gince:

Tu dois augmenter l'historique.

Avec Alpari, ce n'est pas un problème. D'autres courtiers ont des problèmes. Je ne me souviens plus lesquels (d'ailleurs il est admis de ne pas en parler ici sur le forum).

J'ai suffisamment d'historique depuis la fin juin 2010 (en théorie, cela devrait être suffisant pour afficher janvier 2011). Mais même ça, ça ne marche pas. Il y a un point fondamental dans la compatibilité des commandes de l'indicateur et du fonctionnement du testeur.
 
Jaguar1974:
Est-il possible de connaître uniquement le nombre total d'ordres ouverts ?
 int Opend(){
     int Ord=0;
     for(int cnt=0;cnt<OrdersTotal();cnt++){
        if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true){
          if(OrderMagicNumber()==Magic){
            if(OrderSymbol()==Symbol()){
              if(OrderType()<2)Ord++;
      } } } }        
  return(Ord);} 
 
Bonjour ! Aidez-nous à résoudre un problème. J'ai un conseiller expert e-CrossCCI (pas le mien). Le conseiller expert fonctionne lorsque la ligne de l'indicateur CCI traverse un niveau zéro, comment cela fonctionne (rentable ou non n'est pas la question). Et il fonctionne à la fois avec les indicateurs intégrés et avec les indicateurs personnalisés. Il existe un indicateur stochastique Premier. Dans mon Expert Advisor, je change l'indicateur CCI en Premier stochastique, en laissant en fait le code inchangé (principe du même passage à zéro). Je l'ai mis à l'essai. Il ne passe pas de commande. Quel peut être le problème ? Tout est attaché. Le résultat de la résolution du problème, si possible, veuillez consulter ban_61@mail.ru/.

Merci d'avance ! !!
Dossiers :
123.rar  4 kb
 
ban61:
Bonjour ! Aidez-nous à résoudre un problème. J'ai un conseiller expert e-CrossCCI (pas le mien). Le conseiller expert fonctionne lorsque la ligne de l'indicateur CCI traverse un niveau zéro, comment cela fonctionne (rentable ou non n'est pas la question). Et il fonctionne à la fois avec les indicateurs intégrés et avec les indicateurs personnalisés. Il existe un indicateur stochastique Premier. Dans mon Expert Advisor, je change l'indicateur CCI en Premier stochastique, en laissant en fait le code inchangé (principe du même passage à zéro). Je l'ai mis à l'essai. Il ne passe pas de commande. Quel peut être le problème ? Tout est attaché. Le résultat de la résolution du problème, si possible, veuillez consulter ban_61@mail.ru/.

Merci d'avance ! !!
Avez-vous essayé de comprendre comment fonctionnent les tampons indicateurs ? Article très utile (https://docs.mql4.com/ru/indicators/iCustom)
 
dzhini:
Avez-vous essayé de comprendre le fonctionnement des tampons indicateurs ? Article très utile (https://docs.mql4.com/ru/indicators/iCustom)

J'ai lu l'article. L'indicateur stochastique Premier semble également être prescrit correctement, en ajoutant des paramètres d'entrée :

extern int StochasticLenght=8 ;

extern int StochasticMode=0 ;

extern int SmoothLength=25 ;

extern double Level1=0.9 ;

extern double Level2=0.2 ;

l'indicateur est écrit

double cci = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1) ;

double cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2) ;

le reste du code source reste inchangé.

-

-

 
ban61:

J'ai lu l'article. L'indicateur stochastique Premier semble également être prescrit correctement, en ajoutant des paramètres d'entrée :

extern int StochasticLenght=8 ;

extern int StochasticMode=0 ;

extern int SmoothLength=25 ;

extern double Level1=0.9 ;

extern double Level2=0.2 ;

l'indicateur est écrit

double cci = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1) ;

double cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2) ;

le reste du code source reste inchangé.

-

-

Question : voulez-vous apprendre à programmer ou simplement faire réparer votre robot ? Si vous répondez à la première question, vous devez comprendre pourquoi l'ordre est exécuté. Si c'est le second, vous auriez dû le dire tout de suite.

Quant à votre code, il prend les données du même tampon (il y en a 5) sur les chandeliers précédents et de pré-ouverture, et attend ces conditions : (cci1<0 && cci>0) ou (cci1>0 && cci<0) .... et je pense qu'il va attendre éternellement.

 
S'il vous plaît, que quelqu'un regarde ma question précédente. Je ne peux pas identifier et réparer l'erreur. Le code se compile, mais sur le testeur il ne donne pas le résultat attendu.
 

Bonjour à tous !

J'ai une question simple.

Il existe un petit programme, il se compose de trois fichiers :

1. expert vol1, le fichier qui contient int start () etc.

#include <Variables.mq4>
#import "statistics.mq4"
#import "files.mq4"

int init_main (double &MAIN[], int quantity);
int write (int fh);
int init()
  {  
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
  
  init_main(MAIN,50000);
for (int i = 0; i < 1000; i++){
int fh = write(Name);
}
   return(0);
  }

Comme vous pouvez le voir, j'inclus #include <Variables.mq4>
et j'importe #import "statistics.mq4", #import "files.mq4 ".

2. Variables.mq4 - il contient des variables.

string  Name = "new";
double MAIN [50000];
double TEN [10];
double CUR [10];
3. fichiers.mq4 ce vile contient plusieurs fonctions

int init_main (double &MAIN[], int quantity){

int count = 0;
int time = 0;
int end_time = 0;

time = TimeCurrent();

end_time = time + quantity;


while (time != end_time){

MAIN[count] = Ask;

Alert(MAIN[count]);

count++;

time = TimeCurrent();

while (time == TimeCurrent()){}

}
}

int write (int fh){ 

if (fh <  0){
     
     Alert("Неудается открыть файл с таким именем, ошибка ", GetLastError() );
     FileClose(fh);
                  }
     
                      
                      if (fh > 0) {

                      //Alert("Записываю тики в файл ", file_name, " !");
                      //Alert(StrToInteger(CharToStr(StringGetChar(file_name,0))));
                     
                 
                 
               
                      FileSeek(fh, 0, SEEK_END);
                      FileWrite(fh, TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), " ", Ask, " ", Bid);
                      FileClose(fh);
                      return;

            }  
}
L'essence du problème est que le compilateur me donne 'MAIN' - variable non définie et

Name' - variable non définie !

Je les ai déclarés comme Variables.mq4 ?

Si quelqu'un peut m'aider, je lui en serai très reconnaissant !

Merci d'avance pour la réponse !

Raison: