Aiuto per la codifica - pagina 664

 

linea 178 errore: 'Close' - la variabile costante non può essere passata come riferimento


File:
 
asaens15:

linea 178 errore: 'Close' - la variabile costante non può essere passata come riferimento


Controlla questo thread: https: //www.mql5.com/en/forum/175337 per le versioni corrette (e gli mql originali, non le versioni decompilate) di quell'indicatore
 
Ciao a tutti, per favore qualsiasi codificatore superiore può codificare questa strategia. Questo sistema è progettato esclusivamente per le opzioni binarie, ma può essere utilizzato anche nel forex. Ora circa il sistema: sto solo prendendo i mestieri da segnali generati dal primo e secondo indicatori sub windows. le linee verdi e rosse mostrano un tipico segnale di acquisto o di vendita quando tutte le condizioni sono soddisfatte. per un
segnale di acquisto:
smfisher transform 3 deve azzurro,
renko maker freccia; VERDE e piccola scatola verde,
Pcci deve essere sopra la linea centrale
vento solare di gioia no-repaint: verde
fisher non ridipingere verde
File:
my system 2.PNG  33 kb
 

Cari amici,

Potete aggiungere il valore"dimensione del carattere" allegato indi per favore?

Grazie...

 

Mladen, ho delle domande. C'è la possibilità di collegare ilvalore di ingresso con questo codice:

main.cpp (adattatore)

#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. Qui, la domanda principale. È possibile sostituire l'array di usato (ma in un file che ha esportato il valore delle candele in qualche modo sposta la storia di cinque barre in passato una riga verso il basso). Penso che l'adattatore dll stesso è universale.
E poi vorrei cambiare il codice consigliere - sia qui array di avvio al prezzo corrente:
a) sostituire la matrice di avvio degli indicatori di prezzo alla sequenza lineare di diversi indicatori e OHLC (non so quanti 30 -300, barre?).

b) quanto gli ultimi valori di prezzo e gli indicatori, e come dovrebbe essere collegato al dock con i file di libreria utilizzati da Neurosolyutions

с) costruzione del modello previsto di candele. ma piuttosto è necessario modificare il consigliere all'indicatore...

p.s. se si può fissare il codice per visualizzare il codice - è possibile utilizzare uno qualsiasi dei nomi degli indicatori (campione 1, 2 ...). Esso mira a costruire - linea, il prezzo Сlosing (colonna, che ho scelto per le previsioni)...


2. Un'altra via d'uscita (modo migliore): Se è razionale - vi chiedo di condividere il campione (se li possedete) indicatore di rete neurale (NS), lavorando con almeno due indicatori (per più) da 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, ho delle domande. C'è la possibilità di collegare ilvalore di ingresso con questo codice:

main.cpp (adattatore)

1. Qui, la domanda principale. È possibile sostituire l'array di usato (ma in un file che ha esportato il valore delle candele in qualche modo sposta la storia di cinque barre in passato una riga verso il basso). Penso che l'adattatore dll stesso è universale.
E poi vorrei cambiare il codice consigliere - sia qui array di avvio al prezzo corrente:
a) sostituire la matrice di avvio degli indicatori di prezzo alla sequenza lineare di diversi indicatori e OHLC (non so quanti 30 -300, barre?).

b) quanto gli ultimi valori di prezzo e gli indicatori, e come dovrebbe essere collegato al dock con i file di libreria utilizzati da Neurosolyutions

с) costruzione del modello previsto di candele. ma piuttosto è necessario modificare il consigliere all'indicatore...

p.s. se si può fissare il codice per visualizzare il codice - è possibile utilizzare uno qualsiasi dei nomi degli indicatori (campione 1, 2 ...). Esso mira a costruire - linea, il prezzo Сlosing (colonna, che ho scelto per le previsioni)...


2. Un'altra via d'uscita (modo migliore): Se è razionale - vi chiedo di condividere il campione (se li possedete) indicatore di rete neurale, lavorando con almeno due indicatori (per più) da MT4

