[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 403 1...396397398399400401402403404405406407408409410...537 새 코멘트 Leonid Borsky 2011.05.23 19:14 #4021 ruslanchik : 스택 크기를 계산하는 방법을 알려주세요 귀하의 질문에 대해 더 구체적으로 말씀해 주십시오. Alexander Kuznetsov 2011.05.23 22:06 #4022 최적화에서 불필요한 단계를 건너뛰고 다음 단계로 넘어갈 수 있습니까? 예: 최적화해야 하는 입력 매개변수( 이중 유형 )가 있습니다. x1, x2, x3, x4 해당 값은 1에서 5까지입니다. 단계 0.1 이 경우 41 * 41 * 41 * 41 = 2 825 761 검색 옵션이 있음이 분명합니다. 그러나 다음과 같은 제약 조건에서 검색해야 합니다. 10.5 < x1+x2+x3+x4 < 11.5 그리고 여기에서 열거 옵션이 훨씬 더 적을 것이라는 점은 이미 분명합니다. (즉, 금액에 대한 이러한 제한이 필요합니다) 따라서 이 제한이 EA 코드에 다음과 같이 추가되면: extern double x1= 1 , x2= 1 , x3= 1 , x4= 1 ; int start() { if ( 10.5 <x1+x2+x3+x4 && x1+x2+x3+x4< 11.5 ) { // основной код эксперта } return ; } 그런 다음 최적화하는 동안(각각의 새 틱이 도착할 때) 적합하지 않은 옵션이 사용됩니다(예: x1= 4 , x2= 4 , x3= 4 , x4= 4 ). 확실히 되지 않는 것은 메인 코드의 실행입니다. 즉, 이 최적화 단계가 기록 간격을 "누출" 때까지 다음 단계로의 전환이 없습니다. 조건 10.5 < x1+x2+x3+x4 < 11.5가 충족되지 않는다는 "믿음" 이 있을 것이며 이는 주 코드의 작업이 실행/계산되는 것을 방지할 뿐입니다. 그러한 명백하게 부적절한 선택을 위한 시간은 무의미하게 낭비될 것입니다. 조건에 분명히 적합하지 않은 매개변수를 사용하여 최적화에서 그러한 단계의 실행을 어떻게 제외할 수 있습니까? 즉, 다음 매개변수 세트가 부적합해지면 이 단계가 최적화되지 않고 즉시 새 단계로 넘어갑니다. 기사: 신경망을 사용한 가격 최적화 알고리즘 챔피언십. 성배가 아니라 그냥 평범한 --- 2011.05.23 22:28 #4023 fmql : 최적화에서 불필요한 단계를 건너뛰고 다음 단계로 넘어갈 수 있습니까? 3개의 매개변수를 최적화하고 네 번째 매개변수를 원하는 양으로 조정할 수 있습니다. 또는 세 번째 탭 "최적화"를 사용하여 원하는 이벤트를 자발적으로 생성합니다. Alexander Kuznetsov 2011.05.23 23:03 #4024 sergeev : 3개의 매개변수를 최적화하고 네 번째 매개변수를 원하는 양으로 조정할 수 있습니다. 또는 세 번째 탭 "최적화"를 사용하여 원하는 이벤트를 자발적으로 생성합니다. 문제는 제 경우에는 4번째 매개변수 없이 3개 매개변수를 최적화하는 것이 불가능하다는 것입니다. 여기에서 중요한 것은 공동 선택이며, 그 합은 간격으로 제한됩니다. (이것은 혼합물의 모든 성분의 비율을 찾는 것과 같으며 이 혼합물의 총 질량은 엄격한 간격으로 제한됩니다) 세 번째 책갈피, 어떤 종류의 자발적인 원하는 이벤트 발생에 대해 더 자세히 가능합니까? Roman Kutemov 2011.05.24 06:47 #4025 안녕하세요. ZigZag 표시기의 마지막 극값의 캔들 값(High, Low, Open, Close)을 추출하는 방법을 알려주십시오. Porter 2011.05.24 06:58 #4026 다른 촛불처럼. 같은 기능. (당신의 행성의 지름을 생각하십시오. (c) ) Porter 2011.05.24 07:09 #4027 마지막 극값의 막대 번호를 가져와야 하는 경우 마지막 광선의 개체 이름으로 막대의 시간에 해당하는 첫 번째 좌표 의 시간을 얻습니다 . 마디의 시간으로 마디의 수를 결정하십시오. 막대 번호로 막대의 특성을 결정하십시오. --- 2011.05.24 07:15 #4028 fmql : 세 번째 책갈피, 어떤 종류의 자발적인 원하는 이벤트 발생에 대해 더 자세히 가능합니까? 자세한 내용은 도움말 요컨대 - 세 번째 탭에서 항목에 대한 고유한 조건을 만들 수 있습니다(예: 연속 10개의 실패 주문 열기). 그러면 테스터는 자동으로 이 실행을 건너뛰고 다음 실행으로 넘어갈 것입니다. Leonid Borsky 2011.05.24 08:36 #4029 Stells : 안녕하세요. ZigZag 표시기의 마지막 극값의 캔들 값(High, Low, Open, Close)을 추출하는 방법을 알려주십시오. 이 작업에는 몇 가지 관련 계산이 필요합니다. 나는 이것을 하곤 했다: int start() { double // экстремумы Зиг-Зага y3= 0 , y2= 0 , y1= 0 , y0, zz; int x3, x2, x1, sh=ShiftBars; // номера баров y0= iCustom ( NULL , 0 , "ZigZag" , ExtDepth, ExtDeviation, ExtBackstep, 0 , 1 ); //============================================================================= // Берём три экстремума Зиг-Зага while (y3== 0 ) { zz= iCustom ( NULL , 0 , "ZigZag" , ExtDepth, ExtDeviation, ExtBackstep, 0 , sh); if (zz!= 0 && zz!= EMPTY_VALUE ) { if (y1== 0 ) { x1=sh; y1=zz; } else if (y2== 0 ) { x2=sh; y2=zz; } else if (y3== 0 ) { x3=sh; y3=zz; } } sh++; //----- Вывод информации на экран ----------------------------------------------- string info= "" ; string on_off= "---------------------------------------------------" + "\r\n" ; on_off= StringConcatenate (on_off, "Экстремум= " ,y1, " на " ,x1, " баре" , "\r\n" ); on_off= StringConcatenate (on_off, "Экстремум= " ,y2, " на " ,x2, " баре" , "\r\n" ); info= StringConcatenate (info,on_off, "\r\n" ); info= StringConcatenate (info, "\r\n" ); Comment (info); 이제 마지막 2개의 극한값(최소값 및 최대값)에 있는 막대의 수와 최고값, 최고값을 알 수 있습니다. 찾기가 쉽습니다! - 닫기[x1], 열기[x2], .... 등 아마도 누군가가 더 쉬운 옵션을 제공할 것입니다. Dimka-novitsek 2011.05.24 10:51 #4030 반복할 수 없으며 X와 Y는 항상 0입니다. //+------------------------------------------------------------------+ //| для лавин.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern double stoploss= 0 ; extern double takeprofit= 20 ; extern int otstup= 20 ; extern datetime expiration= 0 ; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return ( 0 ); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return ( 0 ); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int tiket,tikett; double volume= 0.1 ; int i= 0 ,R1= 0 ,R2= 0 ,A= 1 ; double price= PRICE_OPEN ; // R1=((PRICE_OPEN- stoploss*Point)*stoploss)/stoploss;R2=((PRICE_OPEN+ stoploss*Point)*stoploss)/stoploss; int start() { int X,Y; double price=(Ask+Bid)/ 2 ; //---- Alert ( "OrdersTotal()" , OrdersTotal ()); if (OrderSymbol()== Symbol ()&&OrderMagicNumber( )== 1000 ){ for ( int i= OrdersTotal ();i== 0 ;i--){ OrderSelect (i,SELECT_BY_POS ); if (OrderType( )==OP_BUYSTOP){X++;}}} Alert ( "X" , X); if (X== 0 ){ tiket= OrderSend ( Symbol (), OP_BUYSTOP, volume*A, price +otstup* Point , Point * 3 , R1, price+takeprofit* Point +otstup* Point , "OP_BUYSTOP" , 1000 , expiration, Red ); Alert ( "OP_BUYSTOP" , GetLastError ( )); } if ( OrderMagicNumber( )== 2000 &&OrderSymbol()== Symbol ()) { for ( i= OrdersTotal ();i== 0 ;i--){ OrderSelect (i,SELECT_BY_POS ); if (OrderType( ) ==OP_SELLSTOP) { Y++;}}} Alert ( "Y" , Y); if (Y== 0 ){ tikett= OrderSend ( Symbol (), OP_SELLSTOP, volume*A, price -otstup* Point , Point * 3 ,R2, price-takeprofit* Point -otstup* Point , "OP_SELLSTOP" , 2000 , expiration, C'0,128,255' ); Alert ( "OP_SELLSTOP" , GetLastError ( )); } //---- return ( 0 ); } //+------------------------------------------------------------------+ 1...396397398399400401402403404405406407408409410...537 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
스택 크기를 계산하는 방법을 알려주세요
귀하의 질문에 대해 더 구체적으로 말씀해 주십시오.
최적화에서 불필요한 단계를 건너뛰고 다음 단계로 넘어갈 수 있습니까?
예: 최적화해야 하는 입력 매개변수( 이중 유형 )가 있습니다. x1, x2, x3, x4 해당 값은 1에서 5까지입니다. 단계 0.1
이 경우 41 * 41 * 41 * 41 = 2 825 761 검색 옵션이 있음이 분명합니다.
그러나 다음과 같은 제약 조건에서 검색해야 합니다. 10.5 < x1+x2+x3+x4 < 11.5 그리고 여기에서 열거 옵션이 훨씬 더 적을 것이라는 점은 이미 분명합니다. (즉, 금액에 대한 이러한 제한이 필요합니다)
따라서 이 제한이 EA 코드에 다음과 같이 추가되면:
그런 다음 최적화하는 동안(각각의 새 틱이 도착할 때) 적합하지 않은 옵션이 사용됩니다(예: x1= 4 , x2= 4 , x3= 4 , x4= 4 ). 확실히 되지 않는 것은 메인 코드의 실행입니다.
즉, 이 최적화 단계가 기록 간격을 "누출" 때까지 다음 단계로의 전환이 없습니다. 조건 10.5 < x1+x2+x3+x4 < 11.5가 충족되지 않는다는 "믿음" 이 있을 것이며 이는 주 코드의 작업이 실행/계산되는 것을 방지할 뿐입니다.
그러한 명백하게 부적절한 선택을 위한 시간은 무의미하게 낭비될 것입니다.
조건에 분명히 적합하지 않은 매개변수를 사용하여 최적화에서 그러한 단계의 실행을 어떻게 제외할 수 있습니까?
즉, 다음 매개변수 세트가 부적합해지면 이 단계가 최적화되지 않고 즉시 새 단계로 넘어갑니다.
최적화에서 불필요한 단계를 건너뛰고 다음 단계로 넘어갈 수 있습니까?
3개의 매개변수를 최적화하고 네 번째 매개변수를 원하는 양으로 조정할 수 있습니다.
또는 세 번째 탭 "최적화"를 사용하여 원하는 이벤트를 자발적으로 생성합니다.
3개의 매개변수를 최적화하고 네 번째 매개변수를 원하는 양으로 조정할 수 있습니다.
또는 세 번째 탭 "최적화"를 사용하여 원하는 이벤트를 자발적으로 생성합니다.
문제는 제 경우에는 4번째 매개변수 없이 3개 매개변수를 최적화하는 것이 불가능하다는 것입니다.
여기에서 중요한 것은 공동 선택이며, 그 합은 간격으로 제한됩니다.
(이것은 혼합물의 모든 성분의 비율을 찾는 것과 같으며 이 혼합물의 총 질량은 엄격한 간격으로 제한됩니다)
세 번째 책갈피, 어떤 종류의 자발적인 원하는 이벤트 발생에 대해 더 자세히 가능합니까?
안녕하세요.
ZigZag 표시기의 마지막 극값의 캔들 값(High, Low, Open, Close)을 추출하는 방법을 알려주십시오.
세 번째 책갈피, 어떤 종류의 자발적인 원하는 이벤트 발생에 대해 더 자세히 가능합니까?
자세한 내용은 도움말
요컨대 - 세 번째 탭에서 항목에 대한 고유한 조건을 만들 수 있습니다(예: 연속 10개의 실패 주문 열기). 그러면 테스터는 자동으로 이 실행을 건너뛰고 다음 실행으로 넘어갈 것입니다.
안녕하세요.
ZigZag 표시기의 마지막 극값의 캔들 값(High, Low, Open, Close)을 추출하는 방법을 알려주십시오.
이 작업에는 몇 가지 관련 계산이 필요합니다.
나는 이것을 하곤 했다:
이제 마지막 2개의 극한값(최소값 및 최대값)에 있는 막대의 수와 최고값, 최고값을 알 수 있습니다. 찾기가 쉽습니다!
- 닫기[x1], 열기[x2], .... 등
아마도 누군가가 더 쉬운 옵션을 제공할 것입니다.