Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1017

 
Bonjour mes amis, je fais actuellement du trading avec l'aide d'un EA,
Pouvez-vous me dire si je peux utiliser ces paramètres pour écrire mon propre EA ?
------------------------------------------------------------------------------
GrilleA=vrai
GrilleB=vrai
GrilleC=vrai
OrdersSideOptimize=true
StopTradeAfterTP_GridA=false
StopTradeAfterTP_GridB=false
StopTradeAfterTP_GridC=false
MaxTrades_GridA=15
MaxTrades_GridB=15
MaxTrades_GridC=15
MagicNumber_GridA=7771
MagicNumber_GridB=7772
MagicNumber_GridC=7773
MaxLots=100.0
AutoMM=3.0
T6="Paramètres des lots"
BaseOrderLevel=1
LotExponent=1.33
T7="Paramètres TakeProfit".
TakeProfit=125.0
Dérapage=3.0
T10="Paramètres des étapes"
Pas_GridA=170.0
Step_GridB=170.0
Step_GridC=200.0
DistanceExponent=1.18
BaseDistanceOrder=10

Salutations à vous Noble Savage
 

Bon après-midi. Tu peux me dire quelque chose ?


Lors de la compilation, une erreur est signalée.

if(flag_Cl_Buy = "on" && Ask>=BB)

'&&' - utilisation d'une opération illégale

Ce personnage est un ET logique. La traduction de '&&' est une opération illégale. )))

Qu'est-ce qu'il y a ? ))

Branchement standard. Faire ce qui est dans la condition 1(flag_Cl_Buy = "on") et la valeur du prix est supérieure à ce qui est spécifié. Qu'est-ce qui ne va pas avec cet ET ? ??


 
Gilmor:

Bon après-midi. Tu peux me dire quelque chose ?


Lors de la compilation, une erreur est signalée.

'&&' - utilisation d'une opération illégale

Ce personnage est un ET logique. La traduction de '&&' est une opération illégale. )))

Qu'est-ce qu'il y a ? ))

Branchement standard. Faites ce qui est dans la condition 1(flag_Cl_Buy = "on") et la valeur du prix est supérieure à ce qui est spécifié. Qu'est-ce qui ne va pas avec cet ET ? ??


==

Donc la comparaison est "==", vous avez oublié un signe.

 
Gilmor:

Bon après-midi. Tu peux me dire quelque chose ?


Lors de la compilation, une erreur est signalée.

'&&' - utilisation d'une opération illégale

Ce personnage est un ET logique. La traduction de '&&' est une opération illégale. )))

Qu'est-ce qu'il y a ? ))

Branchement standard. Faire ce qui est dans la condition 1(flag_Cl_Buy = "on") et la valeur du prix est supérieure à ce qui est spécifié. Qu'est-ce qui ne va pas avec cet ET ? ??


Vous ne comparez pas, vous attribuez.

if(flag_Cl_Buy = "on" && Ask>=BB)

La comparaison ressemble à ceci :

if(flag_Cl_Buy == "on" && Ask>=BB)
 
dodon_:
Bonjour Chers amis, Je suis actuellement en train de trader avec l'aide de mon Expert Advisor,
Pouvez-vous me dire si je peux écrire mon propre EA sur la base de ces paramètres ?

D'après le peu de réponses que j'ai vues, vous pouvez écrire n'importe quoi, et même les bonnes personnes vous diront où se trouvent les questions et les erreurs. Mais personne ne vous écrira et, avec des questions aussi vagues, on vous enverra le plus souvent à la bourse.

https://www.mql5.com/ru/job

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Добрый день. Нужно написать советника на основе мартингейла работающего в обе стороны с усреднениями на ТФ м1/м5/м15/Н1/Н4/D1 , с тейк профитом но без стоп лоса, для центового счета, с функцией привязки советника на определенные счета. Требуются данные входные параметры для управления советником: Стратегия GridA: включить/выключить стратегию...
 
Vladimir Karputov:

Vous ne comparez pas, vous attribuez.

La comparaison ressemble à ceci :

Merci beaucoup. =)

 

Je m'excuse d'avance. Encore quelques questions.

Veuillez m'indiquer les points que je ne comprends pas. MQL4


void OnTick()
  {
//---
............
тело самого советника
.........
return;
  }

Quelles sont les erreurs ? Il génère.

