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

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
R Quels sont les objets qui ne sont pas différents ? et qu'est-ce que cela signifie de changer le type d'objet, les propriétés vont s'effondrer ?
Cela signifie que si je remplace l'objet ligne horizontale par une ligne de tendance ou une ligne verticale sur le chandelier actuel dans mon code actuel, un objet fonctionnera toujours et il sera rouge quels que soient les paramètres de l'autre objet.
Le but de toutes ces manipulations est de combiner l'indicateur et l'EA, maintenant j'essaie de trouver l'erreur elle-même.
c'est-à-dire qu'il crée des mouvements et des suppressions tout à fait normalement, mais j'ai besoin de bleu quand j'achète, pas de rouge quand je vends de toute façon.Salutations. Pouvez-vous me dire ce qu'est l'entrée entre crochets () après "double bb" et ce qu'est l'entrée entre crochets {} pour"double bb(int buff,int shift)" dans ce cas ?
Également ici. Acheter et Vendre ont le type bool. Comment puis-je savoir ce qui leur est attribué lorsque j'utilise "< , &&, >" ? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
Salutations. Pouvez-vous me dire ce qu'est l'entrée entre crochets () après "double bb" et ce qu'est l'entrée entre crochets {} pour"double bb(int buff,int shift)" dans ce cas ?
Également ici. Acheter et Vendre ont le type bool. Comment puis-je savoir ce qui leur est attribué lorsque j'utilise "< , &&, >" ? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
2) Les variables booléennes sont affectées au résultat de l'expression logique entière, après le signe d'affectation (=). Si toutes les conditions sont vraies, la variable est affectée à vrai, sinon - faux
Cela signifie que si je remplace l'objet ligne horizontale par une ligne de tendance ou une ligne verticale sur le chandelier actuel dans mon code actuel, un objet fonctionnera toujours et il sera rouge quels que soient les paramètres de l'autre objet.
Le but de toutes ces manipulations est de combiner l'indicateur et l'EA, maintenant j'essaie de trouver l'erreur elle-même due à ce qui se passe.
c'est à dire qu'il se déplace et s'efface tout à fait normalement, mais j'ai besoin de bleu quand j'achète, pas de rouge quand je vends de quelque manière que ce soit.Vous vous trompez donc à nouveau dans les paramètres de l'objet graphique.
le plus probable.
Cela semble être un manuel, mais le résultat n'est pas le même, c'est pourquoi j'ai jeté le code ici.
Je ne comprends pas pourquoi il y a une variable globale du terminal client dans le terminal si je ne l'ai pas créée (GlobalVariablesTotal() affiche "1"). Peut-être y a-t-il un préréglage par le terminal ? Alors pourquoi, lorsque je veux connaître son nom et que j'appelle la fonction GlobalVariableName(0) ou GlobalVariableName(1), aucun nom ne s'affiche. Dites-moi quel est le problème ?
Salutations. J'ai besoin d'obtenir les données sur la ligne rouge de l'indicateur qui n'est pas superposée au graphique des prix mais affichée séparément sous celui-ci. J'essaie de le faire comme avec les indicateurs qui sont superposés sur le graphique, mais quelque chose ne va pas. Où ai-je tort ?
Voici l'indicateur lui-même
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 -5
extern string Symbol_1 = "EURUSD";
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0, buf);
SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(4,MA_buf);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1, buf2);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,MA_buf2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(2, buf3);
SetIndexStyle(5,DRAW_NONE);
SetIndexBuffer(5,MA_buf3);
IndicatorShortName("ytg_Def_RSI_3_Symbol");
Comment("yuriytokman@gmail.com");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i);
RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i);
RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i);
RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for(i=limit; i>=0; i--)
{
buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i);
buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i);
buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i);
}
//----
return(0);
}
Salutations. J'ai besoin d'obtenir les données sur la ligne rouge de l'indicateur qui n'est pas superposée au graphique des prix mais affichée séparément sous celui-ci. J'essaie de le faire comme avec les indicateurs qui sont superposés sur le graphique, mais quelque chose ne va pas. Où ai-je tort ?
Voici l'indicateur lui-même
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
Vous ouvrez la fenêtre des paramètres d'entrée et vous les listez dansiCustom dans l'ordre.
Il vous manque les trois premières valeurs de la ligne :