Questions des débutants MQL4 MT4 MetaTrader 4 - page 75

 
Vitaly Muzichenko:
Et si le bénéfice est de +1, et que les swaps et les commissions sont de -5, alors on peut toujours considérer que c'est rentable ?
Si le bénéfice est de +1 et que les swaps sont de -5, alors on peut toujours considérer qu'il est rentable).
 
Nikolay Gaylis:
Si je ne me trompe pas - je n'utilise même pas ce thème...)

compte, mais le problème ici est qu'en tant que programmeur, vous ne devriez pas avoir la même division que pour un testeur ou un réel.

L'article complet :

OrderProfit()+OrderSwap()+OrderCommission()
 
Nikolay Gaylis:
Si je me trompe ... je n'utilise même pas ce thème).

Vous avez été sournoisement et malicieusement trompé, tout compte ))))
 
Bon après-midi. Pouvez-vous me dire comment ajouter un indicateur non standard dans MT-4 pour android?
Sincèrement, Alexander.
 
Vitaly Muzichenko:
Voici tout ce qui concerne le temps

Oh, merci ! Ça s'est passé comme ça, ça s'est avéré être simple.
extern int     hbG = 18;                 // Часы начала
extern int     mb = 29;                  // Минуты начала
extern int     heG = 18;                 // Часы окончания
extern int     me = 50;                  // Минуты окончания

bool isTradeTimeInt()
{
 int hb = hbG + (TimeGMTOffset()/3600);
 int he = heG + (TimeGMTOffset()/3600);
 datetime db, de;        // Время начала и окончания работы
 int hc;                 // Часы текущего времени торгового сервера
 
 db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ IntegerToString(hb) +":"+IntegerToString(mb));
 de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+IntegerToString(he)+":"+IntegerToString(me));
 hc=TimeHour(TimeCurrent());
 if(db >= de)
 {
  if(hc >= he)
   de+=24*60*60;
  else
   db-=24*60*60;
 }
 if(HOUR==true)
 {
  if(TimeCurrent()>=db && TimeCurrent()<=de)
   return(true);
  else
  {
   if(CountTrades()==0)
    return(false);
  }
 }
 return(true);
}
 
Vitalie Postolache:

Vous avez été sournoisement et malicieusement trompé, tout compte )))).

Merci... Je vais garder ça en tête, ça pourrait être utile).
 

Au secours, les gars, ça fait deux jours que je galère, je n'arrive pas à comprendre quel est le problème.

Je dois programmer la recherche d'un pic sur l'indicateur -

Je le fais de cette façon -

si ( (valeur[1]) < (valeur[2]) && (valeur[2]) > (valeur[3]) )

{

pic = 1 ;

}

sinon pic = 0 ;


En général, je compare la valeur de la bougie du milieu et si elle est supérieure à celle des bougies voisines, le pic est trouvé.

Mais le problème est que cela ne fonctionne qu'à moitié - il trouve le pic mais lorsque les valeurs de l'indicateur continuent d'augmenter

il dessine un nouveau pic à chaque fois pour une raison quelconque, même s'il ne devrait pas ! En même temps, lorsque l'indicateur baisse de manière constante, tout va bien, il ne dessine pas de pics.

Je ne comprends pas quel est le problème.


Voici une capture d'écran. Si le pic = 0, une ligne verticale est tracée sur la bougie suivante après le pic. Tout est correct. Mais lorsque l'indicateur se développe, ils sont également tirés pour une raison quelconque.


 
Vitalie Postolache:
Comment calculez-vous le bénéfice ?

Je pensais que ce serait (Long(1) ou Short(-1)) * (Prix de sortie - Prix d'entrée)-SpreadTester.
Et les swaps sont payés, si j'ai bien compris, lorsque la position est déplacée au-delà de minuit. Et pas tous les courtiers, certains ne tiennent des swaps que le mercredi.
En tout cas, dans mon TS pour être testé, je vais probablement fermer de force les positions tenues jusqu'à minuit.
Cependant, comment calculer correctement le bénéfice en points dans les tests ? Je ne comprends pas ce que le testeur calcule en dollars.
 
John Smith:

Au secours, les gars, ça fait deux jours que je galère, je n'arrive pas à comprendre quel est le problème.

Je dois programmer une recherche d'un pic sur l'indicateur.

Je n'arrive pas à comprendre quel est le problème.

Il est fort probable que vous ayez confondu les valeurs des indicateurs précédents. Si vous avez une nouvelle valeur actuelle avec l'indice [0], alors pour une comparaison correcte, toutes les valeurs passées doivent augmenter de 1.
 
MikeZv:

Je pensais que ce serait (Long(1) ou Short(-1)) * (Prix de sortie - Prix d'entrée)-SpreadTester.
Et les swaps sont payés, si j'ai bien compris, lorsque la position est déplacée au-delà de minuit. Et pas tous les courtiers, certains ne tiennent des swaps que le mercredi.
En tout cas, dans mon TS pour être testé, je vais probablement fermer de force les positions détenues jusqu'à minuit.
Cependant, comment calculer correctement le bénéfice en points dans les tests ? Je ne comprends pas ce que le testeur calcule en dollars.


Donc si vous regardez de près vos transactions, il y a juste un décalage sur celles qui ont été portées pendant la nuit. Il serait logique de compter également l'échange.

Tous les courtiers organisent des swaps pour le forex chaque nuit, le mercredi le swap est doublé.

Le profit en points ne tient pas compte du swap, il signifie simplement (Exit-PriceInPrice)/Point et le swap doit être ajouté d'une manière ou d'une autre, mais ce ne sera pas le profit en pips et autre chose.