[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 229

 
nikkola >> :

나는 디 컴파일하지 않았고이 형식으로 얻었습니다 ...

전혀 바뀌지 않습니다.

 
이상하게 그냥 사라졌지만 어쨌든 Xpert 덕분에 오류가 무엇인지 알 수 있습니다.
 
nikkola >> :

나는 디 컴파일하지 않았고이 형식으로 얻었습니다 ...

그리고 일반적으로 이런 종류의 전문가들은 이 리소스에 대해 대량으로 오픈 소스를 사용하고 있습니다. 그것은 일종의 고갈된 EA였으며 가격과 자동차의 교차점에서 작동했습니다. 나는 점 대신 다른 지표를 대체했습니다. 그게 전부입니다. 그리고 나는 문제에 부딪쳤다.

 
그리고 한 가지 더 질문, 보관된 형식에 따옴표가 있는지 아는 사람이 있습니까? 그렇지 않으면 내 인터넷이 고무가 아니며 끝납니다 ^_^
 
nikkola >> :

안녕하세요, 도와주세요 plz 저는 이해할 수 없습니다... 오실레이터 신호에 대해 작업하고 0을 넘은 후 포지션을 여는 어드바이저가 있습니다. 현재 막대가 닫히고 신호가 형성되었을 때 강제로 위치를 열도록 해야 합니다. 그렇지 않으면 앞뒤로 매달려 있습니다. 신호가 안정될 때까지 분당 여러 번 위치를 열고 닫을 수 있습니다.

코드는 다음과 같습니다.


외부 이중 로트 = 0.1;
외부 이중 Per = 14;
부울 gi_84 = 참;
정수 gi_88 = 366;
이중 gd_92 = 0.02;
이중 gd_100 = 0.2;
int g_period_108 = 14;
정수 gi_112 = 50;
int g_slippage_116 = 0;



무효 시작() {
정수 l_cmd_52;
int l_ticket_56;

문자열 l_symbol_0 = 기호();
이중 l_isar_8 = iCustom(NULL,0,"daytrend-t01",Per,0,0);
이중 l_isar_9 = iCustom(NULL,5,"daytrend-t01",Per,0,0);
정수 l_cmd_40 = -1;
int l_ord_total_44 = 주문 합계();
Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT));
(int li_48 = l_ord_total_44; li_48 > 0; li_48--) {
if (주문 선택(li_48 - 1, SELECT_BY_POS) == TRUE) {
l_cmd_52 = 주문 유형();
if (OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY || l_cmd_52 > OP_SELL) 계속;
l_ticket_56 = 주문 티켓();
새로 고침();
if (l_cmd_52 < OP_SELL) {
if (l_isar_8 > 0) {
동안 (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
계속하다;
}
} 또 다른 {
if (l_isar_8 < 0 ) {
동안 (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
계속하다;
}
}
l_cmd_40 = l_cmd_52;
}
}
if (l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) {
새로 고침();
if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112);
또 다른
if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112);
}
}

무효 FunError(int ai_0) {
수면(ai_0);
새로 고침();
}

무효 deinit() {
}

이를 위해 다음 코드를 사용합니다.


bool Fun_New_bar()
/*
새 막대의 존재를 확인하기 위해 함수가 만들어졌습니다.
새 막대가 발견되면 "true", 그렇지 않으면 "false"입니다.
============
변수:
============
Test_Time - 테스트 시간
*/
{
정적 날짜 시간 Test_Time=0;
if(테스트_시간!=시간[0])
{
Test_Time=시간[0];
반환(참);
}
반환(거짓);
}


