Aide au codage - page 664

 

ligne 178 erreur : 'Close' - une variable constante ne peut pas être passée comme référence


Dossiers :
 
asaens15:

ligne 178 erreur : 'Close' - une variable constante ne peut pas être passée comme référence


Consultez ce fil de discussion : https://www.mql5.com/en/forum/175337 pour obtenir les versions correctes (et les versions mql originales, pas les versions décompilées) de cet indicateur.
 
Bonjour tout le monde, s'il vous plaît, un codeur de haut niveau peut-il coder cette stratégie. Vous trouverez ci-joint une capture d'écran du système.ce système est conçu uniquement pour les options binaires mais peut être utilisé dans le forex aussi. Ce système a été conçu uniquement pour les options binaires mais peut être utilisé sur le forex également. maintenant à propos du système : je ne prends des transactions qu'à partir des signaux générés par les indicateurs de la première et de la deuxième sous-fenêtre. les lignes vertes et rouges vous montrent un signal typique d ' achat ou de vente lorsque toutes les conditions sont réunies. pour un
signal d'achat :
smfisher transform 3 doit être bleu clair,
flèche renko maker ; VERT et petite boîte verte,
Pcci doit être au-dessus de la ligne centrale
Solar wind of joy no-repaint : vert
fisher non-repaint : vert
Dossiers :
my system 2.PNG  33 kb
 

Chers amis,

Pouvez-vous ajouter la valeur"taille de la police" attachée à indi s'il vous plaît ?

Merci...

Dossiers :
 

Mladen, j'ai des questions. Y a-t-il une possibilité de connecter lavaleur d' entrée par ce code :

main.cpp (adaptateur)

#include "stdafx.h"
#include "NSNetwork.h"

extern "C" __declspec(dllexport) int __stdcall CalcNeuralNet(
                LPCWSTR dllPath_u, LPCWSTR weightsPath_u,
                double* inputs, double* outputs)
{       
    // Transform the lines from Unicode to normal ones
    CString dllPath     (dllPath_u);
    CString weightsPath (weightsPath_u);

    // Create neuronet
    NSRecallNetwork nn(dllPath);
    if (!nn.IsLoaded()) return (1);

    // Load balances
    if (nn.LoadWeights(weightsPath) != 0) return (2);
        
    // Pass input data and calculate the output
    if (nn.GetResponse(1, inputs, outputs) != 0) return (3);

    return 0;
}
AND CODE the advisor:
1. Ici, la question principale. Est-il possible de remplacer le tableau de utilisé (mais dans un fichier qui a exporté la valeur des bougies en quelque sorte déplace l'histoire de cinq barres dans le passé une ligne vers le bas). Je pense que l'adaptateur dll lui-même est universel.
Et puis je voudrais changer le conseiller de code - à la fois ici tableau de démarrage au prix actuel :
a) remplacer le tableau de démarrage des indicateurs de prix à la séquence linéaire de plusieurs indicateurs et OHLC (ne sais pas combien 30 -300, les barres ?).

b) combien les dernières valeurs de prix et d'indicateurs, et comment il devrait être connecté à l'arrimage avec les fichiers de la bibliothèque utilisée de Neurosolyutions.

с) construction du modèle prédit de bougies. mais plutôt il est nécessaire de modifier le conseiller à l'indicateur...

p.s. si vous pouvez fixer le code pour afficher le code - vous pouvez utiliser n'importe lequel des noms des indicateurs (échantillon 1, 2 ...). il vise à construire - ligne, le Сlosing price (colonne, que j'ai choisi pour les prédictions)...


2. Une autre façon de sortir (meilleure façon) : Si c'est rationnel - je vous demande de partager l'échantillon (si vous les possédez) indicateur de réseau neuronal (NS), travaillant avec au moins deux indicateurs (pour plusieurs) de MT4.
input double    Lots = 0.1;
//+------------------------------------------------------------------+
// Connect the DLL adapter, using which we are going to use the DLL neuronet created in NeuroSolutions
#import "NeuroSolutionsAdapter.dll"
int CalcNeuralNet(string dllPath, string weightsPath, double& inputs[], double& outputs[]);
#import 
//+------------------------------------------------------------------+
class CNeuroSolutionsNeuralNet
{
private:
   string dllPath;     // Path to a DLL neuronet created in NeuroSolutions
   string weightsPath; // Path to a file of the neuronet balances
public:
   double in[20]; // Neuronet inputs - OHLC of 5 bars
   double out[1]; // Neuronet outputs - Close of a current bar

