Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 96
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
Bonjour !
S'il vous plaît, aidez-moi à écrire un EA.
L'essence de l'Expert Advisor : ouvre 4 ordres de 1 lot.
2 à vendre : usdchf ; eurusd ;
2 à acheter : gbpusd ; usdjpy ;
Lorsque vous atteignez un profit total de 5 pips, fermez toutes les transactions. Et recommencer.
4 lots au total ?
Et s'il n'y a pas de profit ?
Bonjour !
S'il vous plaît, aidez-moi à écrire un EA.
L'essence de l'Expert Advisor : ouvre 4 ordres de 1 lot.
2 à vendre : usdchf ; eurusd ;
2 à acheter : gbpusd ; usdjpy ;
Lorsque vous atteignez un profit total de 5 pips, fermez toutes les transactions. Et recommencer à zéro.
Il n'est pas nécessaire de répéter votre question dans plusieurs fils de discussion.
Veuillez contacter Freelance.
Salutations.
Pouvez-vous me dire comment écrire la condition pour que l'action soit exécutée à l'ouverture d'une nouvelle bougie sur le graphique actuel ?
Bonjour, aidez-moi à comprendre les tableaux !
Je dois remplir un tableau avec l'indicateur MASD. Si je comprends bien, il y a des données : l'indice de la barre, la valeurMODE_MAIN, la valeurMODE_SIGNAL, c'est-à-dire que le tableau devrait être de type tridimensionnel ( a [] [] []), ou quoi? Si vous pouvez donner un exemple.
https://www.mql5.com/ru/articles/159
Sergey, avez-vous déjà utilisé ce code vous-même ?
L'article est généralement bon, mais c'est...
très dangereux. Pour que cela fonctionne, vous devez, comme le recommande le batteur, "secouer" l'historique périodiquement. Je n'ai pas précisé à quel endroit.
En général, après beaucoup de souffrance, j'ai conclu qu'il est préférable d'utiliser la fonction CopyRates()
Les messages concernant les erreurs éventuelles sont remplis par chacun d'entre nous si nous le voulons.
{
static datetime timeLastBar;
MqlRates mqlRates[];
int s = 0;
do
{
s++;
}
while(CopyRates(_Symbol, PERIOD_CURRENT, 0, 1, mqlRates) < 0 && s < 7);
bool ret = timeLastBar != mqlRates[0].time;
if(ret)
timeLastBar = mqlRates[0].time;
return(ret);
}/*******************************************************************/
Sergey, avez-vous déjà utilisé ce code vous-même ?
L'article est généralement bon, mais c'est...
très dangereux. Pour que cela fonctionne, vous devez, comme le recommande le batteur, "secouer" l'historique périodiquement. Le lieu n'a pas été précisé.
Alexey, dis-moi, quand as-tu rencontré des erreurs en l'utilisant ? Vous en avez déjà eu un ?
J'utilise moi-même cette méthode et je n'ai pas rencontré de problème. Eh bien, peut-être que je dois encore le faire ?
J'aimerais avoir des explications - pour ainsi dire... :)
Où le batteur a-t-il dit ça ?
Alexei, dis-moi, quand as-tu rencontré des erreurs avec cette utilisation ? L'avez-vous déjà fait ?
Parce que j'utilise moi-même cette méthode et que je n'ai pas encore rencontré de problème. Eh bien, peut-être que je dois encore le faire.
J'aimerais avoir des explications - pour ainsi dire... :)
Où Drubashka a-t-il dit une telle chose ?
https://www.mql5.com/ru/forum/89213
Il y a huit pages de chamailleries. Et pas seulement drubashka, mais Slawa dit que
Où voyez-vous un comportement inadéquat de cette fonction ? Avez-vous lu attentivement la documentation?
Renvoie des informations sur l'état des données historiques. Ne met pas à jour les informations, n'initie pas l'échange de données. Il suffit de rendre ce qui est là pour le moment.
Alexei, dis-moi, quand as-tu rencontré des erreurs avec cette utilisation ? L'avez-vous déjà fait ?
Parce que j'utilise moi-même cette méthode et que je n'ai pas encore rencontré de problème. Eh bien, peut-être que je dois encore le faire.
J'aimerais avoir des explications - pour ainsi dire... :)
Où le batteur a-t-il dit ça ?
Et voilà le tressaillement.
Cela n'a pas fonctionné sur un symbole dans un terminal (sur l'échelle de temps M15) - je suis sûr à 99% que le problème est qu'en utilisant une autre échelle de temps, je dois "secouer" l'historique tout le temps. Je pense que c'est mieux de le faire par CopyTime().
Alexei, dis-moi, quand as-tu rencontré des erreurs avec cette utilisation ? L'avez-vous déjà fait ?
Par exemple, dans le terminal MT5 il y a quelques Expert Advisors (MACD Sample et Moving Averages), mais si vous voulez changer le handle de l'indicateur dans le code de ces Expert Advisors et mettre un TF spécifique, par exemple PERIOD_H4, au lieu de "_Period", alors dans le test par les prix ouverts du TF plus élevé, l'erreur de chargement de l'indicateur suivant se produit : cannot load indicator 'MACD' [4805] and as a result : tester stopped because OnInit failed. Quelles sont vos opinions ? Peut-être que je fais quelque chose de mal ? Est-il possible de coder le conseiller expert de manière à ce qu'il soit testé pour les prix ouverts de n'importe quel TF ?
J'ai essayé d'utiliser l'indicateur comme un indicateur personnalisé, l'erreur est la même.
Merci d'avance pour vos commentaires.
int OnInit(void)
{
//--- préparer la classe de commerce pour contrôler les positions si le mode de couverture est actif.
ExtHedging=((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) ;
ExtTrade.SetExpertMagicNumber(MA_MAGIC) ;
ExtTrade.SetMarginMode() ;
//--- Indicateur de moyenne mobile
ExtHandle=iMA(_Symbol,PERIOD_H4,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE) ;
si(ExtHandle==INVALID_HANDLE)
{
printf("Erreur lors de la création de l'indicateur MA") ;
return(INIT_FAILED) ;
}
//--- ok
return(INIT_SUCCEED) ;
}