코딩 도움말 - 페이지 664

 

178행 오류: '닫기' - 상수 변수를 참조로 전달할 수 없습니다.


파일:
 
asaens15 :

178행 오류: '닫기' - 상수 변수를 참조로 전달할 수 없습니다.


이 스레드를 확인하십시오: https://www.mql5.com/en/forum/175337 해당 표시기의 올바른 버전(및 디컴파일된 버전이 아닌 원래 mql)
 
안녕하세요 여러분, 어떤 최고 코더라도 이 전략을 코딩할 수 있습니다. 첨부된 시스템 스크린샷을 찾으십시오. 이 시스템은 바이너리 옵션 전용으로 설계되었지만 외환에서도 사용할 수 있습니다. 이제 시스템에 대해: 저는 첫 번째 및 두 번째 하위 창 표시기에서 생성된 신호에서만 거래를 수행하고 있습니다. 녹색 및 빨간색 선은 모든 조건이 충족될 때 일반적인 매수 또는 매도 신호 를 보여줍니다. 위해
구매 신호:
smfisher transform 3은 하늘색이어야합니다.
renko 메이커 화살; GREEN과 작은 상자 녹색,
Pcci는 중간선 위에 있어야 합니다.
기쁨의 태양풍 무도장: 녹색
피셔 논 리페인트 그린
파일:
my system 2.PNG  33 kb
 

친애하는 친구,

" 글꼴 크기 " 값을 indi에 첨부할 수 있습니까?

고맙습니다...

 

믈라덴, 질문이 있습니다. 이 코드로 입력 을 연결할 가능성이 있습니까?

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. 여기, 주요 질문입니다. 사용된 배열을 대체 할 수 있습니까? dll 어댑터 자체가 보편적이라고 생각합니다.
그런 다음 코드 어드바이저를 변경하고 싶습니다. 둘 다 여기에서 현재 가격으로 부트 어레이입니다.
a) 가격 표시기의 부트 어레이를 여러 표시기 및 OHLC의 선형 시퀀스로 교체합니다(30-300, 막대가 몇 개인지 모르십니까?).

b) 마지막 가격 값과 지표, 그리고 Neurosolutions의 중고 라이브러리 파일과 도킹에 연결하는 방법

с) 예측된 양초 패턴의 구성. 하지만 오히려 어드바이저를 지표로 변경해야 합니다...

ps 코드를 표시하도록 코드를 수정할 수 있는 경우 표시기의 이름(샘플 1, 2 ...) 중 하나를 사용할 수 있습니다. 그것은 구축을 목표로합니다 - 라인, Сlosing price (예측을 위해 선택한 열) ...


2. 다른 방법(가장 좋은 방법): 합리적이라면 - 샘플(보유한 경우) 신경망 표시기(NS), MT4에서 최소 2개의 표시기(다중용)로 작업 공유를 요청합니다.
 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. 여기, 주요 질문입니다. 사용된 배열을 대체할 수 있습니까? dll 어댑터 자체가 보편적이라고 생각합니다.
그런 다음 코드 어드바이저를 변경하고 싶습니다. 둘 다 여기에서 현재 가격으로 부트 어레이입니다.
a) 가격 표시기의 부트 어레이를 여러 표시기 및 OHLC의 선형 시퀀스로 교체합니다(30-300, 막대가 몇 개인지 모르십니까?).

b) 마지막 가격 값과 지표, 그리고 Neurosolutions의 중고 라이브러리 파일과 도킹에 연결하는 방법

с) 예측된 양초 패턴의 구성. 하지만 오히려 어드바이저를 지표로 변경해야 합니다...

ps 코드를 표시하도록 코드를 수정할 수 있는 경우 표시기의 이름(샘플 1, 2 ...) 중 하나를 사용할 수 있습니다. 그것은 구축을 목표로합니다 - 라인, Сlosing price (예측을 위해 선택한 열) ...


2. 다른 방법(가장 좋은 방법): 합리적이라면 - 샘플(보유한 경우) 신경망 지표를 공유하도록 요청합니다.

