Помощь в кодировании - страница 664

 

строка 178 ошибка: 'Close' - постоянная переменная не может быть передана как ссылка


Файлы:
 
asaens15:

строка 178 ошибка: 'Close' - постоянная переменная не может быть передана как ссылка


Проверьте эту тему: https: //www.mql5.com/en/forum/175337 для правильных версий (и оригинальных mql, а не декомпилированных версий) этого индикатора.
 
Привет всем, пожалуйста, может ли любой топ кодер закодировать эту стратегию. Прилагаю скриншот системы.Эта система разработана исключительно для бинарных опционов, но может быть использована и на форексе. Теперь о системе: я беру сделки только по сигналам, генерируемым индикаторами первого и второго под-окна. зеленые и красные линии показывают типичный сигнал на покупку или продажу, когда все условия выполнены.
сигнал на покупку:
smfisher transform 3 должна быть светло-голубой,
стрелка ренко мейкер; ЗЕЛЕНЫЙ и маленькая коробка - зеленый,
Pcci должен быть выше средней линии
Solar wind of joy no-repaint: зеленый
фишер не перекрашивается в зеленый цвет
Файлы:
my system 2.PNG  33 kb
 

Дорогие друзья,

Не могли бы вы добавить значение"размер шрифта", прикрепленное к инди?

Спасибо...

Файлы:
 

Младен, у меня есть вопросы. Есть ли возможность подключить входноезначение таким кодом:

main.cpp (адаптер)

#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. Вот, главный вопрос. Можно ли заменить массив used (но в файле, который экспортировал значение свечей как-то сдвигает историю пяти баров в прошлом на одну строчку вниз). Сам dll адаптер я думаю универсальный.
И потом хотелось бы изменить код советника - и здесь и там загрузочный массив на текущую цену:
а) заменить загрузочный массив ценовых индикаторов на линейную последовательность из нескольких индикаторов и OHLC(не знаю сколько 30 -300, баров?).

б) сколько последних значений цены и индикаторов, и как это состыковать с используемыми библиотечными файлами от Neurosolyutions

с) построение прогнозируемого паттерна свечей. но скорее нужно изменить советник к индикатору....

p.s. если можно поправьте код для отображения кода - можно использовать любое из названий индикаторов (пример 1, 2 ...). его цель построить - линия, цена закрытия (столбец, который я выбрал для прогнозирования)...


2. Другой выход (лучший выход): Если это рационально - прошу Вас поделиться образцами (если они у Вас есть) нейросетевого индикатора(NS), работающего хотя бы с двумя индикаторами (для нескольких) из 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:

Младен, у меня есть вопросы. Есть ли возможность подключить входноезначение таким кодом:

main.cpp (адаптер)

1. Вот, основной вопрос. Можно ли заменить массив used (но в файле, который экспортировал значение свечей как-то сдвигает историю пяти баров в прошлом на одну строчку вниз). Сам dll адаптер я думаю универсальный.
И потом хотелось бы изменить код советника - и здесь и там загрузочный массив на текущую цену:
а) заменить загрузочный массив ценовых индикаторов на линейную последовательность из нескольких индикаторов и OHLC(не знаю сколько 30 -300, баров?).

б) сколько последних значений цены и индикаторов, и как это состыковать с используемыми библиотечными файлами из Neurosolyutions

с) построение прогнозируемого паттерна свечей. но скорее нужно изменить советник к индикатору....

p.s. если можно поправьте код для отображения кода - можно использовать любое из названий индикаторов (пример 1, 2 ...). его цель построить - линия, цена закрытия (столбец, который я выбрал для прогнозирования)...


2. Другой выход (лучший выход): Если это рационально - прошу поделиться образцами (если они у вас есть) нейросетевого индикатора, работающего хотя бы с двумя индикаторами (для нескольких) из МТ4

Извините, я не знаком с NeuroSolutions, поэтому не могу помочь в этом вопросе.

 

Здравствуйте Младен, пожалуйста, возможно ли отложить сигнал индикатора на определенное время. Например, у меня есть стрелочный индикатор, который иногда показывает стрелки от начала свечи на 30-минутном графике на текущей свече, но я хочу игнорировать такие сигналы, потому что они чаще всего имеют тенденцию перерисовываться/исчезать. Я бы предпочел, чтобы у меня был индикатор/скрипт или если возможно настроить сам индикатор, чтобы он начинал показывать сигналы в определенное заданное время. например, 10 минут/30 минутный график, 20 минут/1 час и т.д.

Заранее спасибо.

 
emmany4:

Здравствуйте Младен, пожалуйста, возможно ли отложить сигнал индикатора на определенное время. Например, у меня есть стрелочный индикатор, который иногда показывает стрелки от начала свечи на 30-минутном графике на текущей свече, но я хочу игнорировать такие сигналы, потому что они чаще всего имеют тенденцию перерисовываться/исчезать. Я бы предпочел, чтобы у меня был индикатор/скрипт или если возможно настроить сам индикатор, чтобы он начинал показывать сигналы в определенное заданное время. например, 10 минут/30 минутный график, 20 минут/1 час и т.д.

Заранее спасибо.

Это не может быть сделано для любого сигнала, который находится на закрытом баре.

Даже на открытом баре сомнительно, для какой временной задержки это можно сделать (в некоторых случаях это не сработает).

 
kostumer27:

Младен, у меня есть вопросы. Есть ли возможность подключить входноезначение таким кодом:

main.cpp (адаптер)

1. Вот, главный вопрос. Можно ли заменить массив used (но в файле, который экспортировал значение свечей как-то сдвигает историю пяти баров в прошлом на одну строчку вниз). Сам dll адаптер я думаю универсальный.
И потом хотелось бы изменить код советника - и здесь и там загрузочный массив на текущую цену:
а) заменить загрузочный массив ценовых индикаторов на линейную последовательность из нескольких индикаторов и OHLC(не знаю сколько 30 -300, баров?).

б) сколько последних значений цены и индикаторов, и как это состыковать с используемыми библиотечными файлами из Neurosolyutions

с) построение прогнозируемого паттерна свечей. но скорее нужно изменить советник к индикатору....

p.s. если можно поправьте код для отображения кода - можно использовать любое из названий индикаторов (пример 1, 2 ...). его цель построить - линия, цена закрытия (столбец, который я выбрал для прогнозирования)...


2. Другой выход (лучший выход): Если это рационально - прошу Вас поделиться образцами (если они у Вас есть) нейросетевого индикатора(NS), работающего хотя бы с двумя индикаторами (для нескольких) из MT4
Если у вас есть легальные нейросети, то это должно работать
 
mladen:

Это часть, которая обрабатывает записи


Уважаемый mladen,

Не могли бы вы помочь мне включить стратегию, чтобыпомочь оседлать импульс ретрейсмента / откатов / разворотов / отскоков на коротких временных фреймах, модифицируя ваш 3 MA cross с aert mtf 3.03?

Когда происходит пересечение 3 МА и размер свечи превышает количество пунктов, введенное пользователем, индикатор подсвечивается ярким цветом и на свече печатается номер бара назад (чтобы знать последнее время действия пересечения), и таким же образом свеча подсвечивается и печатается номер бара назад, когда происходит отскок и цена пересекает среднюю МА.

Я с нетерпением ждал вашей мультивалютной тепловой карты MTF на пересечениях МА. Надеюсь, вы найдете для этого время.

Спасибо.