Questions des débutants MQL5 MT5 MetaTrader 5 - page 75

 
mario065:

Une fonction a été écrite pour l'ouvrir :

'=' - l-value required 

Ça a donné une erreur.

Est-ce que

 if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
      {
if(SL = 0 && T_P = 0)
{
  ModifyPosition(_Symbol,NormalizeDouble((Open - 0.003),Digits()),NormalizeDouble((Open + 0.003),Digits()));
}

и

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
    {
    if(!PositionGetDouble(POSITION_SL))
      {
      PositionModify(_Symbol,NormalizeDouble((Open-STR),Digits()),NormalizeDouble((Open+TP),Digits()));
      }

ce n'est pas la même chose ?

Je suppose que dans les deux cas, le stoploss est fixé au début d'une nouvelle barre et non d'un Tick.

Je ne peux pas envoyer de stoploss et de takeprofit lors de l'ouverture d'un ordre - car le serveur ne le permet pas. Vous devez d'abord ouvrir l'ordre et le modifier ensuite.

 
Lester:

Ça a donné une erreur.

Est-ce que

и

ce n'est pas la même chose ?

Je suppose que dans les deux cas, le stoploss est placé au début d'une nouvelle barre, et non au début d'un Tick.

Je ne peux pas envoyer de StopLoss et TakeProfit lors de l'ouverture d'un ordre - car le serveur ne le permet pas. Je dois d'abord ouvrir la commande et la modifier ensuite.

if(SL == 0 && T_P == 0)

Désolé, j'ai besoin de deux signes égaux - je ne l'ai pas vérifié, je l'ai écrit directement.

 

OnTick

L'événement NewTick est généréuniquement pour les Expert Advisors lorsqu'un nouveau tick est reçu pour un symbole, sur le graphique auquel l'Expert Advisor est attaché. Il est inutile de définir la fonction OnTick() dans un indicateur ou un script personnalisé, car l'événement Tick n'est pas généré pour eux.

L'événement Tick est généré uniquement pour les Expert Advisors, mais cela ne signifie pas que les Expert Advisors doivent avoir la fonction OnTick(), car non seulement les événements Tick sont générés pour les Expert Advisors, mais aussi Timer, BookEvent et ChartEvent. Doit être déclaré avec le type void, n'a pas de paramètres:

voidOnTick

Ceci est bien sûr tiré de la documentation.

Ce n'est pas la même chose ?

 

Eh bien, pour l'asc et l'enchère, il y a d'autres façons de faire :

MqlTick  tick;
tick.ask-tick.bid
 
mario065:

Eh bien, pour l'asc et l'enchère, il y a d'autres façons de faire :

О ! Ça marche ! Merci !) ))
 
FinEngineer: Y a-t-il des développeurs MQL5 dans ce fil de discussion ? Peut-être que je pose une question dans la mauvaise branche ? Alors dites-moi comment poser une question aux développeurs ? La question ci-dessus est élémentaire pour un programmeur expérimenté...

Et vous savez que votre code fonctionne bien. Voici une image de vos valeurs par défaut, sur une paire croisée :

 
Yedelkin:

Et vous savez que votre code fonctionne bien. Voici une image de vos valeurs par défaut, sur paires croisées :

2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) tableau hors limites dans 'Pair_delta_RSI.mq5' (96,37)
2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Toutes les données de RSI1_Handle ne sont pas calculées (-1barres ). Erreur4806

J'obtiens ces erreurs dès que je colle l'indicateur sur un graphique (j'ai aussi pris la croix et ce code). Qu'est-ce qui peut bien se passer ? Merci d'avance.


 
FinEngineer 2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) tableau hors limites dans 'Pair_delta_RSI.mq5'(96,37)

Et montrez-moi la ligne de code à laquelle le terminal fait référence (j'ai moi-même supprimé les lignes vides, donc je ne peux pas les distinguer).

FinEngineer : 2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Toutes les données de RSI1_Handle ne sont pas calculées (-1bars ). Erreur4806

Peut-être que l'histoire du courtier est fausse... Essayez d'ouvrir un compte sur MetaQuotes-Demo, ouvrez les graphiques mensuels des symboles souhaités (pour injecter suffisamment d'historique dans la base du terminal), puis exécutez l'indicateur sur un symbole arbitraire et l'horizon temporel souhaité.

 
Yedelkin:

Et montrez-moi la ligne de code à laquelle le compilateur fait référence (j'ai moi-même supprimé les lignes vides, donc je ne peux pas comprendre).

Peut-être que l'histoire du courtier est tordue... Essayez d'ouvrir un compte sur MetaQuotes-Demo, ouvrez les graphiques mensuels des symboles souhaités (pour injecter suffisamment d'historique dans la base du terminal), puis exécutez l'indicateur sur un symbole arbitraire et l'horizon temporel souhaité.

J'ai chargé l'historique pour les deux symboles, une seule erreur subsiste 2012.12.22 00:56:44 Pair_delta_RSI (EURGBP,M1) Toutes les données de RSI1_Handle ne sont pas calculées (-1bar). Erreur4806

Cette erreur ne se produit pas au moment de la compilation, mais lorsque j'attache l'indicateur au graphique ou lorsque je change de cadre temporel.

Lors de la compilation, un avertissement apparaît, le voici : aucun tracé d'indicateur défini pour l'indicateur, attribué à 1 par défaut 0 0

Mec, je me creuse les méninges... aidez-moi s'il vous plaît...



 
FinEngineer: Lors de la compilation, une sorte d'avertissement apparaît, le voici : aucun tracé d'indicateur défini pour l'indicateur, attribué à 1 par défaut 0 0

Avez-vous donc téléchargé le programme malgré cet avertissement ? Ajoutez cette ligne en haut de la page

#property indicator_plots   1