굿바이 로봇, 만세 광기 - 페이지 4 1234567891011...16 새 코멘트 Andrei01 2014.09.10 02:05 #31 Mislaid : 코드의 라인 표시를 사용하여 범위를 벗어난 배열을 제어하는 것은 매우 유용합니다. 이전에는 0으로 나누고 원하는 위치를 찾습니다. 그리고 더 나쁜 것은 오류가 나타나지 않는 경우입니다. 어떻게하는지 예를 들어 주시겠습니까? 문서에서 이 기능에 대한 정보를 찾지 못했습니다. Mislaid 2014.09.10 02:26 #32 Andrei01 : 어떻게하는지 예를 들어 주시겠습니까? 문서에서 이 기능에 대한 정보를 찾지 못했습니다. 그게 다야! 이제 아무것도 할 필요가 없습니다. "전문가" 탭을 열고 로그를 읽으십시오. 오류가 발생하면 이에 대한 메시지가 표시됩니다. 유형: 범위를 벗어난 배열 ....... 코드의 줄 번호를 나타냅니다. Andrei01 2014.09.10 02:59 #33 Mislaid : "전문가" 탭을 열고 로그를 읽으십시오. 지표와 스크립트에서 작동합니까? pansa 2014.09.10 03:18 #34 Pavlick : 스크립트/인디케이터 이름의 첫 글자의 대소문자를 변경해 보십시오. 왠지 나도 찐 https://www.mql5.com/ru/forum/152533/page2#982156 추신: 음, 문자열을 char[]로 변경 대답해, 공작! 당신은 훌륭한 파블릭이고 수고했습니다! 코드가 즉시 작동했습니다! 이제 마우스를 사용할 수 있습니다 스크립트! 표시기에 장착해야 합니다. 귀하의 코드가 표시기에 삽입됩니다 작은 장애물이 있다 편집자가 이름을 인식하고 싶지 않습니다. script.i는 제목을 제자리에 썼습니다. 스크립트가 호출되어야 하는 곳에서. 만 남아 스크립트가 될 수 있도록 인정! 도울 수 있니? 진심으로 판사 Victor Nikolaev 2014.09.10 03:54 #35 pansa : 대답해, 공작! 당신은 훌륭한 파블릭이고 수고했습니다! 코드가 즉시 작동했습니다! 이제 마우스를 사용할 수 있습니다 스크립트! 표시기에 장착해야 합니다. 귀하의 코드가 표시기에 삽입됩니다 작은 장애물이 있다 편집자가 이름을 인식하고 싶지 않습니다. script.i는 제목을 제자리에 썼습니다. 스크립트를 호출해야 하는 위치에서. 만 남아 스크립트가 될 수 있도록 인정! 도울 수 있니? 진심으로 판사 무슨 일 있으면 내가 도와줄게 Dmitry Fedoseev 2014.09.10 05:07 #36 이러한 경고와 함께 여전히 매우 좋은 매복이 하나 있습니다(적어도 한 번은 있었음). 부울 표현식 의 우선 순위가 변경되었습니다. 괄호로 우선 순위를 명시적으로 지정하지 않으면 부울 표현식이 이제 이전과 매우 다른 효과를 가지지만 컴파일러는 경고만 제공합니다. 이론상 그것은 실수여야 합니다. 누군가는 경고에 점수를 매기기로 결정했을 수 있으며 그 중 하나는 논리적 표현에 대한 경고입니다. pansa 2014.09.10 06:08 #37 Vinin : 무슨 일 있으면 내가 도와줄게 이봐 비니나! 매우 감사합니다 도우려고! 리뷰를 위해 어떻게 구성했는지 보내드립니다. 컴포스터로 스크립트 호출 판자 __________________________________________ 안녕 공작님! 나는 예를 보여주고 싶다 스크립트 호출이 어떻게 구성되었는지 퇴비, 이제 모든 것이 작동하지 않습니다. 검토를 위해 판사 //+----------------------------------------------- --------------------+ //| sample_execute_script.mq4 | //+----------------------------------------------- --------------------+ # "user32.dll" 가져오기 int RegisterWindowMessageA(문자열 메시지 이름); int PostMessageA(int hwnd, int msg, int wparam, 문자열 이름); 무효 keybd_event(int VirtualKey, int ScanCode, int 플래그, int ExtraInfo); #수입 정수 시작() { int winHandle = WindowHandle( Symbol(), Period() ); // // // if( 신호 < 0 && trigl==true && 구매 == true ) {StartScript( winHandle, "SchliesenProfitOrders" ); } // // // 무효 StartScript(int hWnd, 문자열 ScriptName, bool AutomaticAcceptDefaults = false) { int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message"); PostMessageA(hWnd, 메시지 번호, 16, 스크립트 이름); if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); } } 무효 ClearConfigDialog() { 수면(100); keybd_event(13, 0, 0, 0); } // // // // // // 반환(0); Goodbye robot - hello Execute an existing EA MQL4 EA의 차트에 지표 Boris 2014.09.10 07:31 #38 pansa : 이봐 비니나! 매우 감사합니다 도우려고! 리뷰를 위해 어떻게 구성했는지 보내드립니다. 컴포스터로 스크립트 호출 판자 __________________________________________ 안녕 공작님! 나는 예를 보여주고 싶다 스크립트 호출이 어떻게 구성되었는지 퇴비, 이제 모든 것이 작동하지 않습니다. 검토를 위해 판자 SRC 를 클릭 하고 코드를 붙여넣기가 어렵습니까?! //+------------------------------------------------------------------+ //| sample_execute_script.mq4 | //+------------------------------------------------------------------+ #import "user32.dll" int RegisterWindowMessageA( string MessageName); int PostMessageA( int hwnd, int msg, int wparam, string Name); void keybd_event( int VirtualKey, int ScanCode, int Flags, int ExtraInfo); #import int start() { int winHandle = WindowHandle( Symbol (), Period () ); // // // if (signal < 0 && trigl== true && buy == true ) { StartScript(winHandle, "SchliesenProfitOrders" ); } // // // } void StartScript( int hWnd, string ScriptName, bool AutomaticallyAcceptDefaults = false ) { int MessageNumber = RegisterWindowMessageA( "MetaTrader4_Internal_Message" ); PostMessageA(hWnd, MessageNumber, 16 , ScriptName); if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); } } void ClearConfigDialog() { Sleep ( 100 ); keybd_event( 13 , 0 , 0 , 0 ); } // // // return ( 0 ); [삭제] 2014.09.10 08:00 #39 pansa : 다음과 같이 잘 작동해야 합니다. void StartScript( int hWnd, string ScriptName, bool AutomaticallyAcceptDefaults = false ) { char buf[]; StringToCharArray ( "MetaTrader4_Internal_Message" , buf); int MT4InternalMsg = RegisterWindowMessageA(buf); StringToCharArray (ScriptName, buf); SendMessageA(hWnd, MT4InternalMsg, 16 , buf); if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); } } void ClearConfigDialog() { Sleep ( 100 ); keybd_event( 13 , 0 , 0 , 0 ); } 그리고 스크립트의 첫 글자의 대소문자를 잊지 마십시오. 예를 들어 "test" 스크립트가 실행되지 않으면 "Test"를 시도해야 합니다. 진심으로, Pavlik)) pansa 2014.09.10 10:14 #40 Pavlick : 다음과 같이 잘 작동해야 합니다. 그리고 스크립트의 첫 글자의 경우를 잊지 마세요. 예를 들어 " test " 스크립트가 실행되지 않으면 "Test"를 시도해야 합니다. 진심으로, Pavlik)) 안녕 공작님! 수정본을 받았고 지표에 모든 것을 넣으려고 했습니다. 그러나 편집자가 원하지 않는 무엇을 할 수 있는지보십시오 작동하도록! 판사 //+----------------------------------------------- --------------------+ //| AlttrEND_Signal.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| https://www.mql5.com | //+----------------------------------------------- --------------------+ //+----------------------------------------------- --------------------+ //| AltrTrend_Signal_v2_2_alert.mq4 | //| Ramdass - 변환 전용 | //+----------------------------------------------- --------------------+ #특성 copyright "저자 - OlegVS, GOODMAN" #속성엄격 # "user32.dll" 가져오기 int RegisterWindowMessageA(uchar &lParam[]); int SendMessageA(int hWnd, int 메시지, int wParam, char &lParam[]); 무효 keybd_event(int VirtualKey, int ScanCode, int 플래그, int ExtraInfo); #수입 #속성 표시기_차트_창 #속성 표시기_버퍼 2 #property indicator_color1 딥스카이블루 #property indicator_color2 오렌지레드 #속성 표시기_너비1 1 #속성 표시기_너비2 1 //---- 입력 매개변수 extern bool Alert_message=true; 외부 정수 time_alert_minutes=60; // ????? ???? ???????????? ???? ??? ? 60?????. 외부 정수 K = 30; 외부 이중 Kstop = 0.5; 외부 정수 K주기 = 150; extern int PeriodADX = 7;//14; 외부 정수 CountBars = 100; //---- 버퍼 이중 val1[]; 이중 val2[]; 이중 AlertTime; //+----------------------------------------------- --------------------+ //| 커스텀 인디케이터 초기화 기능 | //+----------------------------------------------- --------------------+ 정수 초기화() { 문자열 short_name; //---- 표시줄 표시기버퍼(1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,241); 표시기버퍼(2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,242); SetIndexBuffer(0, val1); SetIndexBuffer(1, val2); if(CountBars>=막대) CountBars=막대; SetIndexDrawBegin(0, 막대 - CountBars + PeriodADX ); SetIndexDrawBegin(1, 막대 - CountBars + PeriodADX ); //---- 리턴(0); } //+----------------------------------------------- --------------------+ //| AltrTrend_Signal_v2_2 | //+----------------------------------------------- --------------------+ 정수 시작() { int i, shift, counted_bars = IndicatorCounted(); //---- if(counted_bars<0) return(-1); //---- 정수 i1, i2, t_per; 이중 범위, AvgRange, smin, smax, SsMax, SsMin, SSP, 가격; bool 상승세, 이전; //---- if(막대 <=PeriodADX + 1) 리턴(0); //---- for(shift = CountBars - PeriodADX ; shift >= 0; shift--) { SSP = MathCeil(Kperiod / iADX(NULL, 0, PeriodADX, PRICE_CLOSE, MODE_MAIN, 1)); 범위=0; 평균 범위 = 0; for(i1 = 시프트; i1 <= 시프트 + SSP; i1++) { AvgRange = AvgRange + MathAbs(높음[i1] - 낮음[i1]); } 범위 = AvgRange / (SSP + 1); //---- SsMax = 높음[시프트]; SsMin = 낮음[시프트]; for(i2 = 시프트; i2 <= 시프트 + SSP - 1; i2++) { 가격 = 높음[i2]; if(SsMax < 가격) SsMax = 가격; 가격 = 낮음[i2]; if(SsMin >= 가격) SsMin = 가격; } //---- smin = SsMin + (SsMax - SsMin)*K / 100; smax = SsMax - (SsMax - SsMin)*K / 100; val1[시프트] = 0.0; val2[시프트] = 0.0; if(닫기[shift] < smin) { 상승 추세=거짓; } if(닫기[shift] > smax) { 상승 추세 = 사실; } if(상승 추세 != 이전 && 상승 추세 == 참) { val1[shift] = 낮음[shift] - 범위*Kstop; } if(상승 추세 != 이전 && 상승 추세 == 거짓) { val2[shift] = High[shift] + 범위*Kstop; } 오래된 = 상승세; } 무효 StartScript(int hWnd, 문자열 ScriptName, bool AutomaticAcceptDefaults = false) { { 숯불[]; StringToCharArray("MetaTrader4_Internal_Message", buf); int MT4InternalMsg = RegisterWindowMessageA(buf); StringToCharArray("fPlayer", buf); SendMessageA(hWnd, MT4InternalMsg, 16, buf); if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); } } 무효 ClearConfigDialog() { 수면(100); keybd_event(13, 0, 0, 0); } //---- 알리다 if (Period()<Time_alert_minutes) t_per=Period(); else t_per=Time_alert_minutes; // ???? ??<시간경보, ????? ???? ???????????? ???? ??? ? ??. if (Alert_message==true && CurTime()>AlertTime && val1[0]!=0.0) { 경고(기호()," +++ 구입!!! ++" , " //AltrTrend_Signal_v2_2_alert"); AlertTime=CurTime() + (t_per - MathMod(TimeMinute(CurTime()), t_per))*60; //PlaySound("payment.wav"); fPlayer;//스크립트 } if (Alert_message==true && CurTime()>AlertTime && val2[0]!=0.0) { 경고(기호()," +++ 팔다!!! ++" , " //AltrTrend_Signal_v2_2_alert"); AlertTime=CurTime() + (t_per - MathMod(TimeMinute(CurTime()), t_per))*60; // PlaySound("payment.wav"); f플레이어; } 반환(0); } //+----------------------------------------------- --------------------+ Goodbye robot - hello [아카이브!] 어떤 전문가나 지표도 원시 아이디어 1234567891011...16 새 코멘트 사유: 취소 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
코드의 라인 표시를 사용하여 범위를 벗어난 배열을 제어하는 것은 매우 유용합니다. 이전에는 0으로 나누고 원하는 위치를 찾습니다. 그리고 더 나쁜 것은 오류가 나타나지 않는 경우입니다.
어떻게하는지 예를 들어 주시겠습니까? 문서에서 이 기능에 대한 정보를 찾지 못했습니다.
그게 다야! 이제 아무것도 할 필요가 없습니다. "전문가" 탭을 열고 로그를 읽으십시오. 오류가 발생하면 이에 대한 메시지가 표시됩니다. 유형:
범위를 벗어난 배열 ....... 코드의 줄 번호를 나타냅니다.
"전문가" 탭을 열고 로그를 읽으십시오.
스크립트/인디케이터 이름의 첫 글자의 대소문자를 변경해 보십시오. 왠지 나도 찐 https://www.mql5.com/ru/forum/152533/page2#982156
추신: 음, 문자열을 char[]로 변경
대답해, 공작!
당신은 훌륭한 파블릭이고 수고했습니다!
코드가 즉시 작동했습니다!
이제 마우스를 사용할 수 있습니다
스크립트!
표시기에 장착해야 합니다.
귀하의 코드가 표시기에 삽입됩니다
작은 장애물이 있다
편집자가 이름을 인식하고 싶지 않습니다.
script.i는 제목을 제자리에 썼습니다.
스크립트가 호출되어야 하는 곳에서.
만 남아 스크립트가 될 수 있도록
인정!
도울 수 있니?
진심으로
판사
대답해, 공작!
당신은 훌륭한 파블릭이고 수고했습니다!
코드가 즉시 작동했습니다!
이제 마우스를 사용할 수 있습니다
스크립트!
표시기에 장착해야 합니다.
귀하의 코드가 표시기에 삽입됩니다
작은 장애물이 있다
편집자가 이름을 인식하고 싶지 않습니다.
script.i는 제목을 제자리에 썼습니다.
스크립트를 호출해야 하는 위치에서.
만 남아 스크립트가 될 수 있도록
인정!
도울 수 있니?
진심으로
판사
무슨 일 있으면 내가 도와줄게
무슨 일 있으면 내가 도와줄게
이봐 비니나!
매우 감사합니다
도우려고!
리뷰를 위해 어떻게 구성했는지 보내드립니다.
컴포스터로 스크립트 호출
판자
__________________________________________
안녕 공작님!
나는 예를 보여주고 싶다
스크립트 호출이 어떻게 구성되었는지
퇴비, 이제 모든 것이 작동하지 않습니다.
검토를 위해
판사
//+----------------------------------------------- --------------------+
//| sample_execute_script.mq4 |
//+----------------------------------------------- --------------------+
# "user32.dll" 가져오기
int RegisterWindowMessageA(문자열 메시지 이름);
int PostMessageA(int hwnd, int msg, int wparam, 문자열 이름);
무효 keybd_event(int VirtualKey, int ScanCode, int 플래그, int ExtraInfo);
#수입
정수 시작()
{
int winHandle = WindowHandle( Symbol(), Period() );
//
//
//
if( 신호 < 0 && trigl==true && 구매 == true ) {StartScript( winHandle, "SchliesenProfitOrders" ); }
//
//
//
무효 StartScript(int hWnd, 문자열 ScriptName, bool AutomaticAcceptDefaults = false)
{
int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hWnd, 메시지 번호, 16, 스크립트 이름);
if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); }
}
무효 ClearConfigDialog()
{
수면(100);
keybd_event(13, 0, 0, 0);
}
// //
// //
// //
반환(0);
이봐 비니나!
매우 감사합니다
도우려고!
리뷰를 위해 어떻게 구성했는지 보내드립니다.
컴포스터로 스크립트 호출
판자
__________________________________________
안녕 공작님!
나는 예를 보여주고 싶다
스크립트 호출이 어떻게 구성되었는지
퇴비, 이제 모든 것이 작동하지 않습니다.
검토를 위해
판자
SRC 를 클릭 하고 코드를 붙여넣기가 어렵습니까?!
다음과 같이 잘 작동해야 합니다.
그리고 스크립트의 첫 글자의 대소문자를 잊지 마십시오. 예를 들어 "test" 스크립트가 실행되지 않으면 "Test"를 시도해야 합니다.
진심으로, Pavlik))
다음과 같이 잘 작동해야 합니다.
그리고 스크립트의 첫 글자의 경우를 잊지 마세요. 예를 들어 " test " 스크립트가 실행되지 않으면 "Test"를 시도해야 합니다.
진심으로, Pavlik))
안녕 공작님!
수정본을 받았고
지표에 모든 것을 넣으려고 했습니다.
그러나 편집자가 원하지 않는
무엇을 할 수 있는지보십시오
작동하도록!
판사
//+----------------------------------------------- --------------------+
//| AlttrEND_Signal.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+----------------------------------------------- --------------------+
//+----------------------------------------------- --------------------+
//| AltrTrend_Signal_v2_2_alert.mq4 |
//| Ramdass - 변환 전용 |
//+----------------------------------------------- --------------------+
#특성 copyright "저자 - OlegVS, GOODMAN"
#속성엄격
# "user32.dll" 가져오기
int RegisterWindowMessageA(uchar &lParam[]);
int SendMessageA(int hWnd, int 메시지, int wParam, char &lParam[]);
무효 keybd_event(int VirtualKey, int ScanCode, int 플래그, int ExtraInfo);
#수입
#속성 표시기_차트_창
#속성 표시기_버퍼 2
#property indicator_color1 딥스카이블루
#property indicator_color2 오렌지레드
#속성 표시기_너비1 1
#속성 표시기_너비2 1
//---- 입력 매개변수
extern bool Alert_message=true;
외부 정수 time_alert_minutes=60; // ????? ???? ???????????? ???? ??? ? 60?????.
외부 정수 K = 30;
외부 이중 Kstop = 0.5;
외부 정수 K주기 = 150;
extern int PeriodADX = 7;//14;
외부 정수 CountBars = 100;
//---- 버퍼
이중 val1[];
이중 val2[];
이중 AlertTime;
//+----------------------------------------------- --------------------+
//| 커스텀 인디케이터 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
문자열 short_name;
//---- 표시줄
표시기버퍼(1);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,241);
표시기버퍼(2);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,242);
SetIndexBuffer(0, val1);
SetIndexBuffer(1, val2);
if(CountBars>=막대)
CountBars=막대;
SetIndexDrawBegin(0, 막대 - CountBars + PeriodADX );
SetIndexDrawBegin(1, 막대 - CountBars + PeriodADX );
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| AltrTrend_Signal_v2_2 |
//+----------------------------------------------- --------------------+
정수 시작()
{
int i, shift, counted_bars = IndicatorCounted();
//----
if(counted_bars<0) return(-1);
//----
정수 i1, i2, t_per;
이중 범위, AvgRange, smin, smax, SsMax, SsMin, SSP, 가격;
bool 상승세, 이전;
//----
if(막대 <=PeriodADX + 1)
리턴(0);
//----
for(shift = CountBars - PeriodADX ; shift >= 0; shift--)
{
SSP = MathCeil(Kperiod / iADX(NULL, 0, PeriodADX, PRICE_CLOSE, MODE_MAIN, 1));
범위=0;
평균 범위 = 0;
for(i1 = 시프트; i1 <= 시프트 + SSP; i1++)
{
AvgRange = AvgRange + MathAbs(높음[i1] - 낮음[i1]);
}
범위 = AvgRange / (SSP + 1);
//----
SsMax = 높음[시프트];
SsMin = 낮음[시프트];
for(i2 = 시프트; i2 <= 시프트 + SSP - 1; i2++)
{
가격 = 높음[i2];
if(SsMax < 가격)
SsMax = 가격;
가격 = 낮음[i2];
if(SsMin >= 가격)
SsMin = 가격;
}
//----
smin = SsMin + (SsMax - SsMin)*K / 100;
smax = SsMax - (SsMax - SsMin)*K / 100;
val1[시프트] = 0.0;
val2[시프트] = 0.0;
if(닫기[shift] < smin)
{
상승 추세=거짓;
}
if(닫기[shift] > smax)
{
상승 추세 = 사실;
}
if(상승 추세 != 이전 && 상승 추세 == 참)
{
val1[shift] = 낮음[shift] - 범위*Kstop;
}
if(상승 추세 != 이전 && 상승 추세 == 거짓)
{
val2[shift] = High[shift] + 범위*Kstop;
}
오래된 = 상승세;
}
무효 StartScript(int hWnd, 문자열 ScriptName, bool AutomaticAcceptDefaults = false)
{
{
숯불[];
StringToCharArray("MetaTrader4_Internal_Message", buf);
int MT4InternalMsg = RegisterWindowMessageA(buf);
StringToCharArray("fPlayer", buf);
SendMessageA(hWnd, MT4InternalMsg, 16, buf);
if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); }
}
무효 ClearConfigDialog()
{
수면(100);
keybd_event(13, 0, 0, 0);
}
//---- 알리다
if (Period()<Time_alert_minutes) t_per=Period(); else t_per=Time_alert_minutes; // ???? ??<시간경보, ????? ???? ???????????? ???? ??? ? ??.
if (Alert_message==true && CurTime()>AlertTime && val1[0]!=0.0)
{
경고(기호()," +++ 구입!!! ++" , " //AltrTrend_Signal_v2_2_alert");
AlertTime=CurTime() + (t_per - MathMod(TimeMinute(CurTime()), t_per))*60;
//PlaySound("payment.wav");
fPlayer;//스크립트
}
if (Alert_message==true && CurTime()>AlertTime && val2[0]!=0.0)
{
경고(기호()," +++ 팔다!!! ++" , " //AltrTrend_Signal_v2_2_alert");
AlertTime=CurTime() + (t_per - MathMod(TimeMinute(CurTime()), t_per))*60;
// PlaySound("payment.wav");
f플레이어;
}
반환(0);
}
//+----------------------------------------------- --------------------+