내 질문에 대해 아는 사람을 돕거나 실제로 이런 식으로 할 수 없다면 이것이 불가능하다고 말하십시오 ... 그렇지 않으면 3 일 동안 답변을 찾고 있었고 지금까지 아무 소용이 없습니다. :-(

 
betmen >> :

내 질문에 대해 아는 사람을 돕거나 실제로 이런 식으로 할 수 없다면 이것이 불가능하다고 말하십시오 ... 그렇지 않으면 3 일 동안 답변을 찾고 있었고 지금까지 아무 소용이 없습니다. :-(

사용자 정의 UI는 매개변수를 설정하는 데 사용됩니다. 저것들. 특정 작업(특정 표시기용)을 위해 특별히 설계된 창. 메타 트레이더에서 이러한 창을 만들 가능성은 없습니다. 따라서 실행 파일을 수신하여 다른 곳에서 생성해야 합니다. 실행 파일은 Exe 또는 Dll일 수 있습니다. Dll은 표시기/스크립트의 시작 부분에서 호출할 수 있습니다. 이것은 분명히 더 편리합니다.

 
jartmailru >> :

사용자 정의 UI는 매개변수를 설정하는 데 사용됩니다. 저것들. 특정 작업(특정 표시기용)을 위해 특별히 설계된 창. 메타 트레이더에서 이러한 창을 만들 가능성은 없습니다. 따라서 실행 파일을 수신하여 다른 곳에서 생성해야 합니다. 실행 파일은 Exe 또는 Dll일 수 있습니다. Dll은 표시기/스크립트의 시작 부분에서 호출할 수 있습니다. 이것은 분명히 더 편리합니다.

감사해요!!!

Delphi에서 창을 어셈블하는 것은 문제가 되지 않습니다. 이제 질문은 "메인 폼"의 개체와 MQL4의 변수 간의 인터페이스를 설정하는 방법입니다. 이에 대해 설명된 기사에 대한 링크를 공유하면 그저 감사할 따름입니다... :-)

 
betmen >> :

감사해요!!!

Delphi에서 창을 어셈블하는 것은 문제가 되지 않습니다. 이제 질문은 "메인 폼"의 개체와 MQL4의 변수 간의 인터페이스를 설정하는 방법입니다. 이에 대해 설명된 기사에 대한 링크를 공유하면 그저 감사할 따름입니다... :-)

글쎄, 나는 Dll을 초기화하는 것이 최적이라는 인상을 받았습니다.

모달 표시는 위험할 수 있습니다(표시기가 UI 스레드에 있으므로 결과를 얻을 수 있음)-

또는 그렇지 않을 수도 있습니다 ... 일반적으로 양식은 별도의 환경에서 실행할 수 있습니다. 모든 것이 Wtl에서 훌륭하게 나타났습니다.

표시기는 이 양식을 실행하고 폴링할 수 있는 플래그를 기다립니다.

그런 다음 - 양식이 준비 상태를 표시할 때 - 포인터/참조가 있는 get(int & to[])과 같은 다른 함수가 있습니다.

다른 데이터를 전송합니다. 문자열이 문제일 수 있습니다...

그리고 저와 기사에 대한 링크를 공유하십시오 ;-).

 
jartmailru >> :

글쎄, 나는 Dll을 초기화하는 것이 최적이라는 인상을 받았습니다.

모달 표시는 위험할 수 있습니다(표시기가 UI 스레드에 있으므로 결과를 얻을 수 있음)-

또는 그렇지 않을 수도 있습니다 ... 일반적으로 양식은 별도의 환경에서 실행할 수 있습니다. 모든 것이 Wtl에서 훌륭하게 나타났습니다.

표시기는 이 양식을 실행하고 폴링할 수 있는 플래그를 기다립니다.

그런 다음 - 양식이 준비 상태를 표시할 때 - 포인터/참조가 있는 get(int & to[])과 같은 다른 함수가 있습니다.

다른 데이터를 전송합니다. 문자열이 문제일 수 있습니다...

그리고 저와 기사에 대한 링크를 공유하십시오 ;-).

문제는 지표 자체에 대한 설정을 선택할 때 표준 지표가 숫자를 더 읽기 쉬운 것으로 대체할 수 있는 기능으로 새로운 "매개변수" 탭을 그리는 방법이었습니다.

예를 들어 MA를 호출하는 경우:


표시기 코드에서 "MA_Method" 변수이며 조건에 따라 방법이 선택됩니다.


스위치(MA_메소드)
{
사례 1 : short_name="EMA("; draw_begin=0; 중단;
사례 2 : short_name="SMMA("; 중단;
사례 3 : short_name="LWMA("; 중단;
기본 :
MA_방법=0;
short_name="SMA(";


초기화하는 동안 다른 개발 환경에서 컴파일된 exe를 시작하는 것이 좋습니다. 옵션으로 어드바이저 초기화 중에 일종의 exe 파일을 시작하는 것이 실제로 허용되지만 다른 문제가 발생합니다. 프로그램에서 변수로 데이터를 전송하는 방법 지표 자체의?

즉, 어떻게 combobox1.text 값이 MA_Method에 전달된 숫자로 변환됩니까?

파일을 통해서는 왠지 미학적이고 MetaTrader와 내가 만든 "test.exe"를 위한 공통 메모리 공간이 없는 것 같습니다.

 
Rita писал(а) >>

덕분에. 나는 지금 시도 할거야.

//------------------------------------------------

네, 해결되었습니다. 전문가들이 도착했습니다.

그러나 그것은 나를 돕지 않았습니다 :-(오류에 대한 사과가 여전히 나타나고 MT가 닫힙니다.