기고글 토론 "마켓에 제품 출시하기" - 페이지 46

 
Evgenii Sidorov:

#속성 표시기_별도_창

#속성 표시기_차트_창

와 다른 버퍼에 대해 2개의 다른 디스플레이를 지정하는 방법은 무엇인가요?

불가능합니다. ObjectCreate가 도움이 될 수 있습니다. 객체로 그리세요.

 
Artyom Trishkin:

예를 들어 가격이 스톱로스 수준에 너무 가까우면 스톱로스를 수정할 수 없습니다. 동결 거리는 동결 수준 수준에 따라 결정됩니다.

여기서 수정되는 것은 스톱이 아니라 거래가 체결되는 것입니까, 아니면 제가 틀렸나요?

 
Vladimir Khlystov:

정류장이 변경되는 것이 아니라 거래가 종료되는 건가요, 아니면 제가 잘못 알고 있는 건가요?

작업이 동결된 경우 닫을 수 없습니다.
 

안녕하세요!

모든 것이 잘되기를 바랍니다.

방금 EA를 만들었는데 mql 마켓에 라이선스를 부여하는 가장 좋은 방법은 무엇인가요? 이 EA를 시장에 판매하기 위해 제출하고 싶지만 필요하지 않은 경우 잘못된 유형의 라이선스를 추가하고 싶지 않습니다. 어떤 방법을 추천하나요?

 
MOTIONCAPITAL:

안녕하세요!

모두 잘 지내시길 바랍니다.

방금 EA를 만들었는데 mql 마켓에 라이선스를 부여하는 가장 좋은 방법은 무엇인가요? 이 EA를 시장에 판매하기 위해 제출하고 싶지만 필요하지 않은 경우 잘못된 유형의 라이선스를 추가하고 싶지 않습니다. 어떤 방법을 추천하나요?

MQL5 마켓에서 제공/라이센싱하는 방법은 한 가지뿐입니다. 규칙을 읽어보세요:

https://www.mql5.com/ko/market/rules

 
Aleksei Andarzhanov:
MQL4로 Expert Advisor를 작성했습니다. 마켓에 올리고 싶습니다. Expert Advisor에는 터미널에서 사용할 수 없는 두 개의 사용자 지정 지표가 필요합니다. 테스트를 위해 보내기 전에 Expert Advisor에 첨부하는 방법을 모르겠습니다. 그리고 또 하나. 규칙에 따르면 Expert Advisor는 ex5이어야한다고합니다. MQL4로 작성된 경우 ex5로 만드는 방법은 무엇입니까?

그런 질문을하면 시장에 나가기에는 너무 이르다.

 
Evgeniy Zhdan:

그런 질문을 하는 것은 시장에 진출하기에는 너무 어리다는 뜻입니다.

알아냈어요. 리소스를 통해 전문가 어드바이저에게 지표를 첨부했습니다. 한 가지. 그 전에는 Expert Advisor가 빨랐고 테스터에서 빠르게 날아 갔지만 이제는 속도가 10 배 감소했습니다. 가이드에 쓰여진대로 규칙에 따라 모든 작업을 수행했으며 지표 GetRelativeProgramPath ()의 경로를 찾는 함수를 삽입했지만 속도는 거북이, 하루 테스트 5 분....

 
Aleksei Andarzhanov:

알겠습니다. 리소스 를 통해 전문가 어드바이저에게 지표를 첨부했습니다. 하지만 한 가지... 그 전에는 Expert Advisor가 빨랐고 테스터에서 빠르게 날아 갔지만 이제는 속도가 10 배 감소했습니다. 가이드에 쓰여진대로 규칙에 따라 모든 작업을 수행했으며 지표 GetRelativeProgramPath ()의 경로를 찾는 함수를 삽입했지만 속도는 거북이, 하루 테스트 5 분....

지표 데이터가 매 틱마다 폴링되나요?

 
Denis Nikolaev:

매 틱마다 지표 데이터를 폴링하나요?

예. 코드에서 모든 것이 이전과 동일하게 유지됩니다. 인디케이터의 위치만 변경되었습니다. 이전에는 터미널에서 \\지표에서 요청했지만, 이제는 ex4 프로그램 자체에서 요청합니다.

#리소스 "\\Indicators\\\\##Contrast.ex4"

///////////

문자열 경로=GetRelativeProgramPath();

경로=경로+"::Indicators\\##Contrast.ex4";

ContrastMain_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,0,0),Digits);

ContrastSignal_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,1,0),Digits);

//////////

string GetRelativeProgramPath()

{

int pos2;

//--- 프로그램의 절대 경로를 가져옵니다.

string path=MQLInfoString(MQL_PROGRAM_PATH);

//--- 하위 문자열 "\MQL4\"의 위치를 찾습니다.

int pos =StringFind(path,"\\MQL4\\\\");

//--- 부분 문자열을 찾을 수 없음 - 오류

if(pos<0)

return(NULL);

//--- "\\MQL4" 카탈로그 건너뛰기

pos+=5;

//--- 불필요한 '\' 건너뛰기

while(StringGetCharacter(path,pos+1)=='\\\')

pos++;

//--- 리소스인 경우, MQL4 카탈로그를 기준으로 한 경로를 반환합니다.

if(StringFind(path,":::",pos)>=0)

return(StringSubstr(path,pos));

//--- MQL4에서 첫 번째 하위 디렉터리에 대한 구분자를 찾습니다(예: MQL4\Indicators).

//--- 없는 경우, MQL4 카탈로그를 기준으로 경로를 반환합니다.

if((pos2=StringFind(path,"\\\",pos+1))<0)

return(StringSubstr(path,pos));

//--- 하위 디렉터리를 기준으로 경로를 반환합니다(예: MQL4\Indicators).

return(StringSubstr(path,pos2+1))

}

 
Aleksei Andarzhanov:

예. 코드의 모든 내용은 이전과 동일합니다. 표시기의 위치만 변경되었습니다. 이전에는 터미널에서 \\\지표에서 요청했지만 이제는 ex4 프로그램 자체에서 요청합니다.

#리소스 "\\Indicators\\\\##Contrast.ex4"

///////////

문자열 경로 = 상대 프로그램 경로();

경로=경로+"::Indicators\\\###Contrast.ex4";

ContrastMain_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,0,0),Digits);

ContrastSignal_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,1,0),Digits);

//////////

문자열 GetRelativeProgramPath()

{

int pos2;

//--- 프로그램의 절대 경로를 가져옵니다.

문자열 경로=MQLInfoString(MQL_PROGRAM_PATH);

//--- 하위 문자열 "\MQL4\"의 위치를 찾습니다.

int pos =StringFind(path,"\\MQL4\\\");

//--- 부분 문자열을 찾을 수 없음 - 오류

if(pos<0)

반환(NULL);

//--- "\MQL4" 카탈로그 건너뛰기

pos+=5;

//--- 불필요한 '\' 건너뛰기

while(StringGetCharacter(path,pos+1)=='\\\')

pos++;

//--- 리소스인 경우, MQL4 카탈로그를 기준으로 한 경로를 반환합니다.

if(StringFind(path,":::",pos)>=0)

반환(StringSubstr(경로,위치));

//--- MQL4에서 첫 번째 하위 디렉터리의 구분자를 찾습니다(예: MQL4\Indicators).

//--- 그런 구분자가 없으면, MQL4 카탈로그를 기준으로 한 경로를 반환합니다.

if((pos2=StringFind(path,"\\\",pos+1))<0)

return(StringSubstr(path,pos));

//--- 하위 디렉터리를 기준으로 경로를 반환합니다(예: MQL4/Indicators).

return(StringSubstr(path,pos2+1));

}

엉망진창이네요...
iCustom()에서 이러한 경로를 대체해야 합니다:
"::Indicators\\\\##Contrast.ex4".