[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 1066

 
Melena:

Bonjour, chers membres du forum, j'espère beaucoup de votre aide......

La question est donc de savoir ce que vous pensez, chers experts en la matière, si je pense dans la bonne direction, et si non, s'il vous plaît, conseillez ce qui peut être fait avec ces données, comment et où appliquer la régression linéaire ? quelle hypothèse peut être créée et ensuite confirmée ou infirmée ? Je suis moi-même loin d'être un expert dans ce domaine, je n'ai jamais rencontré de statistiques auparavant, et encore moins la méthode exploratoire(((.

Merci d'avance !

Sincèrement,

Milena.

Au cours de l'année, le nombre de clients change radicalement (c'est ce que je comprends), il faut alors envisager la dynamique de changement du nombre de personnes traitées(l'histoire se répète).

S'attacher à l'heure, le 1er décembre de chaque année, je vais où ...

Et ainsi de suite sur tous les points

Ou bien il existe une bonne méthode pour minimiser

http://www.google.com.ua/search ?source=ig&hl=ru&rlz=1G1GGLQ_RUUA357&=&q=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0+%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8+%D1%83%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9+%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D1%8B&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&aq=f&oq=

Desktop_1.zip (2 871.41 KB) supprimer

 
granit77:

Print(iMA("EURUSD", PERIOD_D1, 14, 0, MODE_SMA, PRICE_CLOSE,0)) ;

C'est plus précis.
:) Dormir en mouvement... :)
 
marker:

En principe, c'est probablement ce qui va se passer. Un compte, 8 termes, 8 scripts, chacun enregistrera ses transactions dans un dossier séparé (trié par magie). Pourquoi est-ce que je veux un seul compte, parce que je veux regarder la courbe de l'ensemble du portefeuille.... quelque chose comme ça.... sont maintenant accrochés séparément. Merci pour la réponse :)) Bien que, ce serait plus pratique si toutes les transactions étaient stockées dans un seul fichier, mais triées, ce serait plus pratique, toutes triées dans un seul fichier, pouvez-vous faire cela ?

Cela existe, mais vous n'êtes pas un codeur ;))

https://www.mql5.com/ru/code/8051

 

Bonjour !

Pouvez-vous me dire quelle est la rentabilité de 981 ? Est-ce possible ? Est-ce que la somme de tous les profits positifs est 981 fois supérieure à la somme de toutes les pertes ? (mais le bénéfice est de 24 et le drawdown de 13... ce que je ne comprends pas....). J'optimise par le "facteur de profit".

Où est la baisse de 13 dollars ici... ?


Voici le rapport d'essai :


 

Oui ! !! Extrêmement intéressant. Le résultat est au-delà de tout, je ne suis pas doué pour me tester.

Je ne comprends rien !!!!!!!! j'ai décidé de prescrire un stop suiveur à mon conseiller expert.

La variable vzlet compte le nombre de points de hausse du prix, par rapport au moment où j'ai ouvert l'ordre ; la variable newloss est une nouvelle perte ; elle est égale à la taille de laquelle elle se déplacera lors du déplacement, et à l'intérieur de l'ordre-modification elle est très simplement et clairement prescrite comme Bid+newloss*PointX

Ayant reçu l'erreur 130, pour m'amuser, j'ai créé une variable bylstop=Bid+stoploss*PointX ; -bylstop, qui se souvient de la taille du stop lorsque l'ordre a été ouvert,

-Le résultat est étonnant : la différence entre la nouvelle perte et le bylstop dépasse parfois 200 pips et n'est généralement pas inférieure à 100 pips. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! !!!!!!!!!!!!!!!!!!!!!!!!!!!! Bien sûr, l'erreur est de 130 ! Mais comment cela peut-il être !!!!!! Les formules sont extrêmement simples ! !! Aucune erreur !!!! Ou suis-je un crétin fini ? Je regarde depuis trois jours, je ne comprends pas !!!!.

//+------------------------------------------------------------------+
//| mpm.mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#lien de propriété "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+

