[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 - 5. - page 341

 
hoz:

J'ai une idée, mais je ne sais pas vraiment comment la mettre en œuvre dans la vie réelle et comment elle fonctionnera de manière fiable dans la vie réelle.

L'essentiel est le suivant. Nous devons entrer sur le marché après avoir placé la chouette sur le graphique immédiatement après la fermeture de la barre, c'est-à-dire à l'ouverture d'une nouvelle barre. C'est la première commande. De plus, lorsque l'ordre est fermé par un TP ou un prix Stop, nous devons ouvrir un ordre à l'ouverture d'une nouvelle barre immédiatement. Comment le faire de manière plus raisonnable ?

Je comprends que nous devrions créer une variable. Placez-y le prix ouvert de la barre actuelle. Et comparez cette valeur avec le prix d'ouverture de la barre actuelle. Si la valeur de la variable n'est pas égale au prix d'ouverture de la barre courante avec l'indice zéro, nous ouvrirons un ordre.

C'est la variante la plus optimale, n'est-ce pas ?

Ici, j'ai rencontré une fonction permettant de déterminer la nouvelle barre tout en résolvant mes propres cas :

//+------------------------------------------------------------------+
//|  Проверка на появление нового бара                               |
//+------------------------------------------------------------------+
bool isNewBar()
   {  static datetime TimeBar=0;
      bool flag=false;
      if(TimeBar!=Time[0])
         {
          TimeBar=Time[0];
          flag=true;
         } 
      return (flag);
   }
//+------------------------------------------------------------------+
Il ne reste plus qu'à ouvrir une commande... : )))
 
dyxaa:

Exactement. Brillamment simple))))

J'ai besoin d'un stop d'achat si le prix baisse de 100 pips pour le supprimer.

J'ai ma propre croix et je dois compter 100 points par la différence entre le prix et le prix pour placer l'ordre en attente !
 

Je ne comprends pas ce qui ne va pas, aidez-moi à comprendre, erreur 'start' - variable non définie, j'ai besoin de trouver le maximum des valeurs RSI pour une certaine période.

(RSIBuffer3[i]) // tableau avec les valeurs RSI

// définir la taille du tableau

int count=ArraySize(RSIBuffer3[i]) ;

// recherche de la valeur maximale du tableau

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0) ;

 
Chiripaha:

Si elle est mise en œuvre, elle fonctionnera de manière aussi fiable dans la vie réelle que sur la démo. Mais pas le fait qu'il sera rentable.

Vous pouvez le mettre en œuvre par l'ouverture d'un nouveau bar. Mais vous n'avez pas formulé dans quel sens s'ouvre la barre, et dans quelles conditions ce côté est déterminé.

Vous n'avez pas besoin de comparer quoi que ce soit - il suffit d'ouvrir un ordre lorsqu'une nouvelle barre apparaît (en fonction de vos données) et c'est tout.

Si vous n'en avez aucune idée :

"L'expérience est le fils de nombreuses erreurs.
Et un génie est un ami des paradoxes" (Alexandre Sergueïevitch s'adressant à vous).

Vous devez fabriquer (écrire) un hibou et le vérifier expérimentalement. - Je ne pense pas que quelqu'un puisse écrire la chouette pour vous (gratuitement). Vous donner un indice est une chose. Mais la mise en œuvre des idées (pensées) n'est pas une aide, mais un travail.


J'imagine tout. L'idée est que le premier ordre, si nous utilisons l'une ou l'autre fonction pour déterminer la nouvelle barre, s'ouvrira spontanément, lorsque l'EA est attaché au graphique comme . au moment de mettre l'EA sur le graphique, la variable stockant l'heure d'ouverture de la barre ne sera pas égale à l'heure d'ouverture de la barre actuelle.. Je pensais simplement assigner le temps d'ouverture de la barre courante à la variable dans l'Inite et ensuite, si cette variable est égale au temps d'ouverture de la barre courante, je ne ferai rien de plus et, si elle n'est pas égale, j'exécuterai la fonction open. Je pensais que ce serait la variante la plus adéquate ou peut-être que je pourrais me passer de l'inite.

 
Merincool:

Je ne comprends pas ce qui ne va pas, aidez-moi à comprendre, erreur 'start' - variable non définie, j'ai besoin de trouver le maximum des valeurs RSI pour une certaine période.

(RSIBuffer3[i]) // tableau avec les valeurs RSI

// définir la taille du tableau

int count=ArraySize(RSIBuffer3[i]) ;

// recherche de la valeur maximale du tableau

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0) ;

// déterminer la taille du tableau

int count=ArraySize(RSIBuffer3) ;

// recherche de la valeur maximale du tableau

int RSI_max=ArrayMiximum(RSIBuffer3, count-1, int start=0) ;

 

Que dois-je écrire dans le raccourci du programme pour que le terminal démarre avec un compte spécifique ?

 
Bonjour, il ya 4 indicateurs et l'utilisateur essaie d'écrire un conseiller expert pour elle. la question est ce que vous devez prescrire pour obtenir la valeur du prix pour chaque indicateur de ne pas afficher 0, mais toujours un nombre. j'ai besoin juste prescrire grammaticalement dans icustom, je prescrire, mais cela ne fonctionne pas, voici le "set".
Dossiers :
 
Elektronik, il semble s'ouvrir avec le dernier avec lequel vous travailliez.
 
palomnik:
Elektronik, il semble s'ouvrir avec le dernier, du moins je n'en ai pas vu d'autres.

Je finis sur le testeur et je commence sur le vrai.

 
Lorsque vous saisissez les données, ne décochez pas la case "enregistrer les informations personnelles" dans la fenêtre du nom d'utilisateur et du mot de passe. Toutes les données seront enregistrées et vous ne devrez sélectionner que le numéro de compte(tout le reste sera saisi "automatiquement").