OnTick" - les déclarations de fonctions sont autorisées uniquement dans le cadre global, l'espace de noms ou la classe.

OnTick' - fonction déjà définie et possédant un corps.

voir la déclaration précédente de la fonction "OnTick".

'}' - Voici une erreur à la fin du programme

Comme il met en évidence les parenthèses, j'ai vérifié deux fois. Il s'agit de la parenthèse fermante de la fonction "OnTick".

Avant cette fonction, il n'y a que la déclaration des variables et int OnInit(), void OnDeinit(const int reason)

-----------------------------

J'ai volé une solution simple sur ce forum pour fermer tous les ordres.

for(z=OrdersTotal()-1; z>=0; z--)    // закрытие всех ордеров.
        {
         if(OrderSelect(z,SELECT_BY_POS)==true && OrderSymbol() == Symbol())
           {
            OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red);
           }
        }

Il me donne une icône jaune et me demande de revérifier la valeur retournée. Je n'ai pas besoin de vérifier la valeur de retour. A quoi fait-elle allusion ?

------------------------------

Opérateur de commutateur

Joli interrupteur. Expression faite

switch(flag_1)

Comme son nom l'indique, le drapeau. Il passe à l'une des valeurs du drapeau pendant le calcul en fonction de la solution. Des marqueurs. Les marqueurs, c'est-à-dire les valeurs de ce drapeau, sont 3. Il s'agit de "zéro", "BUY", "SELL".

string flag_1 = "zero";

void OnTick()
  {
switch(flag_1)
     {

      case "zero":
  .............
...............
break;
     case "BUY":
 .............
...............
 break;
    case "SELL":
 .............
...............
 break;
return;
}
}

Et il n'aime pas tout. Ni leflag_1 lui-mêmeni ses valeurs. Comment pouvons-nous le réparer ? Je ne veux pas qu'on m'impose des chiffres. Visuellement, il est plus difficile de comprendre s'il n'y aura que des chiffres x = 1, 2 ou 3. :( Les étiquettes de texte ne sont-elles pas autorisées ?

-------------------------------

// Удалить старую отложку
            OrderDelete(OrderBufer_B[i].ticket,clrRed);
            if(OrderSelect(OrderBufer_B[i].ticket,SELECT_BY_TICKET,MODE_TRADES) = true)
              {
               OrderDelete(OrderBufer_B[i].ticket,clrRed);
              }  // повторить

Erreurs

La valeur de retour de 'OrderDelete' doit être vérifiée.

OrderSelect' - l-value obligatoire

'=' - valeur l requise

Ce processus a-t-il un sens ? Est-il nécessaire de mettre toutes mes actions liées à des commandes dans une boucle jusqu'à ce qu'elles soient effectuées ? Ou le serveur, même s'il est occupé en ce moment, traitera-t-il quand même votre demande ?

Je comprends que si nous parlons d'ordres sur le marché pour acheter/vendre maintenant, alors au moment des nouvelles quand le serveur sera libre, le prix peut déjà aller loin et alors l'ordre ne sera pas exécuté.




 
Gilmor:

Je m'excuse d'avance. Encore quelques questions.

Veuillez m'indiquer les points que je ne comprends pas. MQL4


Quelles sont les erreurs ? Il génère.

OnTick" - les déclarations de fonctions sont autorisées uniquement dans le cadre global, l'espace de noms ou la classe.

OnTick' - fonction déjà définie et possédant un corps.

voir la déclaration précédente de la fonction 'OnTick'.

'}' - Voici une erreur à la fin du programme

Comme il met en évidence les parenthèses, j'ai vérifié deux fois. Il s'agit de la parenthèse de fermeture de la fonction "OnTick".

Avant cette fonction, il n'y a que la déclaration des variables et int OnInit(), void OnDeinit(const int reason)

-----------------------------

J'ai volé une solution simple sur ce forum pour fermer tous les ordres.

Il me donne une icône jaune et me demande de revérifier la valeur retournée. Je n'ai pas besoin de vérifier la valeur de retour. A quoi fait-elle allusion ?

------------------------------

Opérateur de commutateur

Joli interrupteur. Expression faite

Comme son nom l'indique, le drapeau. Il passe à l'une des valeurs du drapeau pendant le calcul en fonction de la solution. Des marqueurs. Les marqueurs, c'est-à-dire les valeurs de ce drapeau, sont 3. Il s'agit de "zéro", "BUY", "SELL".

