Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1947

 
Vitaly Muzichenko #:

Je ne comprends pas le principe de l'indentation à partir du bas pour qu'il y ait un espacement régulier sur plusieurs rangées.

C'est là que je ne peux pas commencer.

Commencez par donner la valeur du niveau inférieur 1, la valeur du deuxième niveau 2 et ainsi de suite. Alors vous pouvez le diminuer. Si c'est pour mql4, alors vous avez besoin de 2 tampons par niveau si vous n'avez que 2 couleurs. Pour mql5, il devrait y avoir 2 tampons par niveau, données et couleur. La verticalité est ajustée par la hauteur de la fenêtre de l'indicateur.

 

Dites-moi, je n'ai rien trouvé. Comment faire passer l'heure du serveur avec des décalages différents à l'heure du méta-quota. Je fais quelque chose, mais c'est au mauvais endroit et je n'aime pas ça. Je me souviens que Saber a même mentionné un décalage été-hiver, mais je n'ai pas pu le trouver.

Mes réflexions sont les suivantes. Nous n'avons que des heures compensatoires locales disponibles chez tous les courtiers. Nous ne connaissons pas les horaires des autres courtiers. Bien sûr, nous pouvons utiliser les variables globales du terminal, bien que ce ne soit pas sûr, ou les fichiers, mais c'est beaucoup plus facile - le shift incut nécessaire. Nous obtenons l'équipe du courtier. Nous calculons la différence ET TimeShift + différence*3600, en tenant compte du signe de la différence.

Est-ce correct ?

Ajouté.

Cool, dans MT vous pouvez seulement obtenir le décalage entre l'heure GMT et l'heure locale)))) Pas de décalage entre l'heure du serveur et GMT......

Heh, décidé))) Motivé par Dmitry Fedoseyev))))

class CTradeTimeGMT{
protected:
int StartTime;
int EndTime;
int GMTRatio;
public:
void Init(int StartHour, int StartMinute, int EndHour, int EndMinute, int GMTshift){
StartTime=3600*StartHour+60*StartMinute;
EndTime=3600*EndHour+60*EndMinute;
GMTRatio=(GMTshift*3600)-int(((TimeCurrent()-TimeGMT())/3600)*3600);
}
bool Check(){
int CurTime=(int)((TimeCurrent()+GMTRatio)%86400);
if(StartTime<EndTime){
return(CurTime>=StartTime && CurTime<EndTime);
}
else{
return(CurTime>=StartTime || CurTime<EndTime);
}
}
};

input int STARTHour = 16;
input int STARTMinute = 13;
input int ENDHour = 19;
input int ENDMinute = 59;
input int GMTShift=2;   // сдвиг который нужен для всех брокеров при указании времени


CTradeTimeGMT tt;

int OnInit()
  {
//---
  tt.Init(STARTHour,STARTMinute,ENDHour,ENDMinute,GMTShift); 
//---
   return(INIT_SUCCEEDED);

void OnTick()
  {
 FlagTrade=tt.Check();
if( !FlagTrade )return;

// торговое время одинаковое для всех
}
 
Bonjour, J'essaie de publier un Expert Advisor sur le marché avec un code simple, mais il ne passe pas la validation dans la section version. Aidez-moi à comprendre pourquoi le code ne passe pas la validation. Il y a deux erreurs dans le rapport de test. La première est que tous les messages devraient être en anglais, je l'ai corrigée, et la deuxième erreur :Vous devriez ajouter la possibilité de vérifier les fonctions de trading pour les erreurs dans le Strategy Tester.
1. Il est interdit d'ajouter des restrictions au fonctionnement du Produit, en fonction du temps, du type ou du nombre de comptes de trading, de l'instrument financier, etc.
2. Pour un News Expert Advisor, vous pouvez générer des tests de nouvelles d'importance différente plusieurs fois par jour.
3. Pour un conseiller expert multi-devises, ajoutez la possibilité de négocier une seule paire de devises.Je joins le fichier de code du conseiller expert.Seulement si vous le pouvez, vous pouvez corriger toutes les erreurs dans le fichier, et ensuite expliquer ce qui était faux.
Dossiers :
2nd3.mq4  12 kb
 

Veuillez indiquer où il faut "creuser" pour envoyer un signal lorsque le prix atteint la ligne horizontale standard sur le graphique à un autre appareil avec le même compte,

Merci d'avance, merci

 
BIOs #:

Veuillez indiquer où il faut "creuser" pour envoyer un signal lorsque le prix atteint la ligne horizontale standard sur le graphique à un autre appareil avec le même compte,

Merci d'avance, merci

deux terminaux via le serveur DC, ne partagent que le statut des transactions et l'historique du compte.

si Alice veut envoyer un message à Bob, elle émet une pause.

ou comme dubrowski cherche un autre duplo :-)

 

