Discussion de l'article "Comment publier un produit sur le Marché" - page 46
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
#propriété indicator_separate_window
#propriété indicator_chart_window
et comment spécifier 2 affichages différents pour des tampons différents ?
ObjectCreate peut vous aider. Dessiner avec des objets.
Vous ne vérifiez pas le FreezeLevel - si le prix est trop proche, par exemple, du niveau StopLoss, le StopLoss ne peut pas être modifié. La distance de gel est simplement déterminée par le niveau FreezeLevel.
Ce n'est pas le stop qui est modifié ici, c'est l'opération qui est clôturée, ou est-ce que je me trompe ?
Ce n'est pas l'arrêt qui est modifié, mais l'opération qui est clôturée, ou est-ce que je me trompe ?
Hé, les gars !
J'espère que tout va bien.
Je viens de créer un EA, quelle est la meilleure façon de le licencier pour le marché mql ? Je veux soumettre cet EA pour le vendre sur le marché mais je ne veux pas ajouter le mauvais type de licence si ce n'est pas nécessaire. Qu'est-ce que vous recommandez ?
Bonjour à tous !
J'espère que tout va bien.
Je viens de créer un EA, quelle est la meilleure façon de le licencier pour le marché mql ? Je veux soumettre cet EA pour le vendre sur le marché mais je ne veux pas ajouter le mauvais type de licence si ce n'est pas nécessaire. Qu'est-ce que vous recommandez ?
Il n'y a qu'une seule façon de proposer/licencier sur le marché MQL5, lisez les règles :
https://www.mql5.com/fr/market/rules
J'ai écrit un Expert Advisor dans MQL4. Je souhaite le mettre sur le marché. Le conseiller expert nécessite deux indicateurs personnalisés, qui ne sont pas disponibles dans le terminal. Je ne comprends pas comment les attacher au conseiller expert avant de l'envoyer pour le tester. Autre chose. Les règles stipulent que le conseiller expert doit être ex5. S'il est écrit en MQL4, comment le rendre ex5?
Il est trop tôt pour aller sur le marché si vous posez de telles questions.
Vous êtes trop jeune pour être sur le marché si vous posez de telles questions.
J'ai trouvé la solution. J'ai attaché des indicateurs à l'Expert Advisor via #resource. Une chose. Avant cela, l'Expert Advisor était rapide, il volait rapidement dans le Tester, mais maintenant la vitesse a diminué de dix fois. J'ai tout fait selon les règles, comme il est écrit dans le Guide, j'ai inséré une fonction pour trouver le chemin de l'indicateur GetRelativeProgramPath() - mais la vitesse est une tortue, un jour teste 5 minutes....
J'ai compris. J'ai attaché des indicateurs à l'Expert Advisor via #resource . Mais il y a une chose... Avant cela, l'Expert Advisor était rapide, il volait rapidement dans le Tester, mais maintenant la vitesse a diminué de dix fois. J'ai tout fait selon les règles, comme il est écrit dans le Guide, j'ai inséré une fonction pour trouver le chemin de l'indicateur GetRelativeProgramPath() - mais la vitesse est tortue, un jour teste 5 minutes....
Les données de l'indicateur sont-elles interrogées à chaque tic-tac ?
Les données de l'indicateur sont-elles interrogées à chaque tic-tac ?
Oui, tout reste comme avant dans le code. Seul l'emplacement de l'indicateur a changé. Auparavant, il était demandé au terminal à partir de \NIndicators, et maintenant il est demandé à partir du programme ex4 lui-même.
#resource "\NIndicateurs\\\\##Contraste.ex4"
///////////
string path=GetRelativeProgramPath() ;
path=path+"::Indicateurs##Contrast.ex4" ;
ContrastMain_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,0,0),Digits) ;
ContrastSignal_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,1,0),Digits) ;
//////////
string GetRelativeProgramPath()
{
int pos2 ;
//--- obtient le chemin absolu vers le programme
string path=MQLInfoString(MQL_PROGRAM_PATH) ;
//--- trouver la position de la sous-chaîne "\MQL4\"
int pos =StringFind(path,"\MQL4\\\\") ;
//--- la sous-chaîne n'a pas été trouvée - erreur
if(pos<0)
return(NULL) ;
//--- Sauter le catalogue "\MQL4".
pos+=5 ;
//--- sauter les "\" inutiles
while(StringGetCharacter(path,pos+1)=='\\\N-')
pos++ ;
//--- s'il s'agit d'une ressource, retourner le chemin relatif au catalogue MQL4
if(StringFind(path,":: :",pos)>=0)
return(StringSubstr(path,pos)) ;
//--- recherche d'un délimiteur pour le premier sous-répertoire en MQL4 (par exemple, MQL4\Indicateurs)
//--- s'il est absent, retourner le chemin relatif au catalogue MQL4
if((pos2=StringFind(path,"\\N",pos+1))<0)
return(StringSubstr(path,pos)) ;
//--- renvoie le chemin relatif au sous-répertoire (par exemple, MQL4\Indicateurs)
return(StringSubstr(path,pos2+1))
}
Oui, tout est identique dans le code. Seul l'emplacement de l'indicateur a changé. Auparavant, il était demandé à partir du terminal de \\NIndicateurs, et maintenant à partir du programme ex4 lui-même.
#resource "\\NIndicateurs\\\\##Contraste.ex4"
///////////
string path=GetRelativeProgramPath() ;
path=path+"::Indicators\N##Contrast.ex4" ;
ContrastMain_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,0,0),Digits) ;
ContrastSignal_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,1,0),Digits) ;
//////////
string GetRelativeProgramPath()
{
int pos2 ;
//--- obtenir le chemin absolu vers le programme
string path=MQLInfoString(MQL_PROGRAM_PATH) ;
//--- trouver la position de la sous-chaîne "\MQL4\"
int pos =StringFind(path,"\MQL4\\N") ;
//--- la sous-chaîne n'a pas été trouvée - erreur
if(pos<0)
return(NULL) ;
//--- Sauter le catalogue "\MQL4".
pos+=5 ;
//--- sauter les "\" inutiles
while(StringGetCharacter(path,pos+1)=='\\\N-')
pos++ ;
//--- s'il s'agit d'une ressource, renvoie le chemin relatif au catalogue MQL4
if(StringFind(path,":: :",pos)>=0)
return(StringSubstr(path,pos)) ;
//--- trouver le séparateur du premier sous-répertoire en MQL4 (par exemple, MQL4\Indicateurs)
//--- s'il n'y a pas de séparateur, retourner le chemin relatif au catalogue MQL4
if((pos2=StringFind(path,"\\N",pos+1))<0)
return(StringSubstr(path,pos)) ;
//--- renvoie le chemin relatif au sous-répertoire (par exemple, MQL4/Indicateurs)
return(StringSubstr(path,pos2+1)) ;
}