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

 
Alexey G. Smolyakov:
Le chemin complet du dossier MQL4\Indicators\Used. Il semble qu'il n'y ait aucun moyen de sortir du dossier. Mais il s'agit d'une anomalie - d'autres conseillers experts travaillent avec leurs indicateurs dans des dossiers similaires sans aucun problème. Mais quel est le problème de cet indicateur - je ne le comprends pas. J'ai examiné son code mais je n'avais pas assez de connaissances et d'expérience pour le comprendre. J'ai l'impression qu'il ne compte que la dernière barre ou quelque chose comme ça.

alors tout est OK

appuyez sur Ctrl+D dans le terminal - la fenêtre de données s'ouvre, lancez l'indicateur sur le graphique et vous verrez dans la fenêtre de données les tampons de l'indicateur et leurs valeurs sur chaque barre, vous obtenez les mêmes chiffres via iCustom()

il y a des indicateurs qui ont EMPTY_VALUE sur certaines barres - vous verrez une cellule vide dans la fenêtre de données (il n'est pas garanti que l'auteur de l'indicateur n'a pas mis 0.0 au lieu de EMPTY_VALUE - vous devez le vérifier)

Ensuite, lorsque iCustom() est appelé, la valeur obtenue doit être comparée à EMPTY_VALUE . Cherchez dans la kodobase ou dans l'EA ZigZag ou dans le téléchargement ZigZag - vous y trouverez un exemple prêt à l'emploi de la façon de travailler avec les valeurs vides de l'indicateur EMPTY_VALUE.

 
Igor Makanu:

alors tout est OK

appuyez sur Ctrl+D dans le terminal - la fenêtre de données s'ouvre, lancez l'indicateur sur le graphique et vous verrez dans la fenêtre de données les tampons de l'indicateur et leurs valeurs sur chaque barre, vous obtenez les mêmes chiffres via iCustom()

il y a des indicateurs qui ont EMPTY_VALUE sur certaines barres - vous verrez une cellule vide dans la fenêtre de données (il n'est pas garanti que l'auteur de l'indicateur n'a pas mis 0.0 au lieu de EMPTY_VALUE - vous devez le vérifier)

Ensuite, lorsque iCustom() est appelé, la valeur obtenue doit être comparée à EMPTY_VALUE . Cherchez dans kodobase ou dans l'Expert Advisor sur ZigZag ou dans le téléchargement de ZigZag vers un fichier - là vous verrez un exemple prêt à l'emploi de la façon de travailler avec les valeurs vides de l'indicateur EMPTY_VALUE

Merci, la vérification des valeurs de EMPTY_VALUE m'a aidé.
 
