MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 198 1...191192193194195196197198199200201202203204205...1953 새 코멘트 Artyom Trishkin 2017.05.13 15:14 #1971 -Aleks- : 게시한 마지막 코드를 확인하셨습니까? 그렇다면 휴식이 필요합니다... 감사합니다. " c " 변수를 추적합니다. Aleksey Vyazmikin 2017.05.13 15:18 #1972 Artyom Trishkin : " c " 변수를 추적합니다. 네 감사합니다! 알겠습니다. 하지만 이 코드를 끝까지 이해할 수는 없습니다. 실험해 보겠습니다! Victor Nikolaev - 도움을 주셔서 감사합니다! ANDREY 2017.05.13 17:36 #1973 모두에게 좋은 하루! 이미 마감 되어 마감된 주문 목록에 표시된 주문에 대해 MAGIC NUMBER 값을 변경할 수 있는지 알려주십시오. 즉 , 주문을 종료한 후 MAGIC NUMBER의 값을 변경합니다. 가능한 경우 - 어떤 기능의 도움으로. 나는 김에서 그런 기능을 찾지 못했다. 고맙습니다. Aleksey Vyazmikin 2017.05.13 17:50 #1974 ANDREY : 모두에게 좋은 하루! 이미 마감 되어 마감된 주문 목록에 표시된 주문에 대해 MAGIC NUMBER 값을 변경할 수 있는지 알려주십시오. 즉 , 주문을 종료한 후 MAGIC NUMBER의 값을 변경합니다. 가능한 경우 - 어떤 기능의 도움으로. 김, 그런 기능을 찾지 못했습니다. 고맙습니다. 금지되어 있습니다. 그리고 왜 그것이 필요합니까? 문제에 대한 다른 해결책이 있습니까? ANDREY 2017.05.13 18:07 #1975 -Aleks- : 금지되어 있습니다. 그리고 왜 그것이 필요합니까? 문제에 대한 다른 해결책이 있습니까? 팁 고마워. 대답을 기다리던 중 문득 떠오른 것이 있었다. 잘 안되면 제가 필요한 내용을 적어보도록 하겠습니다. 말해주세요 if ( OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우 if ( OrderType ()==OP_SELL) // 판매 X = 주문 이익( ); // 이익실현 값 기억 if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우 if ( OrderType ()==OP_SELL) // 판매 if(X < 0) // 이 sat가 stop에 의해 닫혔다면 다른 주문 열기 문제 이러한 조건에 덧셈을 코딩하는 방법. 마지막 주문뿐만 아니라 pre -last 및 pre- pre -last 주문도 stop으로 마감해야 합니다. 그리고 그제서야 다른 주문 열기 고맙습니다. 초보자의 질문 MQL5 MT5 이치모쿠 초보자의 질문 MQL4 MT4 Konstantin Erin 2017.05.13 18:49 #1976 geratdc : 메모장에 있는 동안 코드에 권장 사항을 변경했습니다. 코드를 올바르게 수정했는지 확인하십시오. 보았다. 수정했습니다. 3개월간 테스터에서 본 결과입니다. 단점이 크다 missha32 2017.05.13 19:48 #1977 현재 날짜의 마지막 5개 교차로를 가정해 봅시다 금액에서 Mashek 교차로의 막대 수를 찾는 방법을 알려주세요 Konstantin Erin 2017.05.14 09:01 #1978 missha32 : 현재 날짜의 마지막 5개 교차점 수에서 Mashek 교차점 막대의 수를 찾습니다. 아침 4시에 - 오늘은 아직 술집이 거의 없습니다. H4에는 하루에 6개의 바만 있습니다. 검색할 막대의 수 또는 교차점의 수 를 설정해야 합니다. //+-------------------------------------------------------+ //| Подсчет пересечений MA PROBA_MA.mq4| //+-------------------------------------------------------+ #property strict extern int Баров = 500; // Баров для подсчета пересечений МА extern int MA_1 =10; extern int MA_2 =100; void OnStart() { int Бар, Счетчик; double MA_1_Предыдущая, MA_2_Предыдущая, MA_1_Следующая, MA_2_Следующая; ObjectsDeleteAll(); // Удалить вертикальные линии for(Счетчик=0, Бар=0; Бар<Баров; Бар++) // Начинаем с послнего бара { MA_1_Предыдущая = iMA(_Symbol,0,MA_1,0,MODE_EMA,PRICE_CLOSE,Бар+1); MA_1_Следующая = iMA(_Symbol,0,MA_1,0,MODE_EMA,PRICE_CLOSE,Бар); MA_2_Предыдущая = iMA(_Symbol,0,MA_2,0,MODE_EMA,PRICE_CLOSE,Бар+1); MA_2_Следующая = iMA(_Symbol,0,MA_2,0,MODE_EMA,PRICE_CLOSE,Бар); if((MA_1_Предыдущая>=MA_2_Предыдущая && MA_1_Следующая<=MA_2_Следующая) || (MA_1_Предыдущая<=MA_2_Предыдущая && MA_1_Следующая>=MA_2_Следующая)) { Счетчик++; Alert(Счетчик, " Бар = ", Бар, " T = ",Time[Бар]); // Создать вертикальную линию ObjectCreate( (string)Счетчик+"_"+(string)Бар,OBJ_VLINE,0,Time[Бар],0); if(Счетчик == 5) break; // 5 линий есть - выход } } } 장거리 = 추세 ANDREY 2017.05.14 11:10 #1979 말해주세요 if ( OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우 if ( OrderType ()==OP_SELL) // 판매 X = 주문 이익( ); // 이익실현 값 기억 if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우 if ( OrderType ()==OP_SELL) // 판매 if(X < 0) // 이 sat가 stop에 의해 닫혔다면 다른 주문 열기 문제 이러한 조건에 덧셈을 코딩하는 방법. 마지막 주문뿐만 아니라 pre -last 및 pre- pre -last 주문도 stop으로 마감해야 합니다. 그리고 그제서야 다른 주문 열기 고맙습니다. виталик 2017.05.14 11:51 #1980 재작업이 가능한 인디케이터 조언 부탁드립니다, 매일 시간별 차트에서 높은 곳에서 낮은 곳으로 선에 관심이 있고, 선의 길이와 경사각에 대한 데이터를 얻을 수 있는 능력과 작업이 가능했습니다 코드에 있는 이 데이터를 사용하여 처음부터 직접 작성하면 큰 문제가 되나요 ? 도와주세요, 제발 여기 칠면조가 있습니다. 두 좌표를 따라 선이 뻗어 있습니다. 아무리 말도 안되는 소리를 비틀지 않았더라도 도와주세요. 아마도 헛된이 칠면조에 연락했습니다. #property indicator_chart_window //---- input parameters extern int CountDays =22; extern int GMT =0; extern color pivot =Gold; extern color day =Yellow; extern color metka =MidnightBlue; //---- indicator buffers double range[]; double ny_close[]; double low[]; double high[]; datetime time1; datetime time2; datetime ny_time[]; int shift, num; int ny_shift[]; datetime prevDay=0; bool fTime; // ---- void ObjDel() { if (ObjectsTotal() > 0) for (num=0;num<=CountDays;num++) { ObjectDelete("PPw["+num+"]"); } ObjectDelete("mPw"); } // ---- void PlotLine(string name,double value,double value1,double line_color,double style) { double valueN=NormalizeDouble(value,Digits); double valueN1=NormalizeDouble(value1,Digits); bool res = ObjectCreate(name,OBJ_TREND,0,time1,valueN,time2,valueN1); ObjectSet(name, OBJPROP_WIDTH, 1); ObjectSet(name, OBJPROP_STYLE, style); ObjectSet(name, OBJPROP_RAY, false); ObjectSet(name, OBJPROP_BACK, true); ObjectSet(name, OBJPROP_COLOR, line_color); } //*********** void PlotVLine(string name,double tm,double line_color) { bool res = ObjectCreate(name,OBJ_VLINE,0,tm,0); ObjectSet(name, OBJPROP_WIDTH, 0); ObjectSet(name, OBJPROP_STYLE, 2); ObjectSet(name, OBJPROP_COLOR, line_color); } //*********** void PlotPrice(string name, double value, double line_color) { double valueN=NormalizeDouble(value,Digits); bool res = ObjectCreate(name, OBJ_ARROW, 0, time2,valueN); ObjectSet(name, OBJPROP_COLOR, line_color); ObjectSet(name, OBJPROP_WIDTH, 1); ObjectSet(name, OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { fTime = true; IndicatorBuffers(2); SetIndexBuffer(0,range); SetIndexBuffer(1,ny_close); return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { ObjDel(); Comment(""); return(0); } //+------------------------------------------------------------------+ //| LNX_Pivots_v3.1 | //+------------------------------------------------------------------+ int start() { int i; double P; datetime cDay = iTime(NULL,PERIOD_D1,0) + (GMT-Period()/60.0)*3600; if (cDay != prevDay || fTime) { ObjDel(); ArrayResize(ny_time,CountDays+1); ArrayResize(ny_shift,CountDays+1); ArrayResize(high,CountDays+1); ArrayResize(low,CountDays+1); ArrayResize(range,CountDays+1); for (shift=0;shift<=CountDays;shift++) { ny_time[shift] = iTime(NULL,PERIOD_D1,shift) + (GMT-Period()/60.0)*3600; ny_shift[shift] = iBarShift(NULL,0,ny_time[shift]); ny_close[shift] = iClose(NULL,0,ny_shift[shift]); } for (shift=0;shift<=CountDays-1;shift++) { int length = ny_shift[shift+1]-ny_shift[shift]; high[shift] = High[iHighest(NULL,0,MODE_HIGH,length,ny_shift[shift])]; low[shift] = Low[iLowest(NULL,0,MODE_LOW,length,ny_shift[shift])]; range[shift] = high[shift] - low[shift]; } for (shift=0;shift<=CountDays-1;shift++) { P = (ny_close[shift]+high[shift]+low[shift])/3; time1 = ny_time[shift]+Period()*60; if (shift==0) { time2 = ny_time[shift] + 24*3600+Period()*60 ; PlotVLine("pV0",time2,day); PlotPrice("mPw",P,metka); } else time2 = ny_time[shift-1]+Period()*60; PlotVLine("pV["+shift+"]",time1,day); int pstyle=0; PlotLine("PPw["+shift+"]",P,P,pivot,pstyle); // *********две координаты******* } fTime = false; prevDay = cDay; } return(0); } //+------------------------------------------------------------------+ 1...191192193194195196197198199200201202203204205...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
게시한 마지막 코드를 확인하셨습니까? 그렇다면 휴식이 필요합니다... 감사합니다.
" c " 변수를 추적합니다.
네 감사합니다! 알겠습니다. 하지만 이 코드를 끝까지 이해할 수는 없습니다. 실험해 보겠습니다!
Victor Nikolaev - 도움을 주셔서 감사합니다!
모두에게 좋은 하루!
이미 마감 되어 마감된 주문 목록에 표시된 주문에 대해 MAGIC NUMBER 값을 변경할 수 있는지 알려주십시오.
즉 , 주문을 종료한 후 MAGIC NUMBER의 값을 변경합니다.
가능한 경우 - 어떤 기능의 도움으로. 나는 김에서 그런 기능을 찾지 못했다.
고맙습니다.모두에게 좋은 하루!
이미 마감 되어 마감된 주문 목록에 표시된 주문에 대해 MAGIC NUMBER 값을 변경할 수 있는지 알려주십시오.
즉 , 주문을 종료한 후 MAGIC NUMBER의 값을 변경합니다.
가능한 경우 - 어떤 기능의 도움으로. 김, 그런 기능을 찾지 못했습니다.
고맙습니다.금지되어 있습니다. 그리고 왜 그것이 필요합니까? 문제에 대한 다른 해결책이 있습니까?
금지되어 있습니다. 그리고 왜 그것이 필요합니까? 문제에 대한 다른 해결책이 있습니까?
팁 고마워.
대답을 기다리던 중 문득 떠오른 것이 있었다. 잘 안되면 제가 필요한 내용을 적어보도록 하겠습니다.
말해주세요
if ( OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매
X = 주문 이익( ); // 이익실현 값 기억
if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매
if(X < 0) // 이 sat가 stop에 의해 닫혔다면
다른 주문 열기
문제
이러한 조건에 덧셈을 코딩하는 방법.
마지막 주문뿐만 아니라 pre -last 및 pre- pre -last 주문도 stop으로 마감해야 합니다.
그리고 그제서야
다른 주문 열기
고맙습니다.
보았다. 수정했습니다. 3개월간 테스터에서 본 결과입니다.
아침 4시에 - 오늘은 아직 술집이 거의 없습니다. H4에는 하루에 6개의 바만 있습니다. 검색할 막대의 수 또는 교차점의 수 를 설정해야 합니다.
//+-------------------------------------------------------+ //| Подсчет пересечений MA PROBA_MA.mq4| //+-------------------------------------------------------+ #property strict extern int Баров = 500; // Баров для подсчета пересечений МА extern int MA_1 =10; extern int MA_2 =100; void OnStart() { int Бар, Счетчик; double MA_1_Предыдущая, MA_2_Предыдущая, MA_1_Следующая, MA_2_Следующая; ObjectsDeleteAll(); // Удалить вертикальные линии for(Счетчик=0, Бар=0; Бар<Баров; Бар++) // Начинаем с послнего бара { MA_1_Предыдущая = iMA(_Symbol,0,MA_1,0,MODE_EMA,PRICE_CLOSE,Бар+1); MA_1_Следующая = iMA(_Symbol,0,MA_1,0,MODE_EMA,PRICE_CLOSE,Бар); MA_2_Предыдущая = iMA(_Symbol,0,MA_2,0,MODE_EMA,PRICE_CLOSE,Бар+1); MA_2_Следующая = iMA(_Symbol,0,MA_2,0,MODE_EMA,PRICE_CLOSE,Бар); if((MA_1_Предыдущая>=MA_2_Предыдущая && MA_1_Следующая<=MA_2_Следующая) || (MA_1_Предыдущая<=MA_2_Предыдущая && MA_1_Следующая>=MA_2_Следующая)) { Счетчик++; Alert(Счетчик, " Бар = ", Бар, " T = ",Time[Бар]); // Создать вертикальную линию ObjectCreate( (string)Счетчик+"_"+(string)Бар,OBJ_VLINE,0,Time[Бар],0); if(Счетчик == 5) break; // 5 линий есть - выход } } }장거리 = 추세
말해주세요
if ( OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매
X = 주문 이익( ); // 이익실현 값 기억
if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매
if(X < 0) // 이 sat가 stop에 의해 닫혔다면
다른 주문 열기
문제
이러한 조건에 덧셈을 코딩하는 방법.
마지막 주문뿐만 아니라 pre -last 및 pre- pre -last 주문도 stop으로 마감해야 합니다.
그리고 그제서야
다른 주문 열기
고맙습니다.재작업이 가능한 인디케이터 조언 부탁드립니다, 매일 시간별 차트에서 높은 곳에서 낮은 곳으로 선에 관심이 있고, 선의 길이와 경사각에 대한 데이터를 얻을 수 있는 능력과 작업이 가능했습니다 코드에 있는 이 데이터를 사용하여 처음부터 직접 작성하면 큰 문제가 되나요 ? 도와주세요, 제발
여기 칠면조가 있습니다. 두 좌표를 따라 선이 뻗어 있습니다. 아무리 말도 안되는 소리를 비틀지 않았더라도 도와주세요. 아마도 헛된이 칠면조에 연락했습니다.
#property indicator_chart_window //---- input parameters extern int CountDays =22; extern int GMT =0; extern color pivot =Gold; extern color day =Yellow; extern color metka =MidnightBlue; //---- indicator buffers double range[]; double ny_close[]; double low[]; double high[]; datetime time1; datetime time2; datetime ny_time[]; int shift, num; int ny_shift[]; datetime prevDay=0; bool fTime; // ---- void ObjDel() { if (ObjectsTotal() > 0) for (num=0;num<=CountDays;num++) { ObjectDelete("PPw["+num+"]"); } ObjectDelete("mPw"); } // ---- void PlotLine(string name,double value,double value1,double line_color,double style) { double valueN=NormalizeDouble(value,Digits); double valueN1=NormalizeDouble(value1,Digits); bool res = ObjectCreate(name,OBJ_TREND,0,time1,valueN,time2,valueN1); ObjectSet(name, OBJPROP_WIDTH, 1); ObjectSet(name, OBJPROP_STYLE, style); ObjectSet(name, OBJPROP_RAY, false); ObjectSet(name, OBJPROP_BACK, true); ObjectSet(name, OBJPROP_COLOR, line_color); } //*********** void PlotVLine(string name,double tm,double line_color) { bool res = ObjectCreate(name,OBJ_VLINE,0,tm,0); ObjectSet(name, OBJPROP_WIDTH, 0); ObjectSet(name, OBJPROP_STYLE, 2); ObjectSet(name, OBJPROP_COLOR, line_color); } //*********** void PlotPrice(string name, double value, double line_color) { double valueN=NormalizeDouble(value,Digits); bool res = ObjectCreate(name, OBJ_ARROW, 0, time2,valueN); ObjectSet(name, OBJPROP_COLOR, line_color); ObjectSet(name, OBJPROP_WIDTH, 1); ObjectSet(name, OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { fTime = true; IndicatorBuffers(2); SetIndexBuffer(0,range); SetIndexBuffer(1,ny_close); return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { ObjDel(); Comment(""); return(0); } //+------------------------------------------------------------------+ //| LNX_Pivots_v3.1 | //+------------------------------------------------------------------+ int start() { int i; double P; datetime cDay = iTime(NULL,PERIOD_D1,0) + (GMT-Period()/60.0)*3600; if (cDay != prevDay || fTime) { ObjDel(); ArrayResize(ny_time,CountDays+1); ArrayResize(ny_shift,CountDays+1); ArrayResize(high,CountDays+1); ArrayResize(low,CountDays+1); ArrayResize(range,CountDays+1); for (shift=0;shift<=CountDays;shift++) { ny_time[shift] = iTime(NULL,PERIOD_D1,shift) + (GMT-Period()/60.0)*3600; ny_shift[shift] = iBarShift(NULL,0,ny_time[shift]); ny_close[shift] = iClose(NULL,0,ny_shift[shift]); } for (shift=0;shift<=CountDays-1;shift++) { int length = ny_shift[shift+1]-ny_shift[shift]; high[shift] = High[iHighest(NULL,0,MODE_HIGH,length,ny_shift[shift])]; low[shift] = Low[iLowest(NULL,0,MODE_LOW,length,ny_shift[shift])]; range[shift] = high[shift] - low[shift]; } for (shift=0;shift<=CountDays-1;shift++) { P = (ny_close[shift]+high[shift]+low[shift])/3; time1 = ny_time[shift]+Period()*60; if (shift==0) { time2 = ny_time[shift] + 24*3600+Period()*60 ; PlotVLine("pV0",time2,day); PlotPrice("mPw",P,metka); } else time2 = ny_time[shift-1]+Period()*60; PlotVLine("pV["+shift+"]",time1,day); int pstyle=0; PlotLine("PPw["+shift+"]",P,P,pivot,pstyle); // *********две координаты******* } fTime = false; prevDay = cDay; } return(0); } //+------------------------------------------------------------------+