MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 707 1...700701702703704705706707708709710711712713714...1953 새 코멘트 Alexey Viktorov 2018.12.01 17:52 #7061 Roman Shiredchenko : 이것은 농담이 아니며 농담이 아닙니다. 이단을 게시하기 전에 그림을 주의 깊게 보십시오. 주제가 너무 해킹되어 그런 것을 읽는 것이 이미 역겹습니다 ... 시각화가 사라지고 최적화 ... 창문을 더 크게 열면 행복해질 것입니다. 어떤 창을 밀어야 하는지 혼동하지 마십시오. Roman Shiredchenko 2018.12.01 17:57 #7062 ilvic : 화면 해상도 문제. 정말 감사합니다, 나는 사진을보고 추측하기 시작했습니다 ... Roman Shiredchenko 2018.12.01 18:11 #7063 ilvic : 화면 해상도 문제. 다시 한번 감사합니다. 모든 것이 작동하지만 문제는 텍스트(글꼴)의 크기를 표시하는 데 있었습니다. PokrovMT5 2018.12.02 16:07 #7064 좋은 오후입니다. 표시기의 코드에서 오류를 찾도록 도와주세요. 코드에 주석이 있습니다. 쓰고 싶은 대로 파란색으로 그리고 싶지 않습니다. 아이디어는 마지막 업데이트에서 이전 업데이트 높은 녹색 선까지의 시간 범위에서 가장 작은 낮은 값을 찾는 것입니다. 고맙습니다. { if (prev_calculated< 1 ) limit=rates_total- 1 ; if (prev_calculated> 0 )limit=rates_total-prev_calculated; for (i=limit; i>= 0 ; i--) { yesterday_weekday = TimeDayOfWeek ( iTime ( Symbol (), 0 ,i+ 1 ))- TimeDayOfWeek ( iTime ( Symbol (), 0 ,i)); if (yesterday_weekday != 0 ) // находим открытие нового дня { BH=open[i];BL=open[i]; // переменные ХАЙ ЛОУ Closebar=open[i]; // искомая переменная NHT=time[i]; // переменная время последнего обновления ХАЙ PHT=time[i]; // переменная время предпоследнего обновления хай } CloseD[i]=Closebar; // буфер отрисовки искомая переменная СИНИЙ ЦВЕТ HD[i]=BH; // буфер отрисовки ХАЙ LD[i]=BL; // буфер отрисовки ЛОУ if (Fun_New_Bar== false ) // находим закрытие бара { if (Prev_Time== 0 ) { Prev_Time=time[i]; Fun_New_Bar= false ; } if (Prev_Time!=time[i]) { Prev_Time=time[i]; if ( iHigh ( NULL , 0 ,i+ 1 )>BH) // проверяем есть ли обновление Хай { C=PHT; // присвоим переменной время предыдущего бара обновления Хай NHT= iTime ( NULL , 0 ,i+ 1 ); // находим время обновления Хай Pshift= iBarShift ( NULL , 0 ,C); // находим индекс бара предыдущего обновления Хай P= iLow ( NULL , 0 , iLowest ( NULL , 0 , MODE_LOW ,Pshift,i+ 1 )); // находим наименьшее значение Лоу от обновления Хай настоящего до предыдущего (искомая величина) BH= iHigh ( NULL , 0 ,i+ 1 ); // прорисовываем Хай новый Closebar=P; // прорисовываем искомую величину PHT=NHT; // сохраняем время последнего обновления Хай } Fun_New_Bar= false ; // ждем закрытие нового бара } } Comment ( NHT, C , Pshift ); // проверка if (low[i]<BL) BL=low[i]; // в процессе } return (rates_total); } ponochka 2018.12.04 13:32 #7065 안녕하세요! 조언을 도와주세요! 모든 단계에서 작동하고 SL이 손익분기점에 도달하도록 하는 정기적인 후행 정지를 해야 합니다!!! 즉, 주문이 열리고 올바른 방향으로 25개(비유적으로) 포인트 후 SL은 즉시 시가에 배치됩니다!!! 이 코드를 가지고 있지만 가격 이후에 실행되고 시작 가격에서 멈춥니다!! bool tkt; for ( int i = 0 ; i < OrdersTotal (); i++) { if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) { if ( OrderType () == OP_BUY ) { if ( NormalizeDouble ( OrderStopLoss (), Digits ) < NormalizeDouble ( OrderOpenPrice (), Digits ) && NormalizeDouble ( Ask - OrderStopLoss (), Digits ) > NormalizeDouble (TrailingStop * Point , Digits )) tkt = OrderModify ( OrderTicket (), 0 , Ask - TrailingStop * Point , OrderTakeProfit (), OrderExpiration (), clrNONE ); Print ( "Error setting Buy trailing stop: " , GetLastError ()); } if ( OrderType () == OP_SELL ) { if ( NormalizeDouble ( OrderStopLoss (), Digits ) > NormalizeDouble ( OrderOpenPrice (), Digits ) && NormalizeDouble ( OrderStopLoss () - Bid , Digits ) > NormalizeDouble (TrailingStop * Point , Digits )) tkt = OrderModify ( OrderTicket (), 0 , Bid + TrailingStop * Point , OrderTakeProfit (), OrderExpiration (), clrNONE ); Print ( "Error setting Sell trailing stop: " , GetLastError ()); } } } 일주일째 벽에 머리를 박고 있어요! 도와주세요, 제발!!! Youri Lazurenko 2018.12.04 15:46 #7066 ponochka : 안녕하세요! 조언을 도와주세요! 모든 단계에서 작동하고 SL이 손익분기점에 도달하도록 하는 정기적인 후행 정지를 해야 합니다!!! 즉, 주문이 열리고 올바른 방향으로 25개(비유적으로) 포인트 후 SL은 즉시 시가에 배치됩니다!!! 이 코드를 가지고 있지만 가격 이후에 실행되고 시작 가격에서 멈춥니다!! 일주일째 벽에 머리를 박고 있어요! 도와주세요, 제발!!! 제발, 나는 나 자신을 위해 썼고 그것을 사용합니다. //======= Глобальные переменные extern bool UseBreakeven = true ; //Использование безубытка extern int Breakeven = 20 ; //Профит безубытка extern int ValueBreak = 3 ; //Безубыток extern bool UseTrailingStop = true ; //использование трейлинг стопа extern int TrailingStop = 40 ; //Величина трала extern int TrailingStep = 3 ; //Шиг трала double SL, TP; //нннннннннннн Функция перевода в безубыток нннннннннннннннннннннннннннннннннннннннннннн void BreakevenModify() { int i; double sl; int total = OrdersTotal (); if (UseBreakeven) { for (i = total- 1 ; i >= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) { if ( OrderType () == OP_BUY ) { if ( OrderStopLoss () < OrderOpenPrice () && ( OrderOpenPrice () + Breakeven*point) <= Bid ) { sl = NormalizeDouble ( OrderOpenPrice () + ValueBreak*point, Digits ); OrderModifyX( OrderTicket (), OrderOpenPrice (), sl, OrderTakeProfit (), 0 , 0 ); } } } } if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) { if ( OrderType () == OP_SELL ) { if ( OrderStopLoss () > OrderOpenPrice () && ( OrderOpenPrice () - Breakeven*point) >= Ask ) { sl = NormalizeDouble ( OrderOpenPrice () - ValueBreak*point, Digits ); OrderModifyX( OrderTicket (), OrderOpenPrice (), sl, OrderTakeProfit (), 0 , 0 ); } } } } } } } //нннннннннннн Функция трейлинг стопа ннннннннннннннннннннннннннннннннннннннннннннннннннннн void TrailingStopLoss() { int i; double sl; int total = OrdersTotal (); if (UseTrailingStop) { for (i = total- 1 ; i >= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) { if ( OrderType () == OP_BUY ) { if (( OrderOpenPrice () + TakeProfit3*point) <= Bid ) { if ( OrderStopLoss () > OrderOpenPrice () && OrderStopLoss () + (TrailingStop + TrailingStep)*point <= Bid ) { sl = NormalizeDouble ( OrderStopLoss () + TrailingStep*point, Digits ); OrderModifyX( OrderTicket (), OrderOpenPrice (), sl, OrderTakeProfit (), 0 , 0 ); } } } } } if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) { if ( OrderType () == OP_SELL ) { if (( OrderOpenPrice () - TakeProfit3*point) >= Ask ) { if ( OrderStopLoss () < OrderOpenPrice () && OrderStopLoss () - (TrailingStop + TrailingStep)*point >= Ask ) { sl = NormalizeDouble ( OrderStopLoss () - TrailingStep*point, Digits ); OrderModifyX( OrderTicket (), OrderOpenPrice (), sl, OrderTakeProfit (), 0 , 0 ); } } } } } } } } 나 자신을 위해 소금을 사용합니다. Maxim Kuznetsov 2018.12.04 16:28 #7067 Youri Lazurenko : 제발, 나는 나 자신을 위해 썼고 그것을 사용합니다. 이것은 테스터 전용 :-) 실생활에서 Bid, Ask를 기반으로 트롤하는 것은 매우 어렵습니다. Taras Slobodyanik 2018.12.05 19:18 #7068 Rustam Bikbulatov : 안녕 얘들아. 왜 수십 개의 주문이 바둑판 무늬로 마감되었거나 심지어는 주문이 안 된 것인지 알려주세요. 그리고 그것을 고치는 방법? 닫기 방법이 있습니까? 처음부터가 아니라 끝에서 닫아야 합니다. for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) 또는 자신의 목록을 만들고 닫습니다. Rustam Bikbulatov 2018.12.05 19:47 #7069 Taras Slobodyanik : 처음부터가 아니라 끝에서 닫아야 합니다. 또는 자신의 목록을 만들고 닫습니다. 목록을 만드는 방법? Rustam Bikbulatov 2018.12.05 20:54 #7070 안녕 얘들아. 왜 수십 개의 주문이 바둑판 무늬로 마감되었거나 심지어는 주문이 안 된 것인지 알려주세요. 그리고 그것을 고치는 방법? 닫기 방법이 있습니까? void CloseOrdB(){ for ( int i= 0 ;i< OrdersTotal ();i++){ if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )){ if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()== 456 ){ if ( OrderClose ( OrderTicket (), OrderLots (), Bid , 3 , clrBlue )){CloseOrdB();}}}} } 1...700701702703704705706707708709710711712713714...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
이것은 농담이 아니며 농담이 아닙니다.
이단을 게시하기 전에 그림을 주의 깊게 보십시오.
주제가 너무 해킹되어 그런 것을 읽는 것이 이미 역겹습니다 ... 시각화가 사라지고 최적화 ...
창문을 더 크게 열면 행복해질 것입니다. 어떤 창을 밀어야 하는지 혼동하지 마십시오.
화면 해상도 문제.
정말 감사합니다, 나는 사진을보고 추측하기 시작했습니다 ...
화면 해상도 문제.
다시 한번 감사합니다. 모든 것이 작동하지만 문제는 텍스트(글꼴)의 크기를 표시하는 데 있었습니다.
{ if (prev_calculated< 1 ) limit=rates_total- 1 ; if (prev_calculated> 0 )limit=rates_total-prev_calculated; for (i=limit; i>= 0 ; i--) { yesterday_weekday = TimeDayOfWeek ( iTime ( Symbol (), 0 ,i+ 1 ))- TimeDayOfWeek ( iTime ( Symbol (), 0 ,i)); if (yesterday_weekday != 0 ) // находим открытие нового дня { BH=open[i];BL=open[i]; // переменные ХАЙ ЛОУ Closebar=open[i]; // искомая переменная NHT=time[i]; // переменная время последнего обновления ХАЙ PHT=time[i]; // переменная время предпоследнего обновления хай } CloseD[i]=Closebar; // буфер отрисовки искомая переменная СИНИЙ ЦВЕТ HD[i]=BH; // буфер отрисовки ХАЙ LD[i]=BL; // буфер отрисовки ЛОУ if (Fun_New_Bar== false ) // находим закрытие бара { if (Prev_Time== 0 ) { Prev_Time=time[i]; Fun_New_Bar= false ; } if (Prev_Time!=time[i]) { Prev_Time=time[i]; if ( iHigh ( NULL , 0 ,i+ 1 )>BH) // проверяем есть ли обновление Хай { C=PHT; // присвоим переменной время предыдущего бара обновления Хай NHT= iTime ( NULL , 0 ,i+ 1 ); // находим время обновления Хай Pshift= iBarShift ( NULL , 0 ,C); // находим индекс бара предыдущего обновления Хай P= iLow ( NULL , 0 , iLowest ( NULL , 0 , MODE_LOW ,Pshift,i+ 1 )); // находим наименьшее значение Лоу от обновления Хай настоящего до предыдущего (искомая величина) BH= iHigh ( NULL , 0 ,i+ 1 ); // прорисовываем Хай новый Closebar=P; // прорисовываем искомую величину PHT=NHT; // сохраняем время последнего обновления Хай } Fun_New_Bar= false ; // ждем закрытие нового бара } } Comment ( NHT, C , Pshift ); // проверка if (low[i]<BL) BL=low[i]; // в процессе } return (rates_total); }제발, 나는 나 자신을 위해 썼고 그것을 사용합니다.
나 자신을 위해 소금을 사용합니다.
제발, 나는 나 자신을 위해 썼고 그것을 사용합니다.
이것은 테스터 전용 :-)
실생활에서 Bid, Ask를 기반으로 트롤하는 것은 매우 어렵습니다.
안녕 얘들아. 왜 수십 개의 주문이 바둑판 무늬로 마감되었거나 심지어는 주문이 안 된 것인지 알려주세요. 그리고 그것을 고치는 방법? 닫기 방법이 있습니까?
처음부터가 아니라 끝에서 닫아야 합니다.
또는 자신의 목록을 만들고 닫습니다.처음부터가 아니라 끝에서 닫아야 합니다.
또는 자신의 목록을 만들고 닫습니다.목록을 만드는 방법?