   CNeuroSolutionsNeuralNet();
   bool Calc();
};
//+------------------------------------------------------------------+
void CNeuroSolutionsNeuralNet::CNeuroSolutionsNeuralNet()
{
   string terminal = TerminalInfoString(TERMINAL_PATH);
   dllPath     = terminal + "\\MQL5\\Files\\NeuroSolutions\\WeekPattern.dll";
   weightsPath = terminal + "\\MQL5\\Files\\NeuroSolutions\\WeekPattern.nsw";
}
//+------------------------------------------------------------------+
bool CNeuroSolutionsNeuralNet::Calc()
  {
   // Get current quotes for the neuronet
   MqlRates rates[], rate;
   CopyRates(Symbol(), Period(), 0, 6, rates);
   ArraySetAsSeries(rates, true);
      
   // Fill the array of input data of the neuronet
   double zlevel=0;   
   for (int bar=0; bar<=5; bar++)
     {
      rate = rates[bar];
      // 0 bar is not taken for input
      if (bar==0) zlevel=rate.open; // level of price calculation
      // 1-5 bars are inputed
      else
        {
         int i=(bar-1)*4; // input number
         in[i  ] = rate.open -zlevel;
         in[i+1] = rate.high -zlevel;
         in[i+2] = rate.low  -zlevel;
         in[i+3] = rate.close-zlevel;
        }
     }
 
   // Calculate the neuronet in the NeuroSolutions DLL (though the DLL adapter)
   int res = CalcNeuralNet(dllPath, weightsPath, in, out);
   switch (res)
     {
      case 1: Print("Error of creating neuronet from DLL \"", dllPath, "\""); return (false);
      case 2: Print("Error of loading balances to neuronet from the file \"", weightsPath, "\""); return (false);
      case 3: Print("Error of calculation of neuronet");  return (false);
     }
     
   // Output of the neuronet has appeared in the array out, you shouldn't do anything with it

   return (true);
  }
//+------------------------------------------------------------------+

CNeuroSolutionsNeuralNet NN;
double Prognoze;

//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
//+------------------------------------------------------------------+
void OnTick() 
  {
   // Get the price prediction from the neuronet
   if (NN.Calc()) Prognoze = NN.out[0];
   else           Prognoze = 0;

   // Perform necessary trade actions
   Trade();
  }
//+------------------------------------------------------------------+
void Trade() 
  {

   // Close an open position if it is opposite to the prediction

   if(PositionSelect(_Symbol)) 
     {
      long type=PositionGetInteger(POSITION_TYPE);
      bool close=false;
      if((type == POSITION_TYPE_BUY)  && (Prognoze <= 0)) close = true;
      if((type == POSITION_TYPE_SELL) && (Prognoze >= 0)) close = true;
      if(close) 
        {
         CTrade trade;
         trade.PositionClose(_Symbol);
        }
     }

   // If there is no positions, open one according to the prediction

   if((Prognoze!=0) && (!PositionSelect(_Symbol))) 
     {
      CTrade trade;
      if(Prognoze > 0) trade.Buy (Lots);
      if(Prognoze < 0) trade.Sell(Lots);
     }
  }
//+------------------------------------------------------------------+
 
kostumer27:

Mladen, j'ai des questions. Y a-t-il une possibilité de connecter lavaleur d' entrée par ce code :

main.cpp (adaptateur)

1. Ici, la question principale. Est-il possible de remplacer le tableau de utilisé (mais dans un fichier qui a exporté la valeur des bougies en quelque sorte déplace l'histoire de cinq barres dans le passé une ligne vers le bas). Je pense que l'adaptateur dll lui-même est universel.
Et puis je voudrais changer le conseiller de code - à la fois ici tableau de démarrage au prix actuel :
a) remplacer le tableau de démarrage des indicateurs de prix à la séquence linéaire de plusieurs indicateurs et OHLC (ne sais pas combien 30 -300, les barres ?).

b) combien les dernières valeurs de prix et d'indicateurs, et comment il devrait être connecté à l'arrimage avec les fichiers de la bibliothèque utilisée de Neurosolyutions.

с) construction du modèle prédit de bougies. mais plutôt il est nécessaire de modifier le conseiller à l'indicateur...

p.s. si vous pouvez fixer le code pour afficher le code - vous pouvez utiliser n'importe lequel des noms des indicateurs (échantillon 1, 2 ...). il vise à construire - ligne, le Сlosing price (colonne, que j'ai choisi pour les prédictions)...


