Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 579

 
Zolotai:

Les gars, s'il vous plaît, dites-moi. Y a-t-il un moyen d'utiliser un script ou une dinde.

Relever la carte. En d'autres termes, la taille de la fenêtre doit rester la même. Il suffit de relever les cotations pour qu'elles soient comprimées à partir de ce niveau. C'est-à-dire à partir de la distance ou, disons, de l'intervalle qui sera fixé.

Mais pas du tout en bas du tableau...

Je ne l'ai pas vérifié moi-même, mais l'aide a https://docs.mql4.com/ru/constants/chartconstants/charts_samples.

Plus près du milieu de la page.

//+------------------------------------------------------------------+
//| Функция устанавливает значение высоты графика в пикселях.        |
//+------------------------------------------------------------------+
bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим значение свойства
   if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
 

Je travaille sur le code de l'Expert Advisor, mais j'ai un problème avec le calcul du lot.

Tout semble correct, il fonctionne bien dans le testeur, mais quand je le mets sur le compte de démonstration, il ouvre 2 lots, puis génère une erreur qu'il n'y a pas assez d'argent, et c'est tout. J'ai essayé tellement de solutions différentes, je n'ai pas réussi à résoudre le problème. J'ai essayé d'utiliser mon robot forex mais je ne sais pas comment l'utiliser.

J'ai essayé de remplacer la formule orgynique

à

double lots = (AccountBalance()*0.0025*Bid) ;

Mais ça n'a pas marché.

Dossiers :
lklhykvty2.ex4  18 kb
 
366366:

Je travaille sur le code de l'Expert Advisor, mais j'ai un problème avec le calcul du lot.

Tout semble correct, il fonctionne bien dans le testeur, mais quand je le mets sur le compte de démonstration, il ouvre 2 lots, puis génère une erreur qu'il n'y a pas assez d'argent, et c'est tout. J'ai essayé tellement de solutions différentes, je n'ai pas réussi à résoudre le problème. J'ai essayé d'utiliser mon robot forex mais je ne sais pas comment l'utiliser.

J'ai essayé de remplacer la formule orgynique

à

double lots = (AccountBalance()*0.0025*Bid) ;

Mais ça n'a pas marché.

Donnez un fichier avec l'extension mq4 et non ex4.
 
paladin80:
Donnez l'extension de fichier mq4 au lieu de ex4.


excuses
Dossiers :
 
AlexeyVik:
Je ne l'ai pas vérifié moi-même, mais la référence est https://docs.mql4.com/ru/constants/chartconstants/charts_samples.

Plus près du milieu de la page.



Pouvez-vous être plus précis ? Dois-je le mettre dans l'indicateur ou dans le script ?

Je ne suis pas bon en programmation. Dois-je saisir cette fonction et l'appeler à chaque fois ?

Voici une autre question. Que dois-je passer à cette fonction ?

 
366366:

извияюсь
double lots = (AccountBalance()*0.0025*Bid) ;
 

un conseil,

Le conseiller expert utilise plusieurs TF explicitement prescrites.

Un TF n'est pas présent dans les archives des citations (H1),

Je le teste sur des prix 1 minute par ouverture

Le testeur convertit-il lui-même le TF manquant ?

parce que les résultats semblent être les mêmes pour toutes les TF dans l'historique des citations

Où puis-je trouver des informations à ce sujet ?

 

Aide à la compréhension.

Lors de l'ouverture des ordres, TakeProfit =90, StopLoss =30. Les ordres sont fermés uniquement par les niveaux TakeProfit ou StopLoss. Leur valeur diffère d'un facteur 3, et dans le rapport du testeur de stratégie, lors du test du conseiller expert, la transaction la plus rentable = la transaction rentable moyenne = la transaction la plus perdante = la transaction perdante moyenne. Ce n'est que lorsque j'augmente le ratio TakeProfit et StopLoss que la situation change. Je ne peux pas comprendre pourquoi il en est ainsi. Aidez-moi à comprendre.

 
Roger:
double lots = (AccountBalance()*0.0025*Bid) ;


Voici la formule pour calculer le lot pour la paire EURUSD avec un effet de levier de 1:500.

La formule originale était différente, mais aussi pour un effet de levier de 1:500.

Je l'ai modifié à ma façon : double lots = (AccountBalance()*0.0025*Bid) ;

Le problème demeure, il ouvre également 2 lots.

 
hoz:

Je ne comprends pas bien la raison de cette question. Quant à l'algorithme, c'est votre choix. Quant au code, il n'y a rien de compliqué. Les chandeliers ont des prix élevés, bas, ouverts et fermés. Et lorsque ces données sont disponibles, vous pouvez obtenir toutes les autres données du marché, y compris les niveaux Fibo, si nécessaire.

Je ne suis pas familier avec Fibonacci, mais merci pour l'astuce sur la direction à prendre, je suis à l'affût des hauts et des bas depuis longtemps.
Raison: