[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 241

 

Bonjour Chers membres du forum !!!

Si ça ne vous dérange pas trop, pouvez-vous me donner un indice ?

Il existe un tel indicateur

signalTable.mq4

situé
https://www.mql5.com/ru/code/8179
j'ai décidé à mon aise de le refaire pour moi........L'erreur
'\end_of_program' - unbalanced left parenthesis	C:\Program Files\MetaTrader - Alpari\experts\indicators\signalTable_v1.mq4 (114, 1)
continue d'apparaître pendant la compilation

114 ligne - c'est clair, mais la CONNAISSANCE PREMIÈRE comme elle n'est pas très

Peut-être que quelqu'un suggérera une solution raisonnable .......

Le code lui-même est ci-dessous. (J'ai décidé de remplacer le SAR par le MACD)

//----
#property indicator_chart_window
extern int scaleX=20,
           scaleY=20,
           offsetX=35,
           offsetY=20,
           fontSize=20,
           corner=2,
           symbolCodeBuy=67,
           symbolCodeSell=68,
           symbolCodeNoSignal=73;
extern color signalBuyColor=Gold,
             signalSellColor=MediumPurple,
             noSignalColor=WhiteSmoke,
             textColor=Gold;
int period[]={1,5,15,30,60,240,1440,10080,43200};
string periodString[]={"M1","M5","M15","M30","H1","H4","D1","W1","MN1"},
       // создаем еще один массив с названиями индикаторов
       signalNameString[]={"MA","WPR","MACD"};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   // таблица сигналов
   for(int x=0; x<9; x++)
      for(int y=0; y<3; y++)
        {
         ObjectCreate("signal"+ x+ y,OBJ_LABEL,0,0,0,0,0);
         // изменяем угол привязки
         ObjectSet("signal"+ x+ y, OBJPROP_CORNER, corner);
         ObjectSet("signal"+ x+ y, OBJPROP_XDISTANCE, x* scaleX+ offsetX);
         ObjectSet("signal"+ x+ y, OBJPROP_YDISTANCE, y* scaleY+20);
         ObjectSetText("signal"+ x+ y,CharToStr( symbolCodeNoSignal),
                       fontSize,"Wingdings", noSignalColor);
        }
   // названия таймфреймов    
   for( x=0; x<9; x++)
     {
      ObjectCreate("textPeriod"+ x,OBJ_LABEL,0,0,0,0,0);
      // изменяем угол привязки      
      ObjectSet("textPeriod"+ x, OBJPROP_CORNER, corner);
      ObjectSet("textPeriod"+ x, OBJPROP_XDISTANCE, x* scaleX+ offsetX);
      ObjectSet("textPeriod"+ x, OBJPROP_YDISTANCE, offsetY-10);
      ObjectSetText("textPeriod"+ x, periodString[ x],8,"Tahoma", textColor);
     }
   // названия индикаторов 
   for( y=0; y<3; y++)
     {
      ObjectCreate("textSignal"+ y,OBJ_LABEL,0,0,0,0,0);
      // изменяем угол привязки      
      ObjectSet("textSignal"+ y, OBJPROP_CORNER, corner);
      ObjectSet("textSignal"+ y, OBJPROP_XDISTANCE, offsetX-25);
      ObjectSet("textSignal"+ y, OBJPROP_YDISTANCE, y*( scaleY)+ offsetY+8);
      ObjectSetText("textSignal"+ y, signalNameString[ y],8,"Tahoma", textColor);
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   for(int x=0; x<9; x++)
     {
      // сигнал на покупку
      if(iMA(Symbol(), period[ x],13,0,0,0,0)>iMA(Symbol(), period[ x],24,0,0,0,0))
         ObjectSetText("signal"+ x+"0",CharToStr( symbolCodeBuy), fontSize,"Wingdings", signalBuyColor);
      // сигнал на продажу   
      else if(iMA(Symbol(), period[ x],13,0,0,0,0)<iMA(Symbol(), period[ x],24,0,0,0,0))
          ObjectSetText("signal"+ x+"0",CharToStr( symbolCodeSell), fontSize,"Wingdings", signalSellColor);
     }
   for( x=0; x<9; x++)
     {
      // сигнал на покупку
      if(MathAbs(iWPR(Symbol(), period[ x],13,0))<20.0)
         ObjectSetText("signal"+ x+"1",CharToStr( symbolCodeBuy), fontSize,"Wingdings", signalBuyColor);
      // сигнал на продажу   
      else if(MathAbs(iWPR(Symbol(), period[ x],13,0))>80.0)
            ObjectSetText("signal"+ x+"1",CharToStr( symbolCodeSell), fontSize,"Wingdings", signalSellColor);
      // нет сигнала
      else
           ObjectSetText("signal"+ x+"1",CharToStr( symbolCodeNoSignal), fontSize,"Wingdings", noSignalColor);
     }
   for( x=0; x<9; x++)
     {
      // сигнал на покупку
      if(iMACD(Symbol(), period[ x],(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)<Close[0])
         ObjectSetText("signal"+ x+"2",CharToStr( symbolCodeBuy), fontSize,"Wingdings", signalBuyColor);
      // сигнал на продажу   
      else if(iMACD(Symbol(), period[ x],(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>Close[0])
         ObjectSetText("signal"+ x+"2",CharToStr( symbolCodeSell), fontSize,"Wingdings", signalSellColor);
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   // при удалении нашего индикатора нужно удалить все объекты,
   // которые мы уже создали
   ObjectsDeleteAll();
   return(0);
  }
//+------------------------------------------------------------------+
 
dmmikl86 >> :

Comment attribuer des noms aux tampons dans les indicateurs personnalisés ?


SetIndexLabel(int index, string label) ;

 
igrok2008 >> :

Bonjour Chers membres du forum !!!

Si ça ne vous dérange pas trop, pouvez-vous me donner un indice ?

Il existe un tel indicateur

situé j'ai décidé à un moment donné de le réarranger pour moi........ Je continue à obtenir une erreur pendant la compilation

114 ligne - c'est clair, mais la CONNAISSANCE PREMIERE comme elle n'est pas très

Peut-être que quelqu'un suggérera une solution raisonnable .......

Le code lui-même est ci-dessous. (on a décidé de remplacer le SAR par le MACD)

      if(iMACD(Symbol(), period[ x],(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)<Close[0]))
         ObjectSetText("signal"+ x+"2",CharToStr( symbolCodeBuy), fontSize,"Wingdings", signalBuyColor);
      // сигнал на продажу   
      else if(iMACD(Symbol(), period[ x],(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>Close[0]))
         ObjectSetText("signal"+ x+"2",CharToStr( symbolCodeSell), fontSize,"Wingdings", signalSellColor);

dans la première et la troisième ligne, faites attention aux dernières parenthèses fermantes - il en manque

 

Merci beaucoup alsu, mais la 114ème ligne est

      if(MathAbs(iWPR(Symbol(), period[ x],13,0))<20.0)
         ObjectSetText("signal"+ x+"1",CharToStr( symbolCodeBuy), fontSize,"Wingdings", signalBuyColor);
      // сигнал на продажу   
      else if(MathAbs(iWPR(Symbol(), period[ x],13,0))>80.0)
            ObjectSetText("signal"+ x+"1",CharToStr( symbolCodeSell), fontSize,"Wingdings", signalSellColor);
      // нет сигнала
      else                                      это114 строка
           ObjectSetText("signal"+ x+"1",CharToStr( symbolCodeNoSignal), fontSize,"Wingdings", noSignalColor);
donc quand vous compilez, le lien va à cette ligne, c'est ce qui ne va pas avec.........................................
 

Salutations à tous !

J'ai réfléchi pendant longtemps, alors j'ai décidé de demander l'aide des experts.

D'autant plus que la question est triviale, à mon sens.

Je pense que tu peux le supporter. :)

Voici l'affaire.

Il existe un fichier exel. Les cellules contiennent des données. (Je vais essayer d'être aussi lettré que possible).

kolo/6895.jpg

kolo/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

etc.

Comment faire pour qu'il fonctionne avec Find/Replace ?

kolo/6895.jpg,kolo/6895.jpg,kolo/6895.jpg

kolo/6896.jpg,kolo/6896.jpg,kolo/6896.jpg

kolo/7353.jpg,kolo/7353.jpg,kolo/7353.jpg

kolo/8898.jpg,kolo/8898.jpg,kolo/8898.jpg

kolo/6899.jpg,kolo/6899.jpg,kolo/6899.jpg

il y a tant de choses à écrire sur ..... :)

Merci beaucoup pour le conseil !


 
Sokil >> :

Salutations à tous !

J'ai réfléchi pendant longtemps, alors j'ai décidé de demander l'aide des experts.

D'autant plus que la question est triviale, à mon sens.

Je pense que tu peux le supporter. :)

Voici l'affaire.

Il existe un fichier exel. Les cellules contiennent des données. (Je vais essayer d'être aussi lettré que possible).

kolo/6895.jpg

kolo/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

etc.

Comment faire pour qu'il fonctionne avec Find/Replace ?

kolo/6895.jpg,kolo/6895.jpg,kolo/6895.jpg

kolo/6896.jpg,kolo/6896.jpg,kolo/6896.jpg

kolo/7353.jpg,kolo/7353.jpg,kolo/7353.jpg

kolo/8898.jpg,kolo/8898.jpg,kolo/8898.jpg

kolo/6899.jpg,kolo/6899.jpg,kolo/6899.jpg

il y a tant de choses à écrire sur ..... :)

Merci beaucoup pour ces conseils utiles !



Vous devez dupliquer le contenu trois fois et le séparer par une virgule. La façon la plus simple de le faire est d'utiliser la formule =RC[-1]&","&RC[-1]&","&RC[-1]".

Vous pouvez ensuite copier les cellules et coller leur contenu en tant que valeurs.

 
Merci, c'est une idée !
 

Pourquoi ne pas rendre la tâche plus difficile ?

Je l'ai : kolo/6895.jpg

Do: kolo/6895.jpg,kolo/6895.jpg,kolo/6895_.jpg

=RC[-1]&","&RC[-1]&","&RC[-1]" n'est pas bon ici en ce qui me concerne.

 
Pour certains instruments, par exemple l'EUR/USD, les cotations comportent 5 décimales. Mais dans mes variables d'environnement, les valeurs n'ont que 4 chiffres. Comment puis-je obtenir la valeur complète des variables d'environnement ?
 
Sokil >> :

Pourquoi ne pas rendre la tâche plus difficile ?

Je l'ai : kolo/6895.jpg

Do: kolo/6895.jpg,kolo/6895.jpg,kolo/6895_.jpg

=RC[-1]&","&RC[-1]&","&RC[-1]" ne sera pas utile ici, d'après ce que je comprends.


Quelle est la complication ?

Il y a au moins deux possibilités, la première étant de supprimer le ".jpg" et ensuite l'ajouter dans la formule, le deuxième dans la formule plus longue comme =RC[-1]&","&RC[-1]&","&LEVSIMV(RC[-1] ; DLSTR(RC[-1])-4)&"_"&PRAWSIMW(RC[-1];4), si nécessaire vous pouvez rechercher le séparateur par find, ou en général une boucle élémentaire est faite par VBA.

Il existe une solution pour chaque problème, mais le problème doit être défini avec précision.