MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1584 1...157715781579158015811582158315841585158615871588158915901591...1953 새 코멘트 Alexey Viktorov 2021.08.12 08:57 #15831 Valeriy Yastremskiy : 차이 모듈. 모듈이 없으면 상위 영역만 조건에 해당합니다. | OpenPrice - 입찰 |> 10*_포인트 오픈 조건 따라서 조건에 따라 필요합니다. 입찰가가 OpenPrice보다 낮고 모듈이 없습니다. 그렇지 않으면 입찰가가 OpenPrice 보다 높으면 올바른 결과를 얻게 됩니다. Tretyakov Rostyslav 2021.08.12 08:57 #15832 Valeriy Yastremskiy : 차이 모듈. 모듈이 없으면 상위 영역만 조건에 해당합니다. | OpenPrice - 입찰 |> 10*_포인트 오픈 조건 도무지 이해가 되지 않았다... 초보자를 위해 더 쉽게 접근할 수 있게 해주세요...) Alexey Viktorov 2021.08.12 08:58 #15833 MakarFX : 놀랐 잖아 어떻게? Tretyakov Rostyslav 2021.08.12 09:03 #15834 Alexey Viktorov : 어떻게? 알렉세이 빅토로프 : OpenPrice - Bid가 10*_Point를 넘지 않아야 함을 그림에서 알 수 있습니다. 그러나 부정적인 것을 포함하여 더 적을 수 있습니다. Alexey Viktorov 2021.08.12 09:30 #15835 MakarFX : 그러나 부정적인 것을 포함하여 더 적을 수 있습니다. 네... 그리고 "&& > 0"으로 조건이 나옵니다. 그리고 질문은 무엇입니까? 그냥 그렇게, 아니면 뭔가를 위해? Tretyakov Rostyslav 2021.08.12 09:46 #15836 Alexey Viktorov : 네... 그리고 "&& > 0"으로 조건이 나옵니다. 그리고 질문은 무엇입니까? 그냥 그렇게, 아니면 뭔가를 위해? 나는 이제 시장 진입 순간에 대한 이 정의를 사용합니다. if (Bid < OpenPrice && Bid > OpenPrice-Х* Point ) if (Ask > OpenPrice && Ask < OpenPrice+Х* Point ) 단순화할 수 있다고 생각함 законопослушный гражданин 2021.08.12 10:01 #15837 마틴을 담당하는 코드를 최적화하는 데 도움 작업은 다음과 같습니다. - 정지 후 Martin은 제비를 곱합니다. - 곱셈 수는 OrdersClose 기능으로 조정할 수 있습니다. 지정된 값에 도달하면 로트 크기가 시작 크기로 재설정됩니다. - 로트 크기가 처음으로 재설정되지 않고 역순으로 순차적으로 감소해야 합니다. 예: OrdersClose=5, Martin=2, lot=0.01: 우리는 시퀀스를 가지고 있습니다: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.01; 0.01;,,,, 필요: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.16; 0.08; 0.04; .... 0.01. 스스로 문제를 해결할 지식이 없습니다. 다양한 조합을 시도했지만 원하는 효과를 얻지 못했습니다. double LOT() { int n= 0 ; double OL=dLots; for ( int j = OrdersHistoryTotal()- 1 ; j >= 0 ; j--) { if ( OrderSelect (j, SELECT_BY_POS,MODE_HISTORY)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == iMagic) { if (OrderProfit()< 0 ) { if (n== 0 ) OL= NormalizeDouble (OrderLots()*K_Martin,DigitsLot); n++; if (n>=OrdersClose) { Comment ( "1" ); return (dLots);} } else { if (n== 0 ) { Comment ( "2" ); return (dLots);} else { Comment ( "3" ); return (OL);} } } } } return (OL); } Valeriy Yastremskiy 2021.08.12 10:08 #15838 MakarFX : 나는 이제 시장 진입 순간에 대한 이 정의를 사용합니다. 단순화할 수 있다고 생각함 if (Bid < OpenPrice && Bid > OpenPrice-Х* Point ) if (Ask > OpenPrice && Ask < OpenPrice+Х* Point ) // цену в середину диапазона ставим OpenPriceS=OpenPrice-X* Point / 2 ; if(fabs(Bid-OpenPriceS)>Х* Point ){ .... } 그리고 알렉세이가 맞습니다. 알렉세이 빅토로프 : 따라서 조건에 따라 필요합니다. 입찰가가 OpenPrice보다 낮고 모듈이 없습니다. 그렇지 않으면 입찰가가 OpenPrice 보다 높으면 올바른 결과를 얻게 됩니다. 수정됨) 네, 맞습니다. 조건은 변경되지 않았습니다. 습관적으로. 그림에서 그것은 중간에 그 Bid를 무너 뜨립니다))) 그러나 두 번째 조건이 있습니다. 기록은 조건의 수면에서 동일합니다. Tretyakov Rostyslav 2021.08.12 10:35 #15839 законопослушный гражданин : 마틴을 담당하는 코드를 최적화하는 데 도움 작업은 다음과 같습니다. - 정지 후 Martin은 제비를 곱합니다. - 곱셈 수는 OrdersClose 기능으로 조정할 수 있습니다. 지정된 값에 도달하면 로트 크기가 시작 크기로 재설정됩니다. - 로트 크기가 처음으로 재설정되지 않고 역순으로 순차적으로 감소해야 합니다. 예: OrdersClose=5, Martin=2, lot=0.01: 우리는 시퀀스를 가지고 있습니다: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.01; 0.01;,,,, 필요: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.16; 0.08; 0.04; .... 0.01. 스스로 문제를 해결할 지식이 없습니다. 다양한 조합을 시도했지만 원하는 효과를 얻지 못했습니다. //+------------------------------------------------------------------+ //| Расчет лота | //+------------------------------------------------------------------+ double Lots() { double L= 0 ; // если последняя закрытая сделка убыточная и лот равен стартовому // включаем Мартин if (GetInfoLastPos( 2 )< 0 &&GetInfoLastPos( 1 )==Lot) { Martin= true ; } // если последняя закрытая сделка убыточная и лот больше или равен максимальному // выключаем Мартин if (GetInfoLastPos( 2 )< 0 &&GetInfoLastPos( 1 )>=MaxMartinLot) { Martin= false ; } // если последняя закрытая сделка убыточная и Мартин включен, умножаем лот if (Martin== true ) { L= NormalizeDouble (GetInfoLastPos( 1 )*K_Martin,DigitsLot); } // если последняя закрытая сделка убыточная и Мартин выключен, делим лот if (Martin== false ) { L= NormalizeDouble (GetInfoLastPos( 1 )/K_Martin,DigitsLot); } if (L>MAXLOT) L = MAXLOT; if (L<MINLOT) L = MINLOT; return (L); } //+----------------------------------------------------------------------------+ //| Функция возвращает по символу и магику | //| 1 - размер лота последней закрытой позиции | //| 2 - размер профита с учетом комиссии и свопа последней закрытой позиции | //| 3 - время последней закрытой позиции | //+----------------------------------------------------------------------------+ double GetInfoLastPos( int a= 1 ) { datetime t= 0 ; double result= 0 ,l= 0 ,p= 0 ,f= 0 ; int i=OrdersHistoryTotal(); for ( int pos= 0 ; pos<i; pos++) { if ( OrderSelect (pos, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()== _Symbol && OrderMagicNumber()==Magic) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (t<OrderCloseTime()) {t=OrderCloseTime(); l=OrderLots(); p=OrderProfit()+OrderCommission()+OrderSwap();} } } } } if (a== 1 ) {result=l;} else if (a== 2 ) {result=p;} else if (a== 3 ) {result=( double )t;} else {result= 0 ;} return (result); } Tretyakov Rostyslav 2021.08.12 10:55 #15840 Valeriy Yastremskiy : 그리고 알렉세이가 맞습니다. 네, 맞습니다. 조건은 변경되지 않았습니다. 습관적으로. 그림에서 그것은 중간에 그 Bid를 무너 뜨립니다))) 감사합니다, 하지만 이것은 어떤 식으로든 내 코드를 단순화하지 않습니다) 1...157715781579158015811582158315841585158615871588158915901591...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
차이 모듈. 모듈이 없으면 상위 영역만 조건에 해당합니다. | OpenPrice - 입찰 |> 10*_포인트 오픈 조건
따라서 조건에 따라 필요합니다. 입찰가가 OpenPrice보다 낮고 모듈이 없습니다.
그렇지 않으면 입찰가가 OpenPrice 보다 높으면 올바른 결과를 얻게 됩니다.
차이 모듈. 모듈이 없으면 상위 영역만 조건에 해당합니다. | OpenPrice - 입찰 |> 10*_포인트 오픈 조건
도무지 이해가 되지 않았다...
초보자를 위해 더 쉽게 접근할 수 있게 해주세요...)
놀랐 잖아
어떻게?
OpenPrice - Bid가 10*_Point를 넘지 않아야 함을 그림에서 알 수 있습니다.
그러나 부정적인 것을 포함하여 더 적을 수 있습니다.
그러나 부정적인 것을 포함하여 더 적을 수 있습니다.
네... 그리고 "&& > 0"으로 조건이 나옵니다.
그리고 질문은 무엇입니까? 그냥 그렇게, 아니면 뭔가를 위해?
네... 그리고 "&& > 0"으로 조건이 나옵니다.
그리고 질문은 무엇입니까? 그냥 그렇게, 아니면 뭔가를 위해?
나는 이제 시장 진입 순간에 대한 이 정의를 사용합니다.
단순화할 수 있다고 생각함
마틴을 담당하는 코드를 최적화하는 데 도움
작업은 다음과 같습니다.
- 정지 후 Martin은 제비를 곱합니다.
- 곱셈 수는 OrdersClose 기능으로 조정할 수 있습니다. 지정된 값에 도달하면 로트 크기가 시작 크기로 재설정됩니다.
- 로트 크기가 처음으로 재설정되지 않고 역순으로 순차적으로 감소해야 합니다.
예: OrdersClose=5, Martin=2, lot=0.01:
우리는 시퀀스를 가지고 있습니다: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.01; 0.01;,,,,
필요: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.16; 0.08; 0.04; .... 0.01.
스스로 문제를 해결할 지식이 없습니다.
다양한 조합을 시도했지만 원하는 효과를 얻지 못했습니다.
나는 이제 시장 진입 순간에 대한 이 정의를 사용합니다.
단순화할 수 있다고 생각함
그리고 알렉세이가 맞습니다.
따라서 조건에 따라 필요합니다. 입찰가가 OpenPrice보다 낮고 모듈이 없습니다.
그렇지 않으면 입찰가가 OpenPrice 보다 높으면 올바른 결과를 얻게 됩니다.
수정됨)
네, 맞습니다. 조건은 변경되지 않았습니다. 습관적으로. 그림에서 그것은 중간에 그 Bid를 무너 뜨립니다)))
그러나 두 번째 조건이 있습니다. 기록은 조건의 수면에서 동일합니다.
마틴을 담당하는 코드를 최적화하는 데 도움
작업은 다음과 같습니다.
- 정지 후 Martin은 제비를 곱합니다.
- 곱셈 수는 OrdersClose 기능으로 조정할 수 있습니다. 지정된 값에 도달하면 로트 크기가 시작 크기로 재설정됩니다.
- 로트 크기가 처음으로 재설정되지 않고 역순으로 순차적으로 감소해야 합니다.
예: OrdersClose=5, Martin=2, lot=0.01:
우리는 시퀀스를 가지고 있습니다: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.01; 0.01;,,,,
필요: 0.01; 0.02; 0.04; 0.08; 0.16(리셋) 0.16; 0.08; 0.04; .... 0.01.
스스로 문제를 해결할 지식이 없습니다.
다양한 조합을 시도했지만 원하는 효과를 얻지 못했습니다.
그리고 알렉세이가 맞습니다.
네, 맞습니다. 조건은 변경되지 않았습니다. 습관적으로. 그림에서 그것은 중간에 그 Bid를 무너 뜨립니다)))
감사합니다, 하지만 이것은 어떤 식으로든 내 코드를 단순화하지 않습니다)