죄송합니다. 저는 NeuroSolutions에 익숙하지 않아 이 문제에 대해 도움을 드릴 수 없습니다.

 

안녕하세요 믈라덴님, 인디케이터의 신호를 개인이 정한 시간으로 늦출 수 있습니다. 예를 들어, 때때로 현재 양초의 30분 차트에서 양초 시작 부분의 화살표를 표시하는 화살표 표시기가 있지만 이러한 신호는 대부분 다시 칠하거나 사라지는 경향이 있기 때문에 무시하고 싶습니다. 표시기/스크립트가 있거나 표시기 자체를 조정하여 특정 설정 시간에 신호를 표시할 수 있는 경우 선호합니다. 예: 10분/30분 차트, 20분/1시간 등

미리 감사드립니다.

 
emmany4 :

안녕하세요 믈라덴님, 인디케이터의 신호를 개인이 정한 시간으로 늦출 수 있습니다. 예를 들어, 때때로 현재 양초의 30분 차트에서 양초 시작 부분의 화살표를 표시하는 화살표 표시기가 있지만 이러한 신호는 대부분 다시 칠하거나 사라지는 경향이 있기 때문에 무시하고 싶습니다. 표시기/스크립트가 있거나 표시기 자체를 조정하여 특정 설정 시간에 신호를 표시할 수 있는 경우 선호합니다. 예: 10분/30분 차트, 20분/1시간 등

미리 감사드립니다.

닫힌 막대에 있는 신호에는 수행할 수 없습니다.

열린 바에서도 몇 시까지 지연이 가능한지 의심스럽습니다(경우에 따라 작동하지 않음)

 
kostumer27 :

믈라덴, 질문이 있습니다. 이 코드로 입력 을 연결할 가능성이 있습니까?

main.cpp(어댑터)

1. 여기, 주요 질문입니다. 사용된 배열을 대체할 수 있습니까? dll 어댑터 자체가 보편적이라고 생각합니다.
그런 다음 코드 어드바이저를 변경하고 싶습니다. 둘 다 여기에서 현재 가격으로 부트 어레이입니다.
a) 가격 표시기의 부트 어레이를 여러 표시기 및 OHLC의 선형 시퀀스로 교체합니다(30-300, 막대가 몇 개인지 모르십니까?).

b) 마지막 가격 값과 지표, 그리고 Neurosolutions의 중고 라이브러리 파일과 도킹에 연결하는 방법

с) 예측된 양초 패턴의 구성. 하지만 오히려 어드바이저를 지표로 변경해야 합니다...

ps 코드를 표시하도록 코드를 수정할 수 있는 경우 표시기의 이름(샘플 1, 2 ...) 중 하나를 사용할 수 있습니다. 그것은 구축을 목표로합니다 - 라인, Сlosing price (예측을 위해 선택한 열) ...


2. 다른 방법(가장 좋은 방법): 합리적이라면 - 샘플(보유한 경우) 신경망 표시기(NS), MT4에서 최소 2개의 표시기(다중용)로 작업 공유를 요청합니다.
합법적인 Neurosolutions가 있는 경우 작동해야 합니다.
 
mladen :

항목을 처리하는 부분입니다.


친애하는 mladen,

aert mtf 3.03으로 3 MA 크로스를 수정하여 단기 프레임에서 되돌림/후퇴/역전/반동의 모멘텀 을 타는 데 도움 이 되는 전략을 통합하는 데 도움을 주시겠습니까?

3 MA 크로스오버가 발생하고 캔들 크기가 사용자가 입력한 핍을 초과하면 표시기가 밝은 색상으로 강조 표시되고 바 전 번호(크로스 오버 동작의 최신 시간을 알기 위해)가 캔들에 인쇄되고 동일한 방식으로 표시됩니다. 되돌림이 발생하고 가격이 중간 MA를 넘을 때 양초가 강조 표시되고 이전 막대 번호가 인쇄됩니다.

MA 크로스오버에 대한 다중 통화 MTF 히트맵을 간절히 고대하고 있습니다. 시간을 찾으시기 바랍니다.

고맙습니다.