Expert Advisor가 호출할 수 있도록 표시기를 최소한 간단한 그래픽 개체로 채우십시오. 그런 다음 컴파일 후 Expert 파일만 Market으로 보내는 것처럼 Res_Ind.ex4의 이름을 바꾸거나 삭제합니다. 클라이언트는 작동하지 않는 프로그램을 받게 됩니다.
Expert Advisor가 호출할 수 있도록 표시기를 최소한 간단한 그래픽 개체로 채우십시오. 그런 다음 컴파일 후 Expert 파일만 Market으로 보내는 것처럼 Res_Ind.ex4의 이름을 바꾸거나 삭제합니다. 클라이언트는 작동하지 않는 프로그램을 받게 됩니다.
네, 그렇게 고집을 부릴 수는 없습니다... 리소스로 연결된 인디케이터가 어드바이저의 실행 파일에 포함되어 있다고 해서 그렇습니다.
그러나 지표가 그래픽 개체를 그리고 어드바이저가 이를 읽어야 한다는 사실이 큰 문제입니다. 그래픽 개체는 시각화로 테스트할 때만 사용할 수 있고 autovalidator는 시각화 없이 테스트하므로 개체의 속성을 볼 수 없습니다...
막대 수 계산을 클래스(:RatesTotal(void))에 추가했는데 구조에 올바르게 맞추는 방법을 알 수 없습니다. 이런 식으로 밝혀졌습니다. 어떻게 하면 더 좋아질 수 있는지 알려주세요.
#include <Arrays\ArrayObj.mqh>
/********************************************************************\
| Класс Новый бар |
\********************************************************************/class CNewBar : public CObject
{
private :
string m_symbol;
ENUM_TIMEFRAMES m_timeframe;
datetime m_time;
long m_rt;
datetime Time( void );
long RatesTotal( void ); stringSymbol ( void ) { returnthis .m_symbol; }
public :
ENUM_TIMEFRAMES Timeframe( void ) { returnthis .m_timeframe; }
datetime GetTime( void ) { returnthis .m_time; } // Возвращает время последнего обращенияlong GetRatesTotal( void ) { returnthis .m_rt; }bool IsNewBar( void ); // Основная функция класса
CNewBar( conststring symbol, constENUM_TIMEFRAMES timeframe);
~CNewBar( void ) {;}
};
//+------------------------------------------------------------------+//| Конструктор |//+------------------------------------------------------------------+
CNewBar::CNewBar( conststring symbol, constENUM_TIMEFRAMES timeframe) : m_time( 0 )
{
this .m_symbol = symbol;
this .m_timeframe = (timeframe == PERIOD_CURRENT ? Period () : timeframe);
}
//+------------------------------------------------------------------+//| Возвращает количество баров в истории |//+------------------------------------------------------------------+long CNewBar::RatesTotal( void )
{
//---- получим количество баровlong rt= SeriesInfoInteger ( this .m_symbol, this .m_timeframe, SERIES_BARS_COUNT );
//---- Проверка количестваif (rt< 1 )
Print ( "Error " + __FUNCTION__ + " Не определенно кол-во баров " , this .m_symbol, " " , this .m_timeframe);
//----return (rt);
};
//+------------------------------------------------------------------+//| CNewBar IsNewBar Основная функция класса |//+------------------------------------------------------------------+bool CNewBar::IsNewBar( void )
{
m_rt= this .RatesTotal();datetime tm= this .Time();
if (tm== 0 || m_rt< 1 )returnfalse ;
if (tm!= this .m_time)
{
this .m_time = tm;
returntrue ;
}
returnfalse ;
}
지표는 다음과 같습니다.
다음은 전문가입니다.
다음은 하나의 파일에 있는 모든 것입니다.
4개는 사실이지만 상위 5개에도 포함됩니다.Expert 파일만 컴파일했습니다.
Expert Advisor가 호출할 수 있도록 표시기를 최소한 간단한 그래픽 개체로 채우십시오. 그런 다음 컴파일 후 Expert 파일만 Market으로 보내는 것처럼 Res_Ind.ex4의 이름을 바꾸거나 삭제합니다. 클라이언트는 작동하지 않는 프로그램을 받게 됩니다.
그리고 따로 2개의 파일을 마켓에 둘 수 없습니다. 그게 정책입니다.
Expert 파일만 컴파일했습니다.
Expert Advisor가 호출할 수 있도록 표시기를 최소한 간단한 그래픽 개체로 채우십시오. 그런 다음 컴파일 후 Expert 파일만 Market으로 보내는 것처럼 Res_Ind.ex4의 이름을 바꾸거나 삭제합니다. 클라이언트는 작동하지 않는 프로그램을 받게 됩니다.
네, 그렇게 고집을 부릴 수는 없습니다... 리소스로 연결된 인디케이터가 어드바이저의 실행 파일에 포함되어 있다고 해서 그렇습니다.
그러나 지표가 그래픽 개체를 그리고 어드바이저가 이를 읽어야 한다는 사실이 큰 문제입니다. 그래픽 개체는 시각화로 테스트할 때만 사용할 수 있고 autovalidator는 시각화 없이 테스트하므로 개체의 속성을 볼 수 없습니다...
리소스로 연결된 인디케이터는 어드바이저의 실행 파일에 포함되어 있다고 해서 그렇습니다.
별도의 창에 표시
표시기 컴파일 --> win.ex5.
리소스에 이 지표가 있는 전문가 고문
Expert 컴파일 --> exp.ex5.
Expert Advisor를 실행하면 차트에 표시기 창이 있습니다.
시장에 하나의 exp.ex5 전문가 파일을 게시합니다(실제로 win.ex5 표시기 파일을 삭제함).
Expert Advisor를 실행하면 차트에 표시기 창이 없습니다.
삭제된 win.ex5 파일을 복원합니다.
Expert Advisor를 실행하면 차트에 표시기 창이 있습니다.
결론: 표시기 코드는 Expert Advisor 코드에 포함되어 있지 않습니다. 리소스 Indicator가 있는 Expert Advisor의 정상적인 작동을 위해서는 리소스에 지정된 Indicator의 실행 파일이 필요합니다.
내 질문을 반복하겠습니다.
맞춤형 지표, 라이브러리가 있는 Expert Advisor가 있는 경우 시장에 게시하는 방법 Expert가 제대로 작동하려면 둘 이상의 파일이 필요합니까?
별도의 창에 표시
표시기 컴파일 --> win.ex5.
리소스에 이 지표가 있는 전문가 고문
Expert 컴파일 --> exp.ex5.
Expert Advisor를 실행하면 차트에 표시기 창이 있습니다.
시장에 하나의 exp.ex5 전문가 파일을 게시합니다(실제로 win.ex5 표시기 파일을 삭제함).
Expert Advisor를 실행하면 차트에 표시기 창이 없습니다.
삭제된 win.ex5 파일을 복원합니다.
Expert Advisor를 실행하면 차트에 표시기 창이 있습니다.
결론: 표시기 코드는 Expert Advisor 코드에 포함되어 있지 않습니다. 리소스 Indicator가 있는 Expert Advisor의 정상적인 작동을 위해서는 리소스에 지정된 Indicator의 실행 파일이 필요합니다.
내 질문을 반복하겠습니다.
맞춤형 지표, 라이브러리가 있는 Expert Advisor가 있는 경우 시장에 게시하는 방법 Expert가 제대로 작동하려면 둘 이상의 파일이 필요합니까?
문서에 대한 링크를 몇 번이나 받았습니까? 엄마가 읽지 말라고?
드디어 읽다...
문서에 대한 링크를 몇 번이나 받았습니까? 엄마는 내가 읽지 못하게 했어?
드디어 읽다...
Alexey, 오류를 직접 지적해 주셔서 감사합니다.
문서를 읽었지만 "내 눈에는 보이지 않았습니다".
내가 사과하기 전에 - 밟았다.
이제 이해했습니다.
말해 주세요.
막대 수 계산을 클래스(:RatesTotal(void))에 추가했는데 구조에 올바르게 맞추는 방법을 알 수 없습니다. 이런 식으로 밝혀졌습니다. 어떻게 하면 더 좋아질 수 있는지 알려주세요.
이제 이해했습니다.
밟지 않았지만 몰랐습니다. 전혀 문제 없습니다 :)
어떻게 하는지 알 수 없는 prev_calculated의 계산을 유사하게 구성하는 방법을 제안할 수 있습니까?