extern int BandsPeriod=20, i=1 ; extern int BandsShift=0 ;
extern double BandsDeviations=2.0 ;
extern double Lots=0.1, TakeProfit=60, stoploss=25 ; double PointX ;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10 ; // Point de correction pour trois ou cinq chiffres
if(Digits==4 || Digits==2) PointX = Point ;
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
double ordre ; int ticket;double bylstop ;
int start()
{double newloss=12 ; Alert ("ticket",ticket) ;
double vzlet= (Close[1]-order)/PointX ;

Alert ("vzlet",vzlet) ; int total=OrdersTotal();// Comment(" total ",total) ; Alert (" total ",total) ;
Alert ("PointX",PointX) ;


si (vzlet>=20)
{ for(int i = 0 ; i < total ; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue) ;
Alert ("Modification error",GetLastError());Alert ("newlossbuy",Bid+newloss*PointX);Alert ("bylstopbuy",bylstop);}


si (vzlet<=(-20))
{ for( i = 0 ; i < total ; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue) ;
Alert ("Modification error",GetLastError()) ; Alert ("newlosssell",Ask-newloss*PointX) ; Alert ("bylstopsell",bylstop) ; } }.



if ( total !=0 ){return;}

double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation ;
texte de la chaîne de caractères ; int err ;
text="échantillon macd ;
Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i) ;
int k,counted_bars=IndicatorCounted() ;

//----
//----
for( k = 0 ; k<BandsPeriod ; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average) ;
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres) ;
}




déviation=BandesDeviations*MathSqrt(sum/BandsPeriod) ;
Verhnyayaghranytsa=Moyenne+écart ;
Nyzhnyayaghranytsa=Ecart moyen;//Alert (" sum ",sum) ;
// Alerte (" déviation ",déviation) ;
//----
si (Verhnyayaghranytsa<Close[i])
{Comment(" bouée ",Verhnyayaghranytsa ) ;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green) ;
Alert (" stoploss ",Ask-stoploss*PointX);order=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError()) ;
}


if (Nyzhnyayaghranytsa>Close[i])
{Comment(" vendre ! ",Nyzhnyayaghranytsa ) ;

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red) ;
Alert (" stoploss ",Bid+stoploss*PointX);bylstop=Bid+stoploss*PointX ;
Alert("ErrorOrdersell",GetLastError()) ; order=Close[0] ; }

}
retour(0) ;

//+------------------------------------------------------------------+

2010.12.22 14:22:09 2010.06.03 20:46 EURUSD,H1 : Alerte : bylstopsell1.2247

2010.12.22 14:22:09 2010.06.03 20:46 Thu EURUSD,H1 : Alerte : newlosssell1.2154

2010.12.22 14:22:09 2010.06.03 20:46 Thu EURUSD,H1 : Alerte : Erreur de modification130

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1 : Erreur OrderModify 130

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1 : Alerte : ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1 : Alerte : PointX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1 : Alerte : vzlet16

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1 : Alerte : ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1 : Alerte : PointX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Thunder EURUSD,H1 : Alerte : vzlet16

J'ai inventé cette cogconstruction if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL) pour éviter d'écrire trois fois,

Je mets OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ) ; et je mets OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue) ;

et il y a une erreur où il ne peut pas être !!!!!!!!



En plus de cela, j'ai multiplié PointX0.0001 par 10, puis divisé (bien sûr en dehors de la boucle), bien que cela soit fondamentalement faux, sans en comprendre la raison, et j'ai obtenu un résultat non moins déroutant

//+------------------------------------------------------------------+
//| mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#lien de propriété "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |

//+----------------

--------------------------------------------------+