Une question s'est posée. Le défi. J'ai un dépôt de 2 000 $ et un effet de levier de 100. Le lot à placer est de 20% du montant, soit 400 $ de lots. Comment calculer le niveau stoploss, afin que la perte soit de 50% pour les paires de cotation inverse eurusd, direct usdjpy et cross gbpchf.

Et une autre question, contra T, dans l'onglet actif nous voyons le montant réel de l'argent dans le dépôt, mais dans le terminal pouvons-nous voir le montant de l'argent avec l'effet de levier et le niveau de l'effet de levier ?

Il est clair que nous pouvons faire une demande et tout obtenir.))))

 
Valeriy Yastremskiy #:

Une question s'est posée. Le défi. J'ai un dépôt de 2 000 $ et un effet de levier de 100. Le lot à placer est de 20% du montant, soit 400 $ de lots. Comment calculer le niveau stoploss, afin que la perte soit de 50% pour les paires de cotation inverse eurusd, direct usdjpy et cross gbpchf.

Et une autre question, contra T, dans l'onglet actif nous voyons le montant réel de l'argent dans le dépôt, mais dans le terminal pouvons-nous voir le montant de l'argent avec l'effet de levier et le niveau de l'effet de levier ?

Il est clair que nous pouvons faire une demande et tout obtenir))))

je peux voir le montant réel de l'argent sur le dépôt, effet de levier 100, niveau de marge 60% (j'ai besoin de savoir où se trouve la mise de marge). dans le message original, c'est en quelque sorte absent. si je voulais dire "charge de dépôt", c'est-à-dire l'utilisation des fonds.

PS/ compte du maximum possible pour ouvrir et soutenir un lot sur l'instrument. C'est 100% de celui-ci que vous voulez ouvrir 1/5 (utilisez 20% de vos fonds) et à partir de ce volume, basé sur le prix du tick par lot, calculez le niveau de stop-loss

 
Maxim Kuznetsov #:

Si vous avez un dépôt de 2000, un effet de levier de 100, un niveau de marge de 60% (vous devez savoir où se trouve l'appel de marge), il manque en quelque sorte dans le message original.

Si vous voulez dire "charge de dépôt", en d'autres termes, l'utilisation des fonds. Heh, oui, exactement, je n'ai pas pris en compte qu'à 1100 quelque part par lui-même arrête)))) au lot minimum 0,01, il s'avère juste 1000. Eh bien, on peut faire une perte de 30%. La question portait sur le calcul de formules de taux inverses et croisés. Je le comprends avec mon esprit, mais je dois déduire des formules et parfois je les obtiens avec des erreurs))).

 
Comment calculer la charge du dépôt dans le testeur MT5 par code ? Il s'agit d'un dépôt de charge. Merci !
 
Valeriy Yastremskiy #:

Heh, oui, exactement, je n'ai pas pris en compte qu'à 1100 quelque part s'arrêtera )))) avec un lot minimum de 0.01, il s'avère juste 1000. Eh bien, on peut faire une perte de 30%. La question portait sur le calcul de formules de taux inverses et croisés. Je devrais comprendre avec mon esprit, mais je dois déduire des formules et parfois je les obtiens avec des erreurs).

Vous devez prendre en compte la valeur du point

Je peux vous donner le code, mais il vous faudra beaucoup de temps pour le comprendre, il est gros, il prend également en compte le lot maximum possible sur la marge.