Bon après-midi. Comment créer une fonction qui montre ce qui est défini dans les paramètres (seulement long / seulement court / long et court). J'ai essayé, mais ça ne marche pas.
string LSset()
{
string LS;
if (SymbolInfoInteger(Symbol(),SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_LONGONLY) LS="ONLY LONG";
if (SymbolInfoInteger(Symbol(),SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_SHORTONLY) LS="ONLY SHORT";
if (SymbolInfoInteger(Symbol(),SYMBOL_TRADE_MODE) != SYMBOL_TRADE_MODE_SHORTONLY && 
   SymbolInfoInteger(Symbol(),SYMBOL_TRADE_MODE) != SYMBOL_TRADE_MODE_LONGONLY) LS="LONG & SHORT";
return(LS);
}
Dossiers :
 
Lomonosov1991:
Bon après-midi. Comment créer une fonction qui montre ce qui est défini dans les paramètres (seulement long / seulement court / long et court). J'ai essayé, mais ça ne marche pas.

Ça ne devrait pas fonctionner comme ça. Il est possible d'écrire une telle fonction, mais difficile pour un débutant.

 
fxsaber:

Ça ne devrait pas fonctionner comme ça. Il est possible d'écrire une telle fonction, mais difficile pour un débutant.

les règles de recherche, il y a quelques années les développeurs ont promis de rendre l'accès d'un expert à ces paramètres, mais ils ne l'ont jamais fait

solutionhttps://www.mql5.com/ru/forum/121619#comment_3208150

solution dll, je ne sais pas pourquoi vous en avez besoinhttps://www.mql5.com/ru/forum/231434/page2#comment_6773340

ZS : je n'ai pas vérifié, mais en cherchant dans les fils de discussion, il semble que le problème de ne pas sauvegarder ces paramètres lors de l'application du modèle de graphique demeure.

LongOnly, ShortOnly or Long&Short?
LongOnly, ShortOnly or Long&Short?
  • 2009.11.03
  • www.mql5.com
Не подсажет ли кто нибудь как внутри советника оределить в каком режиме он запущен LongOnly, ShortOnly or Long&Short? Заранее спасибо...
 
extern int punkt=100;
extern int Ordersss=3;
extern double xxx=1.2;

int PunktsX()
{
   int P=punkt;                             
   int i;
   for(i=Ordersss; i<NumberOfPositions(); i++)
   P*=xxx;
   return(P);
}

J'ai créé une fonction sur le conseiller en calcul de moyenne. Si plus de 3 ordres sont ouverts, chaque ordre suivant sera ouvert davantage.

Je ne peux pas corriger l'avertissement(perte possible de données en raison de la conversion de type).

Veuillez me conseiller sur ce qu'il faut faire)

 
Lomonosov1991:

J'ai créé une fonction sur le conseiller en calcul de moyenne. Si plus de 3 ordres sont ouverts, chaque ordre suivant sera ouvert davantage.

Je ne peux pas corriger l'avertissement(perte possible de données en raison de la conversion de type).

Veuillez me conseiller sur ce qu'il faut faire)

P=(int)(P*xxx);

Pour un calcul plus précis, il serait probablement préférable de

extern int punkt=100;
extern int Ordersss=3;
extern double xxx=1.2;

int PunktsX()
{
   double P=punkt;                             
   int i;
   for(i=Ordersss; i<NumberOfPositions(); i++)
   P*=xxx;
   return (int) P;
}
 
Konstantin Nikitin:

Pour un calcul plus précis, il est probablement préférable de faire ceci

Merci) Je ne savais pas qu'on pouvait faire ça avec le retour)

 
Igor Makanu:

les règles de recherche, il y a quelques années les développeurs ont promis de rendre ces paramètres accessibles par un expert, mais ils ne l'ont jamais fait

solutionhttps://www.mql5.com/ru/forum/121619#comment_3208150

solution dll, je ne sais pas pourquoi elle est nécessairehttps://www.mql5.com/ru/forum/231434/page2#comment_6773340

ZS : je n'ai pas vérifié, mais en cherchant dans les fils de discussion, il semble que le problème de ne pas sauvegarder ces paramètres lors de l'application du modèle de graphique demeure.

Merci, je vais faire un essai)

 
Lomonosov1991:

Je vais l'essayer)

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bibliothèques : Expert

fxsaber, 2019.06.04 16:40

// MT4-советник показывает, в каком режиме Long/Short был запущен.

#include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003

int GetLongShortFlag( const int Chart_ID = 0 )
{
  MqlParam Params[];
  string Names[];
  
  const int Res = EXPERT::Parameters(Chart_ID, Params, Names);
  
  return(((Res & 3) << 1) + (Res & 1));
}

string LongShortToString( const int Chart_ID = 0 )
{
  const int Flag = GetLongShortFlag(Chart_ID);
  string Str = NULL;
  
  if ((bool)(Flag & SYMBOL_TRADE_MODE_LONGONLY) && (bool)(Flag & SYMBOL_TRADE_MODE_SHORTONLY))
    Str = "Long & Short";
  else if ((bool)(Flag & SYMBOL_TRADE_MODE_LONGONLY))
    Str = "Only Long";
  else if ((bool)(Flag & SYMBOL_TRADE_MODE_SHORTONLY))
    Str = "Only Short";
    
  return(Str);
}

int OnInit()
{
  Alert(LongShortToString());
  
  return(INIT_FAILED);
}