Bonjour à tous ! J'ai un indicateur - écrit en mql5 que je voudrais utiliser pour créer un EA. Lorsque je crée un EA, je ne trouve pas les tampons dont j'ai besoin, c'est comme si je ne les avais pas du tout. C'est comme ça que je fais :
{
//--- indicator buffers mapping SetIndexBuffer(2,BuyBuffer,INDICATOR_DATA);
ResetLastError();
double handle3 = 0;
double handle4 = 0;
double UP = 0;
double DW = 0;
for (int i=1; i<11; i++)
{
UP = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,2,i);
DW = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,3,i);
if (handle3==0)
if (UP != EMPTY_VALUE)
handle3=1;
if (handle4==0)
if (UP != EMPTY_VALUE)
handle4=1;
if (handle3>0 && handle4)
break;
}
Comment(DoubleToString(handle3,Digits())+"\n"+DoubleToString(handle3,Digits()));
return(INIT_SUCCEEDED);
}
Quelle que soit la façon dont je modifie ou ajoute une ligne iCustom, j'obtiens toujours la même chose dans le journal :
Bonjour à tous ! J'ai un indicateur - écrit en mql5 que je voudrais utiliser pour créer un EA. Lorsque je crée un EA, je ne trouve pas les tampons dont j'ai besoin, c'est comme si je ne les avais pas du tout. C'est comme ça que je fais :
Quelle que soit la façon dont je modifie ou ajoute une ligne iCustom, j'obtiens toujours la même chose dans le journal :
Il s'avère que j'ai besoin d'un stop loss - (je ne pouvais pas comprendre pourquoi il a fermé immédiatement) j'ai ajouté un stop loss.
Merci beaucoup ! !!
Vous avez fait un bon travail, mais je suis intéressé par un algorithme complètement différent pour l'EA. Je voudrais utiliser une simple Martingale (tamis) avec ces paramètres personnalisables :
input group "======== МАРТИН ========";
inputint MMType = 1; // 1 - вкл. , 2 - выкл.
inputdouble Multiplikator = 1.667; // множитель следующего лота
inputdouble Step = 150.0; // Расстояние между ордерами
input group "==== МАНИ МЕНЕДЖМЕНТ ====;
inputbool LotConst = true; // фиксированный - true, или от баланса - falseinput group "-: фиксированный лот :--";
inputdouble Lot = 0.01; // первый фиксированный лот, если МАРТИН включен
input group "---: лот от баланса :---";
inputdouble RiskPercent = 30.0; // первый лот в процентах от баланса, если МАРТИН включен
input group "== ПРИБЫЛЬ В ПУНКТАХ ===";
inputdouble TakeProfit = 56.0; // параметры тейкпрофита в пунктах
input group "========= Шаг ==========";
inputdouble Step = 150.0; // шаг в пунктах между ордерами
input group "===== ОГРАНИЧИТЕЛЬ =====";
inputint MaxTrades = 15; // Максимальное количество ордеров одного направления
input group "=== ПРОСКАЛЬЗОВАНИЕ ====";
inputdouble Slippage = 5.0; // Допустимое проскальзывание на новостях в пунктах
input group "== МАГИЧЕСКИЙ НОМЕР ===";
inputint Magic = 1111111 ; // Идентификатор ордера (Магик №)
mais ajoutez-y l'indicateur que j'ai mis - ci-dessus. Et utilisez-le comme un déclencheur (false - fonctionne uniquement en SHORT et true - fonctionne uniquement en LONG).
J'ai choisi cet indicateur - seulement parce qu'il fonctionne comme les Moyennes Mobiles, mais il a quelques filtres de lissage et des points de changement de direction de prix, qui peuvent être utilisés comme un déclencheur pour que l'EA travaille seulement sur la tendance en utilisant les paramètres de profit du menu.
Et dès que le take profit est fermé, nous ouvrons l'ordre suivant dans la même direction (dans la tendance), jusqu'à ce que la tendance soit terminée et que notre déclencheur soit inversé. Si un ordre apparaît hors tendance (au moment où la tendance passe d'un état à un autre), nous devons utiliser Martins avec les paramètres du menu correspondant.
Si vous souhaitez contribuer à la rédaction d'une telle évaluation, je vous en serais très reconnaissant.
Maintenant sur le sujet :
Je comprends que dans mon code de l'indicateur lui-même - ce ne sont pas des tampons d'indicateur, mais des tableaux de tampons et vous - dans le Conseiller Expert les avez amenés dans l'indicateur.
J'ai compris que dans mon code de l'indicateur lui-même - les tampons de l'indicateur ne sont pas situés, mais des tableaux de tampons et vous - dans le Conseiller Expert les avez amenés à l'indicateur.
Veuillez me dire si j'ai bien compris.
Je suis autodidacte et je ne suis pas en mesure de l'expliquer, j'ai juste sélectionné les fonctions dont j'ai besoin.
Je copie essentiellement les codes de Vladimir Karputov, merci beaucoup ! - Si vous avez des questions, il vous les posera.
S'il vous plaît, dites-moi de quelle classe vous devez hériter pour utiliser toutes les méthodes de ces classes.
d'utiliser toutes les méthodes de ces classes à l'intérieur de votre classe, sans création d'objets à l'intérieur de votre classe ?
L'héritage consiste à créer une classe.
Bonjour à tous !
J'ai un indicateur - écrit en mql5 que je voudrais utiliser pour créer un EA.
Lorsque je crée un EA, je ne trouve pas les tampons dont j'ai besoin, c'est comme si je ne les avais pas du tout.
C'est comme ça que je fais :
{ //--- indicator buffers mapping SetIndexBuffer(2,BuyBuffer,INDICATOR_DATA); ResetLastError(); double handle3 = 0; double handle4 = 0; double UP = 0; double DW = 0; for (int i=1; i<11; i++) { UP = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,2,i); DW = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,3,i); if (handle3==0) if (UP != EMPTY_VALUE) handle3=1; if (handle4==0) if (UP != EMPTY_VALUE) handle4=1; if (handle3>0 && handle4) break; } Comment(DoubleToString(handle3,Digits())+"\n"+DoubleToString(handle3,Digits())); return(INIT_SUCCEEDED); }Quelle que soit la façon dont je modifie ou ajoute une ligne iCustom, j'obtiens toujours la même chose dans le journal :
2021.06.26 17:59:42.251 Proba (EURUSD,M15) 1.00000
Et le commentaire : 1.00000 et encore 1.00000.
Aidez-moi à comprendre - est-il adapté à la création d'une EA, ou dois-je l'affiner, ou peut-être fais-je quelque chose de mal ?Dans MT5, il est utilisé différemment. Consultez l'exemple dans l'aide.
iCustom
Renvoie le handle de l'indicateur personnalisé spécifié.
https://www.mql5.com/ru/docs/indicators/icustom
Dans MT5, il est utilisé différemment. Consultez l'exemple dans l'aide.
iCustom
Renvoie le handle de l'indicateur personnalisé spécifié.
https://www.mql5.com/ru/docs/indicators/icustom
Je commence tout juste à programmer et je vous demande d'être indulgent avec moi.
Je commence à soupçonner que cela nécessite une fonction supplémentaire
Veuillez expliquer.... où .... et comment.... ?
Bonjour à tous !
J'ai un indicateur - écrit en mql5 que je voudrais utiliser pour créer un EA.
Lorsque je crée un EA, je ne trouve pas les tampons dont j'ai besoin, c'est comme si je ne les avais pas du tout.
C'est comme ça que je fais :
Quelle que soit la façon dont je modifie ou ajoute une ligne iCustom, j'obtiens toujours la même chose dans le journal :
2021.06.26 17:59:42.251 Proba (EURUSD,M15) 1.00000
Et le commentaire : 1.00000 et encore 1.00000.
Aidez-moi à comprendre - est-il adapté à la création d'une EA, ou dois-je l'affiner, ou peut-être fais-je quelque chose de mal ?Code :
Résultat :
Bonjour à tous !
J'ai un indicateur - écrit en mql5 - que je voudrais utiliser pour créer un EA.
Je l'ai fait ici - cela semble fonctionner ! (où le jaune est pour les tampons)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
J'ai également besoin d'un stop loss(je n'ai pas réussi à comprendre pourquoi il a fermé immédiatement).
Je commence à soupçonner que cela nécessite une fonction supplémentaire
C'est vrai. Vous connectez l'indicateur dans OnInit, y définissez les paramètres et obtenez son handle. Et ensuite utiliser le CopyBuffer.
https://www.mql5.com/ru/docs/series/copybuffer
Je l'ai fait - il semble que cela fonctionne ! (où le jaune représente les tampons)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Il s'avère que j'ai besoin d'un stop loss - (je ne pouvais pas comprendre pourquoi il a fermé immédiatement) j'ai ajouté un stop loss.
Merci beaucoup ! !!
Vous avez fait un bon travail, mais je suis intéressé par un algorithme complètement différent pour l'EA. Je voudrais utiliser une simple Martingale (tamis) avec ces paramètres personnalisables :
mais ajoutez-y l'indicateur que j'ai mis - ci-dessus. Et utilisez-le comme un déclencheur (false - fonctionne uniquement en SHORT et true - fonctionne uniquement en LONG).
J'ai choisi cet indicateur - seulement parce qu'il fonctionne comme les Moyennes Mobiles, mais il a quelques filtres de lissage et des points de changement de direction de prix, qui peuvent être utilisés comme un déclencheur pour que l'EA travaille seulement sur la tendance en utilisant les paramètres de profit du menu.
Et dès que le take profit est fermé, nous ouvrons l'ordre suivant dans la même direction (dans la tendance), jusqu'à ce que la tendance soit terminée et que notre déclencheur soit inversé. Si un ordre apparaît hors tendance (au moment où la tendance passe d'un état à un autre), nous devons utiliser Martins avec les paramètres du menu correspondant.
Si vous souhaitez contribuer à la rédaction d'une telle évaluation, je vous en serais très reconnaissant.
Passons maintenant au sujet :
Je suis autodidacte et je ne suis pas en mesure de l'expliquer, j'ai juste sélectionné les fonctions dont j'ai besoin.
Je copie essentiellement les codes de Vladimir Karputov, merci beaucoup ! - Si vous avez des questions, il vous les posera.
Je comprends que vous ayez besoin d'un indicateur pour filtrer !
Vous devez faire passer votre conseiller expert par ce filtre.