Mi dispiace, non ho familiarità con NeuroSolutions quindi non posso aiutare in questa materia

 

Ciao Mladen, è possibile ritardare il segnale di un indicatore ad un tempo definito personalmente. Per esempio, ho un indicatore di freccia che a volte mostra le frecce dall'inizio di una candela su un grafico a 30 minuti sulla candela corrente, ma voglio ignorare tali segnali perché il più delle volte tendono a ripresentarsi/scomparire. Preferirei se c'è un indicatore/script o se è possibile regolare l'indicatore stesso per iniziare a mostrare i segnali in un particolare momento stabilito. es. grafico a 10 minuti/30 minuti, 20 minuti/1 ora ecc.

Grazie in anticipo.

 
emmany4:

Ciao Mladen, è possibile ritardare il segnale di un indicatore ad un tempo definito personalmente. Per esempio, ho un indicatore di freccia che a volte mostra le frecce dall'inizio di una candela su un grafico a 30 minuti sulla candela corrente, ma voglio ignorare tali segnali perché il più delle volte tendono a ripresentarsi/scomparire. Preferirei se c'è un indicatore/script o se è possibile regolare l'indicatore stesso per iniziare a mostrare i segnali ad un particolare tempo impostato. es. grafico a 10 minuti/30 minuti, 20 minuti/1 ora ecc.

Grazie in anticipo.

Non può essere fatto per qualsiasi segnale che è su una barra chiusa

Anche su una barra aperta è dubbio per quale ritardo possa essere fatto (in alcuni casi non funzionerebbe)

 
kostumer27:

Mladen, ho delle domande. C'è la possibilità di collegare ilvalore di ingresso con questo codice:

main.cpp (adattatore)

1. Qui, la domanda principale. È possibile sostituire l'array di usato (ma in un file che ha esportato il valore delle candele in qualche modo sposta la storia di cinque barre in passato una riga verso il basso). Penso che l'adattatore dll stesso è universale.
E poi vorrei cambiare il codice consigliere - sia qui array di avvio al prezzo corrente:
a) sostituire la matrice di avvio degli indicatori di prezzo alla sequenza lineare di diversi indicatori e OHLC (non so quanti 30 -300, barre?).

b) quanto gli ultimi valori di prezzo e gli indicatori, e come dovrebbe essere collegato al dock con i file di libreria utilizzati da Neurosolyutions

с) costruzione del modello previsto di candele. ma piuttosto è necessario modificare il consigliere all'indicatore...

p.s. se si può fissare il codice per visualizzare il codice - è possibile utilizzare uno qualsiasi dei nomi degli indicatori (campione 1, 2 ...). Esso mira a costruire - linea, il prezzo Сlosing (colonna, che ho scelto per le previsioni)...


2. Un'altra via d'uscita (modo migliore): Se è razionale - vi chiedo di condividere il campione (se li possedete) indicatore di rete neurale (NS), lavorando con almeno due indicatori (per più) da MT4
Se avete un Neurosoluzioni legale dovrebbe funzionare
 
mladen:

Questa è la parte che gestisce le voci


Caro mladen,

Puoi per favore aiutarmi a incorporare una strategia peraiutare acavalcare il momentum di ritracciamenti/pullback/rimbalzi/rimbalzi in frame di breve durata modificando il tuo 3 MA cross con aert mtf 3.03?

Quando avviene il cross-over delle 3 MA e la dimensione della candela supera i pip immessi dall'utente, l'indicatore viene evidenziato da un colore brillante e il numero di barre fa (per conoscere l'ultimo tempo dell'azione di cross-over) viene stampato sulla candela e allo stesso modo la candela viene evidenziata e il numero di barre fa viene stampato quando avviene il rimbalzo e il prezzo incrocia la MA centrale.

Ho aspettato con impazienza la tua heatmap MTF multicurrency sui crossover MA. Spero che troviate il tempo per farlo.

Grazie.

Motivazione: