[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 274 1...267268269270271272273274275276277278279280281...432 새 코멘트 Alekseu Fedotov 2013.04.08 14:28 #2731 CYBOPOB : 그래서, 그것이 거기에 인간적으로 쓰여졌다면 ... 그래서 어떤 사업에서도 처음에는 모든 것이 분명해 보이고 조금 후에 당신은 미치기 시작합니다 ..)) 확인. 구체적인 예: 주문은 TR 이동이 끝나면 닫히지만 이후 SELL 신호가 취소되지 않고 새 주문이 열리며 이는 허용되지 않습니다. 720초를 측정한 후 새 주문을 열 수 있습니다. 따라서 이 경우 이 초는 역사상 첫 번째부터 또는 마지막에서 어떤 순서로 측정됩니까? 그리고 나서: 그리고 그렇다면, 무엇입니까? 내가 더하기 z, 처음부터 계산됩니까? 브르르 :)) 매우 감사합니다! 이 함수는 마지막 위치가 닫힌 이후의 시간(초)을 반환합니다. gince 2013.04.08 14:38 #2732 배열의 길이가 변경되면 다음에서 확인할 수 있습니다. 2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: ArraySize 21 그러나 배열에서 모든 요소는 0으로 작성됩니다. 2013.04.08 19:06:04 2013.03.28 16:00 testavimas naktini fleta EURUSD,M15: avgPriceC[19]=0.00000000 따라서 이 줄 에서 배열 요소에는 Close[ 1 ] 값이 할당되지 않습니다. avgPriceC[i] = Close[ 1 ]; 누가 그 이유를 설명할 수 있습니까? [ARCHIVE]Any rookie question, so Reversal Magic trading system Flexible Time Charts for Валерий 2013.04.08 14:42 #2733 r772ra : 이 함수는 마지막 위치가 닫힌 이후의 시간(초)을 반환합니다. 고맙습니다:) gince 2013.04.08 16:01 #2734 돕다 promeetochny 변수를 통해 시도했지만 작동하지 않습니다. ArrayResize 는 배열 뒤에 배치됩니다. 결과는 동일합니다. 배열의 0 int start() { double volMA11, volMA12, volMA21, volMA22; double x[], y[]; Print ( "******************STARTAS*****************************************" ); if (!TF_F_NewBar()) return ( 0 ); volMA11 = iCustom ( NULL , 15 , "volumeMA" , 2 , 1 ); volMA12 = iCustom ( NULL , 15 , "volumeMA" , 2 , 2 ); volMA21 = iCustom ( NULL , 15 , "volumeMA" , 3 , 1 ); volMA22 = iCustom ( NULL , 15 , "volumeMA" , 3 , 2 ); double h = High[ 1 ]; double l = Low[ 1 ]; double o = Open[ 1 ]; double c = NormalizeDouble (iClose( NULL , 0 , 1 ), Digits ); if (DayOfWeek()== 1 || DayOfWeek()== 2 || DayOfWeek()== 3 || DayOfWeek()== 4 ) //jei pirmadienis antradienis ar treciadienis, ar ketvirtadienis { if ( TimeCurrent ()>= StrToTime(startstartFlatMA) && TimeCurrent ()<= StrToTime(endstartFlatMA)+ 24 * 60 * 60 ) { //Print("fleto starto ieskojimo laikas prasidejo "+TimeToStr(TimeCurrent())+" >= "+TimeToStr(StrToTime(startstartFlatMA))+ //" && "+TimeToStr(TimeCurrent())+" <= "+TimeToStr(StrToTime(endstartFlatMA)+24*60*60)); bool laikas = true ; Print ( "laikas = " +laikas); if (volMA21 - volMA11 > 0 && volMA12 - volMA22 > 0 ) { //jei buvo susikirtimas susikirtimas = true ; } if (susikirtimas == true ) { if (zvakes_pabaiga) { if (iTime( NULL , BarEnd, 1 )!= LastTime) { LastTime = iTime( NULL , BarEnd, 1 ); flat = true ; LastTime = iTime( NULL , BarEnd, 1 ); } else return ( 0 ); } else flat = true ; if (flat == true ) { i++; avgPriceH[i] = h; avgPriceL[i] = l; avgPriceO[i] = o; avgPriceC[i] = c; j++; ArrayResize (chPriceC,j); ArrayResize (chTime,j); } ArrayResize (avgPriceH,i); ArrayResize (avgPriceL,i); ArrayResize (avgPriceO,i); ArrayResize (avgPriceC,i); Print ( "ArraySize " + ArraySize (avgPriceC)); for ( int a= 0 ; a<=i; a++) Print ( "avgPriceC[" +a+ "]=" +avgPriceC[a]); for ( int b= 0 ; b<=j; b++) Print ( "chPriceC[" +b+ "]=" +chPriceC[b]); for ( b= 0 ; b<=j; b++) Print ( "chTime[" +b+ "]=" +chTime[b]); } } } return ( 0 ); } st.272에서 시작 Alexey Subbotin 2013.04.08 17:26 #2735 gince : 돕다 중간 변수를 통해 시도했지만 작동하지 않습니다. ArrayResize 는 배열 뒤에 배치됩니다. 결과는 동일합니다. 배열의 0 st.272에서 시작 int i 및 인덱스 초기화 라인이 표시되지 않습니다. 스튜디오로 부탁드립니다. 추신: 저는 리투아니아어를 잘 못해서 코드의 주석이 약간 혼란스럽습니다.))) gince 2013.04.08 17:38 #2736 alsu : int i 및 인덱스 초기화 라인이 표시되지 않습니다. 스튜디오로 부탁드립니다. 추신: 저는 리투아니아어를 잘 못해서 코드의 주석이 약간 혼란스럽습니다.))) //+------------------------------------------------------------------+ //| naktinis fletas.mq4 | //| Ñåðãåé (urdala) Ðàøåâñêèé | //| gintaraitis@gmail.com | //+------------------------------------------------------------------+ #property copyright "Ñåðãåé (urdala) Ðàøåâñêèé" #property link "gintaraitis@gmail.com" //greitas MA extern int MA_Period1 = 8 ; extern int plius1 = 100 ; extern int MA_Shift1 = 0 ; extern int MA_Method1 = 0 ; //Letas MA extern int MA_Period2 = 13 ; extern int plius2 = 100 ; extern int MA_Shift2 = 0 ; extern int MA_Method2 = 3 ; //Fleto pradzia //fleto ipradzios eskojimas pagal indikatoriu arba laika extern bool start = true ; // true ->pagal indikatoriu, false->pagal laika // pagal indikatoriu fleto pradzios pradesim ieskoti nuo sio laiko extern int startHourFlatMA = 16 ; extern int startMinFlatMA = 00 ; extern string startstartFlatMA = "16:00" ; extern string endstartFlatMA = "00:00" ; //suradus pagal indikatoriu dar lauksim kol uzsidarys BarEnd zvake extern bool zvakes_pabaiga = true ; //ar lauksim kol uzsidarys M240 zvake, ar priimsim kad fletas prasidejo nuo susikirtimo extern int BarEnd = 240 ; datetime LastTime; //datetime startTime; // pagal laika fleto pradzios pradesim ieskoti nuo sio laiko extern int startHourFlat = 0 ; // extern int startMinFlat = 0 ; // //fleto pabaiga //Fleto pabaiga jei indikatorius duoda signala siame laiko tarpe //Laiko tarpo pradzia extern int startHourEnd = 4 ; extern int startMinEnd = 45 ; //laiko tarpo pabaiga arba fleto pabaiga extern int endHourEnd = 7 ; extern int endMinEnd = 30 ; //Ar naudosom Volumes filtra extern bool volFiltr = true ; //true -> naudosim, false -> nanaudosim //skirtumas tarp penktadienio uzdarymo ir pirmadienio atidarymo extern int gep = 300 ; //Naktinio-fletinio pipsavimo ijungimas bool nightFlat = false ; //true -> ijungtas, false -> neijungtas bool susikirtimas = false ; bool flat; //masyvai double chPriceH[], chPriceL[], chPriceO[], chPriceC[], chTime[]; double avgPriceH[], avgPriceL[], avgPriceO[], avgPriceC[]; int i = - 1 ; // masyvu indeksas -1, nes toliau pridesim 1, o masyvu indeksacija prasideda nuo 0 int j = - 1 ; // masyvu indeksas -1, nes toliau pridesim 1, o masyvu indeksacija prasideda nuo 0 int n = - 1 ; // kintamasis naujo masyvo indeksacijai int iH, iL ,iO, iC, iT; double C[], T[], y[]; double max; //max skirtumas tarp LR median ir Close //*-*-*-*-*-*-*-*-*-*-*-**-*-*-*-*--*-*--*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-* int init () { ArrayResize (chPriceH, 0 ); ArrayResize (chPriceL, 0 ); ArrayResize (chPriceO, 0 ); ArrayResize (chPriceC, 0 ); ArrayResize (chTime, 0 ); ArrayResize (avgPriceH, 0 ); ArrayResize (avgPriceL, 0 ); ArrayResize (avgPriceO, 0 ); ArrayResize (avgPriceC, 0 ); ArrayResize (C, 0 ); ArrayResize (T, 0 ); ArrayResize (y, 0 ); } //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*-*-**-*-*-*-*-*-*-*-*-*- int start() { double volMA11, volMA12, volMA21, volMA22; double x[], y[]; Print ( "******************STARTAS*****************************************" ); if (!TF_F_NewBar()) return ( 0 ); volMA11 = iCustom ( NULL , 15 , "volumeMA" , 2 , 1 ); volMA12 = iCustom ( NULL , 15 , "volumeMA" , 2 , 2 ); volMA21 = iCustom ( NULL , 15 , "volumeMA" , 3 , 1 ); volMA22 = iCustom ( NULL , 15 , "volumeMA" , 3 , 2 ); if (DayOfWeek()== 1 || DayOfWeek()== 2 || DayOfWeek()== 3 || DayOfWeek()== 4 ) //jei pirmadienis antradienis ar treciadienis, ar ketvirtadienis { if ( TimeCurrent ()>= StrToTime(startstartFlatMA) && TimeCurrent ()<= StrToTime(endstartFlatMA)+ 24 * 60 * 60 ) { //Print("fleto starto ieskojimo laikas prasidejo "+TimeToStr(TimeCurrent())+" >= "+TimeToStr(StrToTime(startstartFlatMA))+ //" && "+TimeToStr(TimeCurrent())+" <= "+TimeToStr(StrToTime(endstartFlatMA)+24*60*60)); bool laikas = true ; Print ( "laikas = " +laikas); if (volMA21 - volMA11 > 0 && volMA12 - volMA22 > 0 ) { //jei buvo susikirtimas susikirtimas = true ; } if (susikirtimas == true ) { if (zvakes_pabaiga) { if (iTime( NULL , BarEnd, 1 )!= LastTime) { LastTime = iTime( NULL , BarEnd, 1 ); flat = true ; LastTime = iTime( NULL , BarEnd, 1 ); } else return ( 0 ); } else flat = true ; if (flat == true ) { i++; //Zinodami indekso eiles numeri galim keisti masyvo ilgi ArrayResize (avgPriceH,i); ArrayResize (avgPriceL,i); ArrayResize (avgPriceO,i); ArrayResize (avgPriceC,i); Print ( "ArraySize " + ArraySize (avgPriceC)); //jei fletas prasidejo renkam duomenis i masyva zvakiu HL ir OC skaiciavimui avgPriceH[i] = High[ 1 ]; avgPriceL[i] = Low[ 1 ]; avgPriceO[i] = Open[ 1 ]; avgPriceC[i] = Close[ 1 ]; j++; ArrayResize (chPriceC,i); ArrayResize (chTime,i); } for ( int a= 0 ; a<=i; a++) Print ( "avgPriceC[" +a+ "]=" +avgPriceC[a]); for ( int b= 0 ; b<=j; b++) Print ( "chPriceC[" +b+ "]=" +chPriceC[b]); for ( int c= 0 ; c<=j; c++) Print ( "chTime[" +c+ "]=" +chTime[c]); } } } return ( 0 ); } //----------------------------------------------------------------- bool TF_F_NewBar() { static datetime TimeLast; if (TimeLast!=Time[ 0 ]) { TimeLast=Time[ 0 ]; return ( true ); } return ( false ); } Алексей Тарабанов 2013.04.08 18:01 #2737 gince : 배열 y[]는 전역 함수와 시작 함수로 두 번 선언됩니다. gince 2013.04.08 18:11 #2738 tara : 배열 y[]는 전역 함수와 시작 함수로 두 번 선언됩니다. KIM 사례에서도 #define r 30 void start() { double x[r], y[]; for ( int i= 0 ; i<r; i++) x[i]=Close[i+ 1 ]; ArrayLR(x, y); for (i= 0 ; i<r; i++) SetArrow( 170 , Red, "arr" +i, Time[i+ 1 ], y[i]); } //+----------------------------------------------------------------------------+ //| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Âåðñèÿ : 20.05.2008 | //| Îïèñàíèå : Ôîðìèðóåò ìàññèâ çíà÷åíèé ëèíåéíîé ðåãðåññèè. | //+----------------------------------------------------------------------------+ //| Ïàðàìåòðû: | //| x - ìàññèâ çíà÷åíèé ÷èñëîâîãî ðÿäà | //| y - ìàññèâ çíà÷åíèé ëèíåéíîé ðåãðåññèè | //+----------------------------------------------------------------------------+ void ArrayLR( double & x[], double & y[]) { double a, b, c, sx= 0 , sx2= 0 , sxy= 0 , sy= 0 ; int i, n= ArraySize (x); if (n> 1 ) { for (i= 0 ; i<n; i++) { sx+=i+ 1 ; sy+=x[i]; sxy+=(i+ 1 )*x[i]; sx2+=(i+ 1 )*(i+ 1 ); } a=sx*sy-n*sxy; c=sx*sx-n*sx2; if (c!= 0 ) a=a/c; else a= 0 ; b=(sy-a*sx)/n; ArrayResize (y, n); for (i= 0 ; i<n; i++) y[i]=a*(i+ 1 )+b; } else Print ( "ArrayLR(): Íåäîñòàòî÷íîå êîëè÷åñòâî ýëåìåíòîâ ðÿäà! n=" , n); } //+----------------------------------------------------------------------------+ //| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Âåðñèÿ : 12.10.2007 | //| Îïèñàíèå : Óñòàíîâêà çíà÷êà íà ãðàôèêå | //+----------------------------------------------------------------------------+ //| Ïàðàìåòðû: | //| cd - êîä çíà÷êà | //| cl - öâåò çíà÷êà | //| nm - íàèìåíîâàíèå ("" - âðåìÿ îòêðûòèÿ òåêóùåãî áàðà) | //| t1 - âðåìÿ îòêðûòèÿ áàðà (0 - òåêóùèé áàð) | //| p1 - öåíîâîé óðîâåíü (0 - Bid) | //| sz - ðàçìåð çíà÷êà (0 - ïî óìîë÷àíèþ) | //+----------------------------------------------------------------------------+ void SetArrow( int cd, color cl, string nm= "" , datetime t1= 0 , double p1= 0 , int sz= 0 ) { if (nm== "" ) nm=DoubleToStr(Time[ 0 ], 0 ); if (t1<= 0 ) t1=Time[ 0 ]; if (p1<= 0 ) p1=Bid; if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_ARROW , 0 , 0 , 0 ); ObjectSet(nm, OBJPROP_TIME1 , t1); ObjectSet(nm, OBJPROP_PRICE1 , p1); ObjectSet(nm, OBJPROP_ARROWCODE , cd); ObjectSet(nm, OBJPROP_COLOR , cl); ObjectSet(nm, OBJPROP_WIDTH , sz); } //+----------------------------------------------------------------------------+ Алексей Тарабанов 2013.04.08 18:22 #2739 gince : KIM 사례에서도 택시를 탈까, 갈까? Алексей Тарабанов 2013.04.08 18:25 #2740 완전히 똑같지는 않지만 완전히 다릅니다. 글로벌 및 로컬 데이터를 읽습니다. 1...267268269270271272273274275276277278279280281...432 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
그래서, 그것이 거기에 인간적으로 쓰여졌다면 ... 그래서 어떤 사업에서도 처음에는 모든 것이 분명해 보이고 조금 후에 당신은 미치기 시작합니다 ..))
확인. 구체적인 예:
주문은 TR 이동이 끝나면 닫히지만 이후 SELL 신호가 취소되지 않고 새 주문이 열리며 이는 허용되지 않습니다.
720초를 측정한 후 새 주문을 열 수 있습니다. 따라서 이 경우 이 초는 역사상 첫 번째부터 또는 마지막에서 어떤 순서로 측정됩니까?
그리고 나서: 그리고 그렇다면, 무엇입니까? 내가 더하기 z, 처음부터 계산됩니까? 브르르 :))
매우 감사합니다!
이 함수는 마지막 위치가 닫힌 이후의 시간(초)을 반환합니다.
배열의 길이가 변경되면 다음에서 확인할 수 있습니다.
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: ArraySize 21
그러나 배열에서 모든 요소는 0으로 작성됩니다.
2013.04.08 19:06:04 2013.03.28 16:00 testavimas naktini fleta EURUSD,M15: avgPriceC[19]=0.00000000
따라서 이 줄 에서 배열 요소에는 Close[ 1 ] 값이 할당되지 않습니다.
avgPriceC[i] = Close[ 1 ];
누가 그 이유를 설명할 수 있습니까?이 함수는 마지막 위치가 닫힌 이후의 시간(초)을 반환합니다.
고맙습니다:)
돕다
promeetochny 변수를 통해 시도했지만 작동하지 않습니다. ArrayResize 는 배열 뒤에 배치됩니다. 결과는 동일합니다. 배열의 0
st.272에서 시작돕다
중간 변수를 통해 시도했지만 작동하지 않습니다. ArrayResize 는 배열 뒤에 배치됩니다. 결과는 동일합니다. 배열의 0
st.272에서 시작int i 및 인덱스 초기화 라인이 표시되지 않습니다. 스튜디오로 부탁드립니다.
추신: 저는 리투아니아어를 잘 못해서 코드의 주석이 약간 혼란스럽습니다.)))
int i 및 인덱스 초기화 라인이 표시되지 않습니다. 스튜디오로 부탁드립니다.
추신: 저는 리투아니아어를 잘 못해서 코드의 주석이 약간 혼란스럽습니다.)))
배열 y[]는 전역 함수와 시작 함수로 두 번 선언됩니다.
배열 y[]는 전역 함수와 시작 함수로 두 번 선언됩니다.
KIM 사례에서도
KIM 사례에서도
택시를 탈까, 갈까?