[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 480

 

Aidez-nous à donner un sens à ce conseiller expert

basé sur l'indicateur alligator
signal d'achat lorsque la ligne verte croise la bleue et la rouge de bas en haut ouvre une position sur Achat
signal de vente lorsque la ligne verte croise la rouge et la bleue de haut en bas ouvre une position sur Vente
les positions sont fermées lorsque StopLoss et TakeProfit


pas d'erreurs pendant la compilation, mais il ya des erreurs lors de l'essai dans le testeur de stratégie
la première erreur en attendant la chaîne de commande n'a pas ouvert ouvert supprimé le code contenant la chaîne de la chaîne de compilé pas d'erreurs a couru dans le testeur de stratégie
fonctionne, mais ouvre seulement vendre la position à l'achat ne veut pas
Pourriez-vous s'il vous plaît regarder et signer ce qui est faux dans le code

Dossiers :
all_2.mq4  2 kb
 
novicek:

Aidez-moi à faire face à cette EA

indicateur d'alligator
un signal d'achat lorsque la ligne verte croise la ligne bleue et que la ligne rouge passe de bas en haut, ce qui ouvre une position d'achat.
un signal de vente lorsque la ligne verte croise la ligne rouge et la ligne bleue, du haut vers le bas, ouvre une position de vente.
les positions sont fermées lorsque le StopLoss et le TakeProfit sont atteints.


pas d'erreurs pendant la compilation, mais quand il est testé dans le testeur de stratégie il ya des erreurs
la première erreur en attendant la chaîne de commande n'a pas ouvert supprimé le code contenant la chaîne de compilé pas d'erreurs exécuter dans le testeur de stratégie
fonctionne, mais ouvre seulement des positions sur la vente sur l'achat ne veut pas
Pourriez-vouss'il vous plaît regarder et écrire ce qui est faux dans le code


Regardez les premières lignes :

OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,magic,Ask , StopLoss * Point, Ask , TakeProfit * Point);
            
OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,magic,Bid , StopLoss * Point, Bid , TakeProfit * Point);

Regardez maintenant la spécification de la fonction OrderSend (voir la description ici https://docs.mql4.com/ru/trading/OrderSend)

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) 

et vérifier si les paramètres sont toujours là

 
novicek:

Qu'il n'y ait aucun doute sur mon alphabétisation
Ne pas mettre de signes de ponctuation, c'est ma lubie, c'est tout.


Lorsque vous appliquez votre règle "ne pas mettre de ponctuation", ne soyez pas surpris de constater que vos questions sont souvent ignorées.

Les gens ont aussi l'habitude de se respecter eux-mêmes.
Ils ont également l'habitude de respecter leur propre langue.

 
Merci, mais je n'ai pas trouvé de solution ici, j'ai besoin d'appliquer la bollinger au rsi, je peux le faire manuellement, mais comment le faire par programme ?
 
ZZZEROXXX:
Merci, mais je n'ai pas trouvé de solution, j'ai besoin d'imposer une bollinger sur le rsi, on peut le faire manuellement, mais comment le faire par programme ?

Bollinger est une MA poussée vers le haut et vers le bas sur la StdDev. Vous pouvez le faire de deux façons.

1. Si vous êtes satisfait de la variation de l'écart entier de Deviat, vous pouvez utiliser la fonction iBandsOnArray

2. Si vous avez également besoin de compter les fractions décimales de Deviat, vous devrez utiliser les fonctions iMAOnArray et iStdOnArray

Il se présente comme suit dans le code :

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_minimum 0
#property indicator_maximum 100

#property indicator_color1 SkyBlue
#property indicator_color2 LimeGreen
#property indicator_color3 LimeGreen
#property indicator_color4 LimeGreen
#property indicator_style2 STYLE_DOT

extern int rsiPeriod=14;
extern int rsiPrice=PRICE_CLOSE;
extern int bbPeriod=20;
extern int bbShift=0;
int bbMethod=MODE_SMA;
extern double bbDeviat=2;

double rsi[], ma[], up[], dn[], stdev[];
//------------------------------------------------------------------    init
int init()
{
  int i=0;
  SetIndexBuffer(i, rsi); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "RSI"); i++;
  SetIndexBuffer(i, ma); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "MA"); i++;
  SetIndexBuffer(i, up); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "UP"); i++;
  SetIndexBuffer(i, dn); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "DN"); i++;
  IndicatorBuffers(5);
  SetIndexBuffer(i, stdev); SetIndexStyle(i, DRAW_NONE); // добавочный буфер расчета
  return(0);
}
//------------------------------------------------------------------    start
int start()
{
  int count=IndicatorCounted(); if (count<0) return; // если ошибка расчета
  int lim=Bars-count; if (lim>1) lim=Bars-1; // если нерасчитано более 1 бара, то полный пересчет
  // 1. получаем массив RSI
  for (int i=lim; i>=0; i--) rsi[i]=iRSI(Symbol(), Period(), rsiPeriod, rsiPrice, i);
  // 2. строим на основе RSI - МА (средняя линия болинджера), StdDev и Верхнюю и Нижнюю границу Боллинджера
  for (i=lim; i>=0; i--) 
  {
    ma[i]=iMAOnArray(rsi, 0, bbPeriod, bbShift, bbMethod, i); // средняя линия
    stdev[i]=iStdDevOnArray(rsi, 0, bbPeriod, bbShift, bbMethod, i); // отклонение
    up[i]=ma[i]+bbDeviat*stdev[i]; // верхняя граница
    dn[i]=ma[i]-bbDeviat*stdev[i]; // нижняя граница
  }
  return(0);
}
Dossiers :
_bbonrsi.mq4  3 kb
 
abolk:

Lorsque vous mettez en œuvre votre parti pris de "ne pas ponctuer", ne soyez pas surpris que vos messages interrogatifs soient fréquemment ignorés.
Les gens ont également tendance à se respecter eux-mêmes.
Ils ont également l'habitude de respecter leur propre langue.

C'est vrai. Cela fait mal aux yeux et vous donne envie de vous détourner.
Et des doutes surgissent de toute façon - "sur mon alphabétisation (éducation)".
 
sergeev:

Dans le code, cela ressemble à ceci :

Merci ! Juste ce dont vous avez besoin.
[Deleted]  
abolk:


Lorsque vous mettez en œuvre votre parti pris de "ne pas ponctuer", ne soyez pas surpris que vos messages interrogatifs soient fréquemment ignorés.

Les gens ont également tendance à se respecter eux-mêmes.
Ils ont également l'habitude de respecter leur propre langue.

Moi, par exemple, je ne sais toujours pas où les mettre, je sais seulement qu'il doit y avoir un point à la fin - je le sais avec certitude. Le russe est la langue la plus difficile. Mais elle a l'avantage de pouvoir s'exprimer d'une manière que toute autre langue lui envierait, surtout le langage des jurons, il est court et simple, je l'utilise parfois quand quelqu'un a du mal à comprendre, vous jurez et tout le monde comprend immédiatement tout et personne ne vient vous poser de questions stupides pendant la journée.
[Deleted]  
Pourriez-vous m'indiquer comment appeler les informations Open[1] et Close[1] de plusieurs TF dans l'Expert Advisor ?
 
Un bzik et un B en russe sont des choses différentes. J'ai un B solide, je suis assez bon.