Et il n'aime pas tout. Ni leflag_1 lui-mêmeni ses valeurs. Comment pouvons-nous le réparer ? Je ne veux pas qu'on m'impose des chiffres. Visuellement, il est plus difficile de comprendre s'il n'y aura que des chiffres x = 1, 2 ou 3. :( Les étiquettes de texte ne sont-elles pas autorisées ?

-------------------------------

Erreurs

La valeur de retour de 'OrderDelete' doit être vérifiée.

OrderSelect' - l-value obligatoire

'=' - valeur l requise

Ce processus a-t-il un sens ? Est-il nécessaire de mettre toutes mes actions liées à des commandes dans une boucle jusqu'à ce qu'elles soient effectuées ? Ou le serveur, même s'il est occupé en ce moment, traitera-t-il quand même votre demande ?

Je comprends que si nous parlons d'ordres d'achat / vente du marché maintenant, alors au moment de la nouvelle quand le serveur sera libre, le prix peut déjà aller loin et alors la demande ne sera pas exécutée.




Les résultats de OrderSend, OrderDelete, OrderClose, OrderModify doivent être vérifiés. Ce ne sont que des règles de décence élevées au rang d'avertissements.

Et les erreurs "lvalue" sont vos erreurs de comparaison et d'affectation préférées.

PS/ et bien on n'apprend pas la programmation MT. MT est une application difficile.

 
Gilmor:

Je m'excuse d'avance. Encore quelques questions.

Veuillez m'indiquer les points que je ne comprends pas. MQL4


Quelles sont les erreurs ? Il génère.

OnTick" - les déclarations de fonctions sont autorisées uniquement dans le cadre global, l'espace de noms ou la classe.

OnTick' - fonction déjà définie et possédant un corps.

voir la déclaration précédente de la fonction "OnTick".

'}' - Voici une erreur à la fin du programme

Comme il met en évidence les parenthèses, j'ai vérifié deux fois. Il s'agit de la parenthèse fermante de la fonction "OnTick".

Avant cette fonction, il n'y a que la déclaration des variables et int OnInit(), void OnDeinit(const int reason)

-----------------------------

J'ai volé une solution simple sur ce forum pour fermer tous les ordres.

Il me donne une icône jaune et me demande de revérifier la valeur retournée. Je n'ai pas besoin de vérifier la valeur de retour. A quoi fait-elle allusion ?

------------------------------

Opérateur de commutateur

Joli interrupteur. Expression faite

Comme son nom l'indique, le drapeau. Il passe à l'une des valeurs du drapeau pendant le calcul en fonction de la solution. Des marqueurs. Les marqueurs, c'est-à-dire les valeurs de ce drapeau, sont 3. Il s'agit de "zéro", "BUY", "SELL".

Et il n'aime pas tout. Ni leflag_1 lui-même, ni ses valeurs. Comment pouvons-nous le réparer ? Je ne veux pas qu'on m'impose des chiffres. Visuellement, il est plus difficile de comprendre s'il n'y aura que des chiffres x = 1, 2 ou 3. :( Les étiquettes de texte ne sont-elles pas autorisées ?

-------------------------------

Erreurs

La valeur de retour de 'OrderDelete' doit être vérifiée.

OrderSelect' - l-value obligatoire

'=' - valeur l requise

Ce processus a-t-il un sens ? Est-il nécessaire de mettre toutes mes actions liées à des commandes dans une boucle jusqu'à ce qu'elles soient effectuées ? Ou le serveur, même s'il est occupé en ce moment, traitera-t-il quand même votre demande ?

Si nous parlons d'ordres d'achat/de vente maintenant, alors au moment des nouvelles, lorsque le serveur sera libre, le prix peut s'éloigner et l'ordre ne sera pas exécuté.




Vous avez 2 fonctions OnTick


L'expression de l'opérateur de commutation doit être de type entier.

 
Artyom Trishkin:

Oui, créez un sujet séparé. Essayez simplement de choisir la bonne section du forum dans laquelle créer le sujet.

Oui, ok. Est-ce que"MQL4 et MetaTrader 4" est correct ? Ou est-ce mieux dans "Indicateurs" ?
Raison: