script erroné
script erroné
if cs1 and cs2 and cs3 then
short=1
else
short=0
endif
bonjour j ai un message d'erreur "lua: main.lua:20: syntax error near 'if'"
et je ne trouve pas la solution aussi si qq pouvait m'aider ?
Merci
short=1
else
short=0
endif
bonjour j ai un message d'erreur "lua: main.lua:20: syntax error near 'if'"
et je ne trouve pas la solution aussi si qq pouvait m'aider ?
Merci
Re: script erroné
Bonjour Charles et bienvenue sur le forum
Je traduit la ligne en question : Si cs1 et cs2 et cs3 alors short=1 sinon short=0 fin
Il manque en effet quelque chose.
Maintenant sans l'ensemble de ton code, il est difficile de aiguiller sur la syntaxe que tu cherches.
Pour info, il y a des balises code (avec le bouton </>) qui permettent de séparer le code de ton message : ça facilite la lecture.
Il y a beaucoup de code sur le forum tu devrais trouver des exemples.
J'ai écris quelques lignes à propos de la programmation dans ma signature. Ça peut t'aider à démarrer
Je traduit la ligne en question : Si cs1 et cs2 et cs3 alors short=1 sinon short=0 fin
Il manque en effet quelque chose.
Maintenant sans l'ensemble de ton code, il est difficile de aiguiller sur la syntaxe que tu cherches.
Pour info, il y a des balises code (avec le bouton </>) qui permettent de séparer le code de ton message : ça facilite la lecture.
Il y a beaucoup de code sur le forum tu devrais trouver des exemples.
J'ai écris quelques lignes à propos de la programmation dans ma signature. Ça peut t'aider à démarrer
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: script erroné
Yup, totalement d'accord avec Keros. Il manque une information pour t'aider.
L'erreur ligne 20 est très probablement causée par ce qui précède. Au pif, je dirais qu'il manque un end ou une accolade fermante } pour terminer la déclaration précédente (ou même plus haut dans le script).
L'erreur ligne 20 est très probablement causée par ce qui précède. Au pif, je dirais qu'il manque un end ou une accolade fermante } pour terminer la déclaration précédente (ou même plus haut dans le script).
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Re: script erroné
Je dirais end et non pas endif
Envoyé de mon SM-J710F en utilisant Tapatalk
Envoyé de mon SM-J710F en utilisant Tapatalk
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: script erroné
J'avais pas vu, merci thier 
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: script erroné
Keros a écrit : 17 nov. 2020, 12:51 Bonjour Charles et bienvenue sur le forum![]()
Je traduit la ligne en question : Si cs1 et cs2 et cs3 alors short=1 sinon short=0 fin
Il manque en effet quelque chose.
Maintenant sans l'ensemble de ton code, il est difficile de aiguiller sur la syntaxe que tu cherches.
Pour info, il y a des balises code (avec le bouton </>) qui permettent de séparer le code de ton message : ça facilite la lecture.
Il y a beaucoup de code sur le forum tu devrais trouver des exemples.
J'ai écris quelques lignes à propos de la programmation dans ma signature. Ça peut t'aider à démarrer
merci de ta réponse
voici l ensemble du code et le messsage d erreur est [string "code"]:20: syntax error near 'if'
myMA50=exponentialaverage[50](close)
myMA100=exponentialaverage[100](close)
ATR=averagetruerange[14](close)
cs1= myMA7[1]<myMA7[2]
c1=myMA7[1]>myMA7[2]
timing= time>=080000 and time<220000
c2=high>high[1]+2.5 and close>myMA7 and close>open
cs2=low<low[1]-2.5 and close<myMA7 and close<open
c3=abs(high[1]-myMA50[1])>ATR or abs(high[1]-myMA100[1])>ATR
cs3=abs(low[1]-myMA50[1])>ATR or abs(low[1]-myMA100)>ATR
if c1 and c2 and c3 then
long=1
else
long=0
endif
if cs1 and cs2 and cs3 then
short=1
else
short=0
endif
//test=c3
//drawtext("#test#",barindex,lowest[3](low)-ATR0.5pipsize,SansSerif,Bold,10) COLOURED(0,155,10)
if long=1 and long[1]=0 and timing then
ENTREE=high[1]+2.5
//ENTREEmod=ENTREE mod 1000
DRAWARROWUP(barindex,low) COLOURED(0,155,10)
//drawtext("Break=#ENTREEmod#",barindex,lowest[3](low)-ATR0.5pipsize,SansSerif,Bold,10) COLOURED(0,155,10)
drawtext("---",barindex,ENTREE,SansSerif,Bold,20) coloured (0,155,10)
endif
if short=1 and short[1]=0 and timing then
ENTREE=low[1]-2.5
//ENTREEmod=ENTREE mod 1000
DRAWARROWDOWN(barindex,high) COLOURED(255,0,10)
//drawtext("Break=#ENTREEmod#",barindex,highest[3](high)+ATR0.5pipsize,SansSerif,Bold,10) COLOURED(255,0,10)
drawtext("---",barindex,ENTREE,SansSerif,Bold,20) coloured (255,0,0)
endif
return
Re: script erroné
Je répète endif n'existe pas. c'est end.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: script erroné
oui j ai enlevé endif mais cela ne fonctionne toujours pas
-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: script erroné
4 remarques :
- Quand on demande de l'aide, on peut au moins mettre à disposition le source qui correspond à l'erreur dont on parle et être plus précis que "cela ne fonctionne toujours pas" ; je pense que l'erreur indiquée est différente maintenant que les endif ont disparu.
- Indenter un script lua le rend plus lisible et met parfois en évidence des erreurs de structure.
- Les commentaires en lua sont constitués de deux manières : -- ou bien pour un groupe de lignes --[[ suivi de --]]. Le // c'est pour d'autres langages.
- Si le code que tu montres est entier, tu n'es pas au bout de tes peines, l'interpréteur va rapidement te parler d'index nil

Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Re: script erroné
J'aurai du lire la suite des réponses. Avec le code complet c'est clair que ce n'est pas du lua donc oubli ma remarque sur les endif.
Envoyé de mon SM-T533 en utilisant Tapatalk
Envoyé de mon SM-T533 en utilisant Tapatalk
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.