Questions d'un "mannequin - page 81

 
tol64:

Pouvez-vous me dire dans quels cas la valeur d'un tick peut différer selon que la position est actuellement en bénéfice ou en perte ?

SYMBOL_TRADE_TICK_VALUE_PROFIT

SYMBOLE_TRADE_TICK_VALUE_PERTE

Faites une recherche sur le forum. Un sujet similaire a déjà été abordé.
 

Besoin d'obtenir le résultat de la dernière transaction. Qu'est-ce que je fais de mal ? :

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
   	HistorySelect(0,TimeCurrent());
   	 ticket = HistoryDealGetTicket(i);
   	 profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
infera:

Besoin d'obtenir le résultat de la dernière transaction. Qu'est-ce que je fais de mal ? :

Je pense que ça se passe comme ça

   HistorySelect(0,TimeCurrent());

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
        
        ticket = HistoryDealGetTicket(i-1);
        profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
sergey1294:

Je pense que ça se passe comme ça

Merci, ça marche.
 

J'expérimente la suppression des handles indésirables. Dans un exemple simple, sans les lignes IndicatorRelease(ma_handle) ;, tout fonctionne bien et rapidement.

Mais cela bloque presque le système en mode OHLC.

double ma2[];int ma2_handle;double ma[];int ma_handle;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{ 
    ma_handle  = iMA(_Symbol,_Period,10, 0,MODE_SMA, PRICE_CLOSE);
    ma2_handle = iMA(_Symbol,_Period,100, 0,MODE_SMA, PRICE_CLOSE);
   IndicatorRelease(ma_handle);
   IndicatorRelease(ma2_handle);
}
 
Karlson:

J'expérimente la suppression des handles indésirables. Dans un exemple simple, sans les lignes IndicatorRelease(ma_handle) ;, tout fonctionne bien et rapidement.

Mais cela bloque presque le système en mode OHLC.

Créer et supprimer des poignées d'indicateurs à chaque tick est une erreur. C'est comme arrêter et démarrer sa voiture à chaque feu rouge et avant chaque passage à niveau.
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
Доступ к таймсериям и индикаторам / IndicatorRelease - Документация по MQL5
 
Rosh:
Créer et supprimer des poignées d'indicateurs à chaque tick n'est pas correct. C'est comme arrêter et démarrer sa voiture à chaque feu rouge et avant chaque passage à niveau.

Et je veux être plus précis sur les poignées.

Si les poignées n'ont pas été supprimées lors de la désinitialisation (IndicatorRelease) et que le programme a été supprimé du graphique en même temps, les poignées sont-elles automatiquement supprimées ?

Une dernière chose. La référence dit que cela économise de la mémoire. De combien ? Si je pouvais vous donner quelques chiffres sur la quantité de ressources consommées par les poignées d'indicateurs.

 
tol64:

Et je veux clarifier les choses à propos des poignées.

Si les handles n'ont pas été supprimés (IndicatorRelease) lors de la désinitialisation, mais que le programme a été supprimé du graphique en même temps, les handles sont-ils automatiquement supprimés ?

Oui, si le système d'exécution du terminal détecte une poignée abandonnée qui n'est réclamée par personne, elle sera supprimée automatiquement. La durée de vie d'une telle poignée ne peut pas être racontée maintenant.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

Une dernière chose. La référence dit que cela économise de la mémoire. De combien ? Si vous pouvez donner des chiffres, combien de ressources sont consommées par les poignées d'indicateurs.

Si le même indicateur est demandé sur 10 graphiques, alors l'économie est de 10 fois. Si c'est le cas, calculez le nombre de barres sur lesquelles l'indicateur est calculé et multipliez-le par le nombre de tampons de l'indicateur, multipliez-le par la taille du double et n'oubliez pas la mémoire des tampons de couleur, s'il y en a.
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
Rosh:
Créer et supprimer des poignées d'indicateurs à chaque tick est une erreur. C'est comme éteindre et allumer sa voiture à chaque feu de circulation et avant chaque passage à niveau.

C'était un modèle. Dans Expert Advisor, la fonction est exécutée sur une nouvelle barre hebdomadaire, de nouveaux indicateurs sont créés et les mathématiques sont faites. Ensuite, il faut nettoyer... Donc, lorsque vous activez la ligne IndicatorRelease, elle se fige presque.

double ma[];int ma_handle;datetime time[],lastbar;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{  
   if(CopyTime(_Symbol,PERIOD_W1,0,1,time)<=0) {Print("Error: ",GetLastError());return;}
   if (lastbar!=time[0]) {Optim();}
}


int Optim()
{
   ma_handle  = iMA(_Symbol,PERIOD_M15,20, 0,MODE_SMA, PRICE_CLOSE);
 ------------------

 ------------------
   IndicatorRelease(ma_handle);

   return (0);
}
Raison: