[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 89

 
volshebnik:
Merci beaucoup ! Cela a fonctionné, mais rarement, parfois la même erreur se produit - 130....... ( Dois-je toujours normaliser les arrêts ou seulement sur les indices ? (juste sur les paires de devises les stops ont toujours fonctionné sans normalisation, à mon avis).


Ajoutez au code :

if ( Error!=0 )
  Print("OrderSend()  Error=",Error," ОткрФрвверх=",ОткрФрвверх," SL=",SL," TP=",TP);

et d'analyser.

 
artmedia70:

artemida70, j'ai un problème avec le test d'un EA. Je dois supprimer l'ancien historique, qui se trouve dans le dossier historique du répertoire du terminal. Je ne sais pas comment entrer dans le répertoire du terminal, j'ai essayé toutes les icônes et je n'ai trouvé nulle part ce que je cherche. Je n'ai pas encore eu à supprimer des données historiques. Il y a probablement plusieurs fichiers dans le dossier historique, si c'est le cas, lequel contient les données historiques ? Je ne veux pas causer de problèmes supplémentaires. Par ailleurs, si cela ne vous dérange pas, je n'ai pas de stabilisateur sur mon ordinateur et j'ai eu une panne de courant aujourd'hui. J'allume le terminal et la barre d'état et les barres d'outils ont disparu à l'écran. Je les ai remis en marche, mais après avoir éteint le terminal, ils ont à nouveau disparu. Je sais que je l'ai déjà fait une fois et j'ai trouvé dans le manuel de l'utilisateur comment le réinitialiser, mais maintenant je ne peux plus le faire, je dois tout relire une fois de plus. Vous êtes les bienvenus. :)

 

coronel, artmedia70, merci beaucoup pour vos réponses et compléments.

Il s'avère que j'ai un problème non pas avec le code, mais avec quelque chose d'autre (probablement déjà avec ma tête :-))). Aucun des scripts ne fonctionne, mais tous les EAs fonctionnent. J'ai commencé à attacher au graphique tous les scripts que j'ai trouvés dans mon MT4, et aucun d'entre eux ne fonctionne - par exemple, le script close (copyright metaquotes), le script ByMarketBuySymbols (copyright KimIV) et d'autres. Ils ont tous été chargés avec succès, puis immédiatement retirés. Le bouton "Expert Advisors" est activé. Je n'ai pas vérifié un seul terminal, mais deux - Life et Fx4U. J'ai essayé les deux, ils ne sont peut-être pas tous les deux défectueux. Que faire ? Comment faire pour que les scripts fonctionnent ?

 

Déplacé d'un fil séparé.

anastar88 10.02.2011 13:28

Bonjour, dans cet EA les alertes apparaissent toutes les 5-10 sec. et j'ai besoin uniquement des signaux de trading M30, qui sont marqués par des points verts et rouges sur les graphiques. quelqu'un peut-il m'aider ? Merci.


//ADX Crossing.mq4 
//| Amir
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
//---- input parameters
extern int ADXbars=14;
extern int CountBars=350;
//---- buffers
double val1[];
double val2[];
double b4plusdi,nowplusdi,b4minusdi,nowminusdi;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,108);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,108);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
int i,shift,counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- initial zero
if(counted_bars<1)
{
for(i=1;i<=CountBars;i++) val1[CountBars-i]=0.0;
for(i=1;i<=CountBars;i++) val2[CountBars-i]=0.0;
}
for (shift = CountBars; shift>=0; shift--)
{
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift-1);
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift-1);
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);
if (b4plusdi>b4minusdi && nowplusdi<nowminusdi && i!=1)
{
val1[shift]=Low[shift]-5*Point;
Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
i++;
}
if (b4plusdi<b4minusdi && nowplusdi>nowminusdi && i!=1)
{
val2[shift]=High[shift]+5*Point;
Alert("Sell Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
i++;
}
}
return(0);
}
//+------------------------------------------------------------------+




Fichiers joints:

ADXpCrossingqw_Alerts.mq4 (2.47 KB)


 
Zhunko:

XP ? Si c'est le cas, attendez un peu. Je vais en poster un nouveau bientôt.

Il fonctionne sur Vista et 7. Tout XP ne fonctionne pas. Sur certains, c'est très bien.

================

Posté. Il sera dans la tirelire demain ou après-demain.


Oui - XP.
 

A écrit un excellent robot "expert" (il n'y a pas d'autre façon de le dire qu'entre guillemets).

Il tient compte de tous les derniers développements de la communauté MQL.

Il ouvre parfaitement les positions - il n'y a rien à redire.

Les Stop Loss fonctionnent parfaitement ! !! )))

Mais il ne veut pas payer le propriétaire...salope...))))

 
2011.02.10 13:10:54 EURCHF,M1 : Alerte : Erreur OrderClose4063
Quelle est la cause de cette erreur ?
 
regardez dans la fiche d'information
 
Dimka-novitsek:

2011.02.10 13:10:54 EURCHF,M1 : Alerte : Erreur OrderClose4063
Quelle est la cause de cette erreur, s'il vous plaît ?

Trouvez d'où vient cette erreur, regardez bien. Il doit s'agir d'un nombre entier (entier).

Peut-être utilisez-vous un double ou un string... Il s'agit uniquement d'une option. Ça pourrait aussi être autre chose.

Faites une recherche.

Code d'erreur : " le paramètre de type integer est en attente ".

 

Merci. Et c'est pourquoi je ne le comprends pas tout de suite,

if (OrdersTotal( ) !=0) {
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket, Lots, Ask, 5, 0 ) ;

Et mon billet est exactement un doublet, pas un integer !!!!.

Raison: