Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 625
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
non, ça ne marche pas..... pourquoi l'avons-nous fait ?
MaperiodM5ma_2 = 25 / Period() ; Supposons que nous le mettions sur H1, le résultat sera 25/60=0,41, en int il sera 0, car il n'existe pas de telle МА période, dans ce cas nous utilisons le minimum possible, c'est-à-dire 1. En fait, cela devrait fonctionner, j'utilise parfois de telles variantes, le résultat des échanges diffère insignifiant de la période "native".
Il faut juste réfléchir avant de poser des questions. Fermer et ne pas fermer sont des concepts complètement différents.
La question était très simple : comment faire en sorte que le résultat du test soit le même à n'importe quel moment, si ce n'était pas assez clair, nous essaierons d'être plus détaillés la prochaine fois... Merci !
MaperiodM5ma_2 = 25 / Period() ; Supposons que nous le fixions sur H1, le résultat sera 25/60=0,41, en int il sera 0, car il n'existe pas de telle МА période, dans ce cas nous utilisons le minimum possible, c'est-à-dire 1. En fait, cela devrait fonctionner, j'utilise parfois de telles variantes et le résultat des échanges ne diffère que très peu de la période "native".
Je l'ai eu, merci beaucoup et cela m'a aidé à comprendre certaines choses ... Je n'ai pas encore modifié le résultat mais merci quand même :)
Je l'ai eu, merci et cela m'a beaucoup aidé à comprendre certaines questions ... Je n'ai pas encore modifié le résultat mais merci quand même :)
Cela ne fonctionnera pas pour vous car nous n'avons pas pris en compte les barres du calcul de l'indicateur, j'utilise la barre zéro donc cela fonctionne pour moi et pour vous les 1ères et 2èmes barres, vous ne pouvez pas les "convertir" en passant à une échelle de temps supérieure.
Cela ne fonctionnera pas pour vous car nous n'avons pas pris en compte les barres du calcul de l'indicateur, j'utilise la barre zéro donc cela fonctionne pour moi et pour vous les 1ères et 2èmes barres, vous ne pouvez pas les "convertir" lorsque vous passez à une échelle de temps supérieure.
Je l'ai eu.... Je vais l'essayer maintenant.
//| T3MA_ALARM.mq4 |
//| Copyright © 2011, Martingeil |
//| fx.09@mail.ru |
//+------------------------------------------------------------------+
//исправленный Martingeil, теперь можно в тестере увидеть его стрелки.
#property copyright "Copyright © 2011, Martingeil"
#property link "fx.09@mail.ru"
//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- indicator parameters
extern int period = 4; //12
extern int shift = 0; //сдвиг по бару
//---- indicator buffers
double BufferUp[],BufferDn[];
int q,st=5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
//---- drawing settings
SetIndexStyle(0,DRAW_ARROW,2);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW,2);
SetIndexArrow(1,234);
SetIndexBuffer(0,BufferUp);//стрелка синяя верх
SetIndexBuffer(1,BufferDn);//стрелка красная вниз
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("T3MA-ALARM ("+period+")");
//---- initialization done
if(Digits==3 || Digits==5) q=10;
st=st*q;
return(0);}
int deinit()
{
ObjectDelete("low");
ObjectDelete("high");
}
//+----------------------------------------------------------------------+
//| Moving Average of Oscillator |
//+----------------------------------------------------------------------+
int start()
{
//---- ArraySetAsSeries --------------------------------------------------
double Ma[500],MaOn[500];
double y0[500],y1[500],y2[500];
int i,limit=ArraySize(Ma);
ArraySetAsSeries(Ma,true);
//---- IndicatorCounted --------------------------------------------------
int counted_bars=IndicatorCounted();
int limit1=Bars-counted_bars;
if (limit1>1){limit1=Bars-period-1;}
//---- EMA ---------------------------------------------------------------
for(i=limit1; i>=0; i--) Ma[i] =iMA(NULL,0,period,0,MODE_EMA,PRICE_CLOSE,i);
for(i=limit1; i>=0; i--) MaOn[i]=iMAOnArray(Ma,limit,period,0,MODE_EMA,i);
for(i=limit1; i>=0; i--)
{
y0[i+shift]=MaOn[i+shift];
y1[i+1+shift]=MaOn[i+1+shift];
y2[i+2+shift]=MaOn[i+2+shift];
if(y0[i+shift]-y1[i+1+shift]<0 && y1[i+1+shift]-y2[i+2+shift]>0){BufferDn[i+1]=High[i+1]+st*Point;}//продажа
if(y0[i+shift]-y1[i+1+shift]>0 && y1[i+1+shift]-y2[i+2+shift]<0){BufferUp[i+1]=Low[i+1]-st*Point;}//покупка
//---- Signal Trend Up || Dn ---------------------------------------------
if(y0[i]-y1[i+1]>0) Comment ("\n SWAPLONG = ",MarketInfo(Symbol(),MODE_SWAPLONG),
" SWAPSHORT = ",MarketInfo(Symbol(),MODE_SWAPSHORT),"\n BUY TREND ",DoubleToStr(Close[i],Digits));
else if(y0[i]-y1[i+1]<0) Comment ("\n SWAPLONG = ",MarketInfo(Symbol(),MODE_SWAPLONG),
" SWAPSHORT = ",MarketInfo(Symbol(),MODE_SWAPSHORT),"\n SELL TREND ",DoubleToStr(Close[i],Digits));
}
//---- done
return(0);}
//+---------------------------------------------------------------------+
Je veux faire un EA qui entrerait en position lorsqu'une flèche apparaît, quelle condition doit être écrite dans l'EA ?
Et voici l'EA elle-même :
//| million.mq4 |
//| Словаков Максим |
//| www.rubrf.ru |
//+------------------------------------------------------------------+
#property copyright "Словаков Максим"
#property link "www.rubrf.ru"
#property version "1.00"
#property strict
extern int Risk = 1;//риск на зделку
extern int Magic = 123; //магическое число
int x;
int y;
int v;
int z;
//+------------------------------------------------------------------+
int start()
{
double strelka=iCustom(NULL,0,"strelka",10,0,1,0);
double ma = iMA(NULL,0,72,0,MODE_SMMA,PRICE_CLOSE,0);
double atr = iATR(NULL,0,72,0);
double lotBuy = ((Risk*AccountEquity())/(1*(Ask-(Ask-atr)))/10000000);
double lotSell = ((Risk*AccountEquity())/(-1*(Bid-(Bid+atr)))/10000000);
if(OrdersTotal()==0)
{
if(ma<Bid)
{
if(какое здесь нужно условие написать?)
{
x=OrderSend(Symbol(),OP_BUY,lotBuy,Ask,3,Ask-atr,0,"www.rubrf.ru",Magic,0,Blue);
}
}
if(ma>Bid)
{
if( какое здесь нужно условие написать? )
{
y=OrderSend(Symbol(),OP_SELL,lotSell,Bid,3,Bid+atr,0,"www.rubrf.ru",Magic,0,Red);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
Est-il possible de télécharger des graphiques pour l'analyse technique, - indices S & P 500 Futures Chart, TA 25 Chart, et le S & P 500 Chart si possible peut demander comment faire cela, peut-être il y a une explication de comment télécharger !
Je ne trouve pas un tel courtier, pouvez-vous me conseiller un programme d'analyse technique, qui me permet de télécharger les indices qui m'intéressent (peut être en temps réel) ou un courtier.
Peut-être y a-t-il une possibilité de télécharger ces indices MT-4 ou MT-5. Je commence tout juste à essayer de faire de l'analyse technique, j'aimerais beaucoup avoir l'avis d'un expert sur la façon de mener à bien ma tâche.
Je vous remercie d'avance de votre aide.Est-il possible de télécharger des graphiques pour l'analyse technique, - indices S & P 500 Futures Chart, TA 25 Chart, et le S & P 500 Chart si possible peut demander comment faire cela, peut-être il y a une explication de comment télécharger !
Je ne trouve pas un tel courtier, pouvez-vous me conseiller un programme d'analyse technique, qui me permet de télécharger les indices qui m'intéressent (peut être en temps réel) ou un courtier.
Peut-être y a-t-il une possibilité de télécharger ces indices MT-4 ou MT-5. Je viens de commencer à essayer de faire de l'analyse technique, j'aimerais avoir l'avis d'un expert sur la manière de faire face à mon problème.
Par avance, je vous remercie de votre aide.C'est possible, il suffit de le convertir au bon format, il y a même des courtiers qui ont ces outils. Alpari SIP les a.
Bonjour à tous !
Besoin d'aide, de conseils.
Je ne peux pas passer de données de type chaîne à la DLL. Ou bien le type de la variable est erroné, ou encore elle est écrite dans un mauvais encodage.
DLL dans Delphi :
Ne faites pas attention aux variables Path et Simbol. Un non-sens illisible est systématiquement écrit dans le fichier.
J'ai essayé tous les types de variables Stroka(Pchar,String, ShortString, AnsiString) et toujours quelque chose comme "0 0 : 0 3 : 0 6 : : 1 . 3" a essayé de changer d'encodage - toujours illisible.
Tout est réglé.
Tout est écrit en ASCII UTF-8 avec des espaces automatiquement ajoutés après chaque caractère "utile". Et il n'est pas possible de transférer plus de 26 caractères (13 utiles). Je vais devoir passer quelques variables et ensuite me connecter. D'une certaine façon...