extern int BandsPeriod=20, i=1 ; extern int BandsShift=0 ;
extern double BandsDeviations=2.0 ;
extern double Lots=0.1, TakeProfit=60, stoploss=25 ; double PointX ;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10 ; // Point de correction pour trois ou cinq chiffres
if(Digits==4 || Digits==2) PointX = Point ;
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
double ordre ; int ticket;double bylstop ;
int start()
{double newloss=12 ; Alert ("ticket",ticket) ; PointX= PointX*10 ;
double vzlet= (Close[1]-order)/PointX ;

Alert ("vzlet",vzlet) ; int total=OrdersTotal();// Comment(" total ",total) ; Alert (" total ",total) ;
Alert ("PointX",PointX) ;


si (vzlet>=20)
{ for(int i = 0 ; i < total ; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue) ;
Alert ("Modification error",GetLastError());Alert ("newlossbuy",Bid+newloss*PointX);Alert ("bylstopbuy",bylstop);}


si (vzlet<=(-20))
{ for( i = 0 ; i < total ; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue) ;
Alert ("Modification error",GetLastError()) ; Alert ("newlosssell",Ask-newloss*PointX) ; Alert ("bylstopsell",bylstop) ; } }.



if ( total !=0 ){return;} PointX = PointX/10 ;

double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation ;
texte de la chaîne de caractères ; int err ;
text="échantillon macd ;
Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i) ;
int k,counted_bars=IndicatorCounted() ;

//----
//----
for( k = 0 ; k<BandsPeriod ; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average) ;
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres) ;
}




déviation=BandesDeviations*MathSqrt(sum/BandsPeriod) ;
Verhnyayaghranytsa=Moyenne+écart ;
Nyzhnyayaghranytsa=Ecart moyen;//Alert (" sum ",sum) ;
// Alerte (" déviation ",déviation) ;
//----
si (Verhnyayaghranytsa<Close[i])
{Comment(" bouée ",Verhnyayaghranytsa ) ;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green) ;
Alert (" stoploss ",Ask-stoploss*PointX);order=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError()) ;
}


if (Nyzhnyayaghranytsa>Close[i])
{Comment(" vendre ! ",Nyzhnyayaghranytsa ) ;

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red) ;
Alert (" stoploss ",Bid+stoploss*PointX);bylstop=Bid+stoploss*PointX ;
Alert("ErrorOrdersell",GetLastError()) ; order=Close[0] ; }

}
retour(0) ;

//+------------------------------------------------------------------+



2010.12.22 14:48:09 2010.06.03 07:40 GMT EURUSD,H1 : Alerte : PointX1.#INF

2010.12.22 14:48:09 2010.06.03 07:40 Thu EURUSD,H1 : Alerte : vzlet0

2010.12.22 14:48:09 2010.06.03 07:40 Thu EURUSD,H1 : Alerte : ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1 : Alerte : PointX1.#INF

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1 : Alerte : vzlet0

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1 : Alerte : ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 Thu Thu EURUSD,H1 : Alerte : PointX1.#INF.



 
Je vois que, dans la deuxième version, si un ordre est ouvert, PointX n'est plus divisé. Mais le problème principal n'est pas pris.
 

Je ne comprends pas la logique de l'attribution d'un ticket. Ce n'est pas un numéro séquentiel, n'est-ce pas ? Il semble que le nombre de billets augmente au fur et à mesure que l'on avance.

Mais comment ça peut être moins un ! !!?

 
Qu'est-ce que PointX, à quoi sert-il ? Point est point, newloss*Point est points newloss
 

Quand je viens d'écrire mon premier EA, ça ne marchait pas, j'ai aussi écrit l'erreur 130, mais pas la modification, et l'ouverture de l'ordre, sur le forum conseillé, ils disent que vous avez une plateforme à cinq chiffres, collez if(Digits==5 || Digits==3) PointX = Point * 10 ; // Correction du point pour trois-cinq chiffres
if(Digits==4 || Digits==2) PointX = Point ; j'ai collé, tout a fonctionné !!!!!!!! J'ai collé, copié, mais je n'ai pas réussi, j'ai trouvé l'erreur là, je vais la trouver moi-même.



 
Dimka-novitsek:

Je ne comprends pas la logique de l'attribution d'un ticket. Ce n'est pas un numéro séquentiel, n'est-ce pas ? Il semble que le nombre de billets augmente au fur et à mesure que l'on avance.

Mais comment ça peut être moins un ! !!?

Il est affiché comme "-1" si l'ordre n'est pas déclenché. Si l 'ordre est exécuté, un numéro lui est attribué.