2. Une autre façon de sortir (meilleure façon) : Si c'est rationnel - je vous demande de partager l'exemple (si vous les possédez) d'indicateur de réseau neuronal, travaillant avec au moins deux indicateurs (pour plusieurs) de MT4.

Désolé, je ne suis pas familier avec NeuroSolutions donc je ne peux pas aider dans ce domaine

 

Bonjour Mladen, est-il possible de retarder le signal d'un indicateur à un moment défini personnellement. Par exemple, j'ai un indicateur de flèche qui montre parfois des flèches du début d'une bougie sur un graphique de 30 minutes sur la bougie actuelle, mais je veux ignorer de tels signaux parce qu'ils ont la plupart du temps tendance à se reproduire/disparaître. Je préférerais qu'il y ait un indicateur/script ou qu'il soit possible de régler l'indicateur lui-même pour qu'il commence à montrer des signaux à un moment précis, par exemple un graphique de 10 minutes/30 minutes, 20 minutes/1 heure, etc.

Merci d'avance.

 
emmany4:

Bonjour Mladen, est-il possible de retarder le signal d'un indicateur à un moment défini personnellement. Par exemple, j'ai un indicateur de flèche qui montre parfois des flèches du début d'une bougie sur un graphique de 30 minutes sur la bougie actuelle, mais je veux ignorer de tels signaux parce qu'ils ont la plupart du temps tendance à se reproduire/disparaître. Je préférerais qu'il y ait un indicateur/script ou qu'il soit possible de régler l'indicateur lui-même pour qu'il commence à montrer des signaux à un moment précis, par exemple un graphique de 10 minutes/30 minutes, 20 minutes/1 heure, etc.

Merci d'avance.

Cela ne peut pas être fait pour un signal qui est sur une barre fermée.

Même sur une barre ouverte, il est douteux de savoir dans quel délai cela peut être fait (dans certains cas, cela ne fonctionnerait pas).

 
kostumer27:

Mladen, j'ai des questions. Y a-t-il une possibilité de connecter lavaleur d' entrée par ce code :

main.cpp (adaptateur)

1. Ici, la question principale. Est-il possible de remplacer le tableau de utilisé (mais dans un fichier qui a exporté la valeur des bougies en quelque sorte déplace l'histoire de cinq barres dans le passé une ligne vers le bas). Je pense que l'adaptateur dll lui-même est universel.
Et puis je voudrais changer le conseiller de code - à la fois ici tableau de démarrage au prix actuel :
a) remplacer le tableau de démarrage des indicateurs de prix à la séquence linéaire de plusieurs indicateurs et OHLC (ne sais pas combien 30 -300, les barres ?).

b) combien les dernières valeurs de prix et d'indicateurs, et comment il devrait être connecté à l'arrimage avec les fichiers de la bibliothèque utilisée de Neurosolyutions.

с) la construction du modèle prédit de bougies. mais plutôt il est nécessaire de modifier le conseiller à l'indicateur ...

p.s. si vous pouvez fixer le code pour afficher le code - vous pouvez utiliser n'importe lequel des noms des indicateurs (échantillon 1, 2 ...). il vise à construire - ligne, le Сlosing price (colonne, que j'ai choisi pour les prédictions)...


2. Une autre façon de sortir (meilleure façon) : Si c'est rationnel - je vous demande de partager l'échantillon (si vous les possédez) indicateur de réseau neuronal (NS), travaillant avec au moins deux indicateurs (pour plusieurs) de MT4.
Si vous avez une Neurosolutions légale cela devrait fonctionner
 
mladen:

C'est la partie qui gère les entrées


Cher mladen,

Pouvez-vous s'il vous plaît m'aider à incorporer une stratégie pouraider àsurfer sur le momentum des retracements/pullbacks/reversals/bounce back dans des cadres à court terme en modifiant votre 3 MA cross avec aert mtf 3.03 ?

Lorsque le croisement de 3 MA se produit et que la taille de la bougie dépasse les pips saisis par l'utilisateur, l'indicateur est mis en évidence par une couleur vive et le nombre de barres il y a (pour connaître le dernier moment de l'action de croisement) est imprimé sur la bougie. De la même manière, la bougie est mise en évidence et le nombre de barres il y a est imprimé lorsque le rebond se produit et que le prix traverse la MA du milieu.

J'attendais avec impatience votre carte thermique MTF multidevises sur les croisements de MA. J'espère que vous trouverez le temps de le faire.

Je vous remercie.

Raison: