[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 415

 
bool Val_max=true;
bool Cl_dn=true;
bool Val_min=true;
//лучше определиться где правда, а где ложь, ладн, будем считать все семафоры открытыми

void start()
  {
      if(Val_max==true)
         if(условие_1)
         {
           Alert("Значение инд. >= 1.0000 (исп. 1-е усл.)");
           Val_max=false;//считаем что первое условие выполнилось                                       //заглушка
         }
      if(Cl_dn==true && Val_max==false) //тут тоже более менее нормуль, второе условие проверяется если отметилось первое
         if(условие_2)
         {
           Alert("1 бар закрылся падением (исп. 2-е усл.)");
           Cl_dn=false;                                         //заглушка
         }
      if(Val_min==true && Val_max==false && Cl_dn==false)//третье будет проверяться только после наступления первых двух
         if(условие_3)
         {
           Alert("Значение инд. <= 0.9980 (исп. 3-е усл.)");
           Val_min=false;                                       //заглушка
         }
      if(Val_max!=true && Cl_dn!=true && Val_min!=true)
         {
           //здесь будет посылаться жирный ордер
           Val_max=true;
           Cl_dn=true;
           Val_min=true;      
         }   
//----
   return(0);
  }
Quel est exactement le problème ? Trop paresseux pour l'exécuter et vérifier comment il fonctionne ?
 
igid:
Vous voulez dire que vous devez exécuter plusieurs terminaux simultanément et vous connecter avec des identifiants différents dans chaque terminal ?

Oui. Chaque terminal dispose de son propre compte de trading.
 
nadya:
Pouvez-vous me dire comment diviser toutes les commandes en deux groupes lors de l'ouverture de chaque commande afin que je puisse voir à quel groupe appartient chaque commande par la suite ? (La MAGIE ne fonctionne pas)

Lorsque vous ouvrez une commande de tel ou tel groupe, vous devez décider par vous-même - mettez un commentaire à la commande dans un groupe, pas dans l'autre. Ensuite, vous analyserez si l'ordre a un commentaire, et si c'est le cas, il appartiendra au premier groupe, et s'il n'y a pas de commentaire, alors il appartiendra au second.
 

Mes amis, j'ai essayé d'écrire un expert en primitifs, mais j'ai eu un accroc !

Il n'y a aucun moyen pour ma logique de l'atteindre...

Si quelqu'un peut vous aider, les paramètres sont les suivants :

Séquence d'actions :

Vérifiez s'il y a des ordres ouverts et en attente.

(s'il y a au moins une action en cours ou une action non ouverte ;

s'il n'y a pas d'ordres - étape 2).

2) Ouvrez un ordre BuyStop à 50 pips du prix actuel, SL=50, TP=100 pour Time=100 minutes.

3. Début.

Paramètres modifiables :

Lots

TakeProfit

StopLoss

TralingStop

Prix (nombre de points à partir du prix actuel auquel l'ordre en attente sera ouvert)

Heure (heure d'expiration de l'ordre en cours)

Aidez-moi !

Merci d'avance !

 
OlegArH:

Mes amis, j'ai essayé d'écrire un expert en primitifs, mais j'ai eu un accroc !

Il n'y a aucun moyen pour ma logique de l'atteindre...

Si quelqu'un peut vous aider, les paramètres sont les suivants :

Séquence d'actions :

Vérifiez s'il y a des ordres ouverts et en attente.

(s'il y a au moins une action en cours ou une action non ouverte ;

s'il n'y a pas d'ordres - étape 2).

2) Ouvrez un ordre BuyStop à 50 pips du prix actuel, SL=50, TP=100 pour Time=100 minutes.

3. Début.

Paramètres modifiables :

Lots

TakeProfit

StopLoss

TralingStop

Prix (nombre de points à partir du prix actuel auquel l'ordre en attente sera ouvert)

Heure (heure d'expiration de l'ordre en cours)

Aidez-moi !

Merci d'avance !

Avez-vous lucette section du manuel ?
 
Roman.:
Avez-vous lu cette section du manuel ?

Aha !

Mais, étant loin de la programmation, j'avais une myriade de questions et de malentendus.

Ça a tué tout l'enthousiasme... (

 
OlegArH:

Aha !

Mais, étant loin de la programmation, j'avais une myriade de questions et de malentendus.

Ça a tué tout l'enthousiasme... (


Dans ce cas, veuillez vous référer aux fils appropriés du forum, par exemple ici...
 

Pouvez-vous me dire comment arrondir le rsi à un nombre entier, et comment modifier la période du rsi (par défaut 14) ?

Merci.

//+------------------------------------------------------------------+
//|                                                  RSI_to_File.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.ru/"

#property show_inputs
string SymbolsArray[11]={"","USDCHF","GBPUSD","EURUSD","USDJPY","CHFJPY","EURGBP","EURCHF","EURJPY","GBPJPY","GBPCHF"};

//+------------------------------------------------------------------+
//| string SymbolByNumber                                   |
//+------------------------------------------------------------------+
string GetSymbolString(int Number)
  {
//----
   string res="";
   res=SymbolsArray[Number];   
//----
   return(res);
  }

//+------------------------------------------------------------------+
//| возвращает период                                                |
//+------------------------------------------------------------------+
int PeriodNumber(int number)
   {
   int per_min;
   switch (number)
      {
     
      case 5: per_min=PERIOD_H4;break;
      default: per_min=PERIOD_D1;break;
      }
   return(per_min);   
   }

//+------------------------------------------------------------------+
//|   выводит в файл котировки + значения индикатора                 |
//+------------------------------------------------------------------+
void RSI_output(string SymbolName,int PeriodMinutes)
   {
   int size=iBars(SymbolName,PeriodMinutes);
//----
   if (size==0) return;
   int handle=FileOpen(SymbolName+PeriodMinutes+"_RSI.csv",FILE_WRITE|FILE_CSV);
   if (handle<0) return;
   FileWrite(handle,"Time;RSI");
   for (int i=size-1;i>=0;i--)
      {
      FileWrite(handle,TimeToStr(iTime(SymbolName,PeriodMinutes,i))
         ,iCustom(SymbolName,PeriodMinutes,"RSI",0,i));
      }
   FileClose(handle);      
//----
   return;
   }
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
  int SymbolCounter,PeriodCounter; 
//----
   for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
      {
      for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
         {
         //Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M");
         RSI_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
         }
      }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Bonjour, j'ai une étrange erreur 4023 lors de l'appel d'une fonction d'une dll auto-écrite, et une fonction de la dll est appelée normalement, l'autre ne l'est pas, quelle est cette erreur, je n'ai pas pu trouver une description de celle-ci, aidez-moi s'il vous plaît.
 
splxgf:
cherchez #property indicator_color1 Red


Il n'est pas dans le code (le mien). ou il devrait être prescrit ? pour les 6 ? Je posterai le code si vous en avez besoin.

p.s. Je dois m'être mal exprimé. L'Expert Advisor est écrit en utilisant l'indicateur MA standard (6 variables, respectivement 6 lignes), sans utiliser d'indicateurs personnalisés. Après avoir testé le conseiller expert et appelé le graphique, je vois 6 lignes rouges. Je dois donc en créer un personnalisé ? Ou bien il existe une ligne permettant d'attribuer des couleurs aux lignes de l'indicateur standard ?

Raison: