MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1176

 
Alexey Belyakov :

https://www.mql5.com/en/code/23479 이것은 작동하지 않습니다

시도했지만 코드에 문제가 있어서 내 낙서에 관심을 가질 사람은 없을 것 같습니다.


그리고 여기:

 datetime some_time= TimeCurrent ();
extern string Symbol3 = "" ; //Инструмент (""текущий по умолчанию)
extern double P= 5 ;       //Таймфрейм


int start()
{
int raznV;
int percV;
int SD= 5 ; // переменная для поиска разницы объёма
int sig;

double VAL2= MathAbs ( iVolume ( NULL ,P, 2 ));   //Т.Объём
double VAL1= MathAbs ( iVolume ( NULL ,P, 1 ));


raznV = MathAbs ( iVolume ( NULL ,P, 2 )- iVolume ( NULL ,P, 1 ));   //Разница объёма
percV = MathRound (raznV/(VAL1 * 0.01 )); // Разница в (%)

//Цикл сканирования последних свечей SD,на которых есть разница равная 50%.
for ( int i=SD; i>= 0 ; i--)
{
int sig=(raznV [i] )> 50 ;


//Если  есть нужная разница, значение будет больше нуля.
if (sig> 0 )
{
Alert ( "Сигнал" );
}

if (SD> 5 )
{
ObjectDelete ( "signal4" );
} 


return ( 0 );

int sig=(raznV[i])>50; 여기에 걸림돌이 있습니다. 나는 그것을 상상하는 다른 방법을 모른다. 그리고 이전 양초에서 최소 50%의 편차를 결정해야 합니다.

당신의 코드는 그다지 열성적이지 않은 1학년의 에세이처럼 아름답습니다. 불쾌하지 않습니다. 최소한 주석을 작성하는 것은 좋습니다. :)

특히 razn V [i]를 좋아했는데 PineScript에서 나오셨나요? 자, 이것은 정상적인 프로그래밍 언어입니다))

빨간색 - 중요한 오류 노란색 - 단점

 
안녕하세요. 이동 평균 의 음의 이동에 대해 질문이 있습니다. 결과적으로 이 값으로 거래를 열거나 닫는 것은 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
 

안녕하세요. dll에서 가져오기를 도와주세요. trans2quik.dll에서 함수를 가져오려고 했습니다.

 #import "trans2quik.dll"
   int _TRANS2QUIK_CONNECT@ 16 ( string lpcstrConnectionParamsString, int & pnExtendedErrorCode[], string lpstrErrorMessage, int dwErrorMessageSize);
#import

모든 것이 dll에서 코드 0(TRANS2QUIK_SUCCESS)을 반환한 것으로 나타났습니다. 다른 함수를 가져오려고 하면 컴파일러에서 긴 이름에 대한 오류가 발생합니다(포럼에서 알 수 있듯이 함수 이름에 31자 이상은 허용되지 않음). 다른 방법으로 함수를 가져올 수 있습니까? 여기에 작성된 함수 번호로 시도했습니다(https://docs.microsoft.com/en-us/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by- name?view=vs-2019) 하지만 그가 제대로 하지 않았거나 컴파일러가 숫자로 맹세할 수 없습니다(예상 이름 쓰기). 제가 알기로는 dll을 첨부하려면 래퍼가 필요합니까? 아니면 dll 자체에서 함수 이름을 어떻게든 편집할 수 있습니까? 중요한 경우 dll 아카이브에 .h 및 .lib 파일이 있습니다.

 
Darirunu :
안녕하세요. 이동 평균의 음의 이동에 대해 질문이 있습니다. 결과적으로 이 값으로 거래를 열거나 닫는 것은 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

코드를 첨부할 수 있습니까?

 
테스트 속도를 프로그래밍 방식으로 변경할 수 있습니까?
 
Yevhenii Levchenko :
테스트 속도를 프로그래밍 방식으로 변경할 수 있습니까?

~할 수 있다

 
f1nik :

안녕하세요. dll에서 가져오기를 도와주세요. trans2quik.dll에서 함수를 가져오려고 했습니다.

모든 것이 dll에서 코드 0(TRANS2QUIK_SUCCESS)을 반환한 것으로 나타났습니다. 다른 함수를 가져오려고 하면 컴파일러에서 긴 이름에 대한 오류가 발생합니다(포럼에서 알 수 있듯이 함수 이름에 31자 이상은 허용되지 않음). 다른 방법으로 함수를 가져올 수 있습니까? 여기에 작성된 함수 번호로 시도했습니다(https://docs.microsoft.com/en-us/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by- name?view=vs-2019) 하지만 그가 제대로 하지 않았거나 컴파일러가 숫자로 맹세할 수 없습니다(예상 이름 쓰기). 제가 알기로는 dll을 첨부하려면 래퍼가 필요합니까? 아니면 dll 자체에서 함수 이름을 어떻게든 편집할 수 있습니까? 중요한 경우 dll 아카이브에 .h 및 .lib 파일이 있습니다.

숫자로 MQL에서 작동하지 않습니다.

 
Koldun Zloy :

숫자로 MQL에서 작동하지 않습니다.

고맙습니다. 따라서 터미널trans2quik.dll 사이에는 dll 어댑터만 있습니다.
 
f1nik :
고맙습니다. 따라서 터미널과 trans2quik.dll 사이에는 dll 어댑터만 있습니다.

문자열을 #define str "long long string " 또는 + 또는 문자열 함수를 통해 두 개의 문자열로 밀어 넣는 대신.

결국 Comment 역시 줄의 길이에 제한이 있지만 여러 줄에 모니터에 맞지 않는 변수를 너무 많이 넣을 수 있습니다.

 
안녕하세요. Forex에 대해 지정된 마진에 따라 로트 크기를 계산하는 스크립트 또는 함수를 표시합니다. 그렇지 않으면 모든 스크립트가 로트 크기에서 마진을 계산합니다. BO처럼 예치금의 여유자금에서 일정금액만큼 개설하는 것이 편리할 것입니다.