도움이 필요합니다 - 페이지 3

 
Jimdandy :

그 #property strict로 i,j,k를 값으로 초기화해야 한다고 생각합니다...


핍핍...짐단디

Y 우리 화살 은 귀엽다
 
int init() 
{
   int i= 0 ,j= 0 ,k= 0 ;//initialize the variables to zero (now required with #property strict line that is at top of file.
   string ls;      //strings are initialized implicitly by compiler.
   while ( true ) {  //this loop will run until it breaks out of it at the break ; .
        j= StringFind (LotsProgression, ";" ,i);
        //Look in the LotsProgression string for a semicolon ( LotsProgression= " 0.1 ; 0.2 ; 0.3 " )
        //Start looking from position i (which we initialized to 0 above)and 0 is the first position of the string. 
        //So it starts at the beginning of the string looking for ; and as you can see in the string above position 0=0,.=1,1=2,;=3 ... semicolon at position 3
        // now j=3; 
	if (j> 0 ) {    //true.. j is 3 now.
        ls= StringSubstr (LotsProgression,i,j-i);//Get the piece of the string from i(which is 0)to j-1(3-1) which is 2. 0-2 position string is " 0.1 "
        //ls is now "0.1"
        i=j+ 1 ;//now i changes from 0 to 4.
        k++;//k gets incremented up from 0 to 1.
        ArrayResize (lots,k);// lots[] array gets made to the size of k which is 1.
        lots[k- 1 ]= StrToDouble (ls);//the lots[]array is of the double type(remember arrays start at index 0)
	Here we are inserting "0.1" string but using StrToDouble() to make it a double (floating decimal number)into index [0].
	//now lots[0]=0.1;
        } else {    //otherwise if j was not greater than zero..until we can not find any more semicolons in the string
                    //the following lines will not run and it will never break out of the while loop. So let's say it jumps to the top again.
		    //now remember i=4,j=3 and k=1 now. So it starts looking in the string at position 4(i)for a semicolon and finds one at position 7
		    //ls now become the string from i to j-1 or from 4 to 6 which is again " 0.2 ". now j=7,i=8,k = 2.
		    //lots array gets re-sized to 2 so now it can hold index 0 and 1. and then index position k-1(2-1)=1 gets
		    //populated with the substring "0.2" turned into a double 0.2 lots[1]=0.2;
      		    //Now on the third search of the string it finds no more semicolons and the else statement kicks in.. 	
		    //Now i=8,j=7 and k is 2
        ls= StringSubstr (LotsProgression,i);//it starts at i (position 8 and reads to the end. getting "0.3"
        k++;//k is now 3
         ArrayResize (lots,k);//array now holds 3 indexes(indices)
        lots[k- 1 ]= StrToDouble (ls);lots[2]=0.3.
         break ;we are done with this while loop and our lots array is populated like we want!
	//the question is ... why not just declare an array double lots[] = {0.1,0.2,0.3};
        }
   }
   plen= ArraySize (lots);//in this case plen is now 3..which is not used.
}
나는 화살을 만들 수 있다.. 아직 웃는 얼굴은 어떻게 만드는지 모르겠다..... :-(.......혹은 혀 스티커 겉면.... :-%
핍핍....짐단디...
 
Jimdandy : 그 #property strict를 사용하면 i,j,k를 값으로 초기화해야 한다고 생각합니다..
  1. 코드나 문서의 이미지를 게시하지 마십시오. 코드의 경우 SRC를 사용합니다. 문서의 경우 링크 버튼을 사용하십시오.
  2.  int init()
    {
       int i,j, k;
       string ls;
       while ( true ) {
          j=stringFind(LotsProgression, ";" ,i);
           if (j> 0 ) {
             ls=StrngSubstr(..._
             i=j+ 1 ;
             k++;
       :
    
    Ij 는 사용 전에 초기화됩니다. K 는 초기 값을 0으로 잘못 가정하고 올바르게 초기화해야 합니다.
 
WHRoeder :
  1. 코드나 문서의 이미지를 게시하지 마십시오. 코드의 경우 SRC를 사용합니다. 문서의 경우 링크 버튼을 사용하십시오.
  2. Ij 는 사용 전에 초기화됩니다. K 는 초기 값을 0으로 잘못 가정하고 올바르게 초기화해야 합니다.

실례합니다. 이 비누 상자에 올라타는 동안...미리 사과드립니다....

1. 죄송합니다. 게시 규칙 중 하나를 위반할 의도는 없었습니다.
나는 누군가가 mql4를 더 잘 이해하도록 돕는 방법에 대해 더 많이 생각하고 있었습니다.
나는 때때로 누군가의 문제에 답할 가장 좋은 방법을 결정하는 데 몇 시간을 보냅니다.
나는 요점을 전달하기 위해 내가 아는 가장 좋은 방법을 선택합니다. 그 과정에서 나는
당신이 최선이라고 생각하는 최선의 방법으로 하지 않을 수도 있습니다.
이 사이트에서 할 수 있습니다. 그러나 나는 사람들이 내가 할 수 있는 것에서 배운다고 생각합니다.
비틀거리며 여기를 입는다. 모든 사람이 아는 것은 아니라는 사실을 깨달아야 합니다.
당신처럼 이 사이트를 사용하는 방법.

2. 제안:
이 사이트의 기능을 올바르게 사용하는 방법에 대한 비디오를 만드는 것은 어떻습니까?
게시물을 남길 때 이 편집기를 올바르게 사용하는 방법은 무엇입니까? 아니면 적어도 나에게
그 영상에 대한 링크.

3. 문서 중 한 문장이나 단락을 누군가와 공유하고 싶은 경우
문서의 전체 페이지에 대한 링크를 붙여넣고 사람들이 해당 페이지를 검색하도록 하기만 하면 됩니다.
페이지를 읽고 내가 읽고 싶은 부분을 알아내려고 합니다.

4. 같은 라인....
"2. I와 j 는 사용 전에 초기화됩니다. K 는 초기 값을 0으로 잘못 가정하고 올바르게 초기화해야 합니다."

5. 믿을 수 없을 정도로 지적이고 재능이 있어 보이지만 아직 코드의 대가인 것처럼 보이지만 그렇지 않은 사람의 전형적인 예입니다.
그들이 교육받지 못한 대중에게 말하고 있다는 사실을 파악하십시오. 그게 아니면 당신 당신이
당신보다 지적으로 열등한 사람들과 이야기하고 당신이 얼마나 똑똑한지 보여주는 것을 즐깁니다.
자신이 하는 일을 알고 있는 프로그래머는 귀하의 게시물을 읽지 않습니다. 그들은 이미 무엇이든 알고 있습니다.
공유해야 할 수도 있습니다. 이 글을 읽고 스스로를 더 낫게 만들려고 하는 것은 바로 무지입니다.

6. 나는 당신이 어떤 경우인지 모르겠습니다. 이 사이트가 어떻게 든 가고 있는지 진정으로 우려하는지 여부
Facebook 페이지처럼 보이기 시작하고 진정으로 mql4에 대한 더 나은 이해를 촉진하기를 원하신다면,
사이트를 정리한 상태에서 다른 사람들을 돕거나, 여기저기 돌아다니는 일종의 자아 여행을 하고 있습니다.
누군가가 엉뚱한 곳에 화살을 꽂는 것을 지켜보고 있는 경찰과 같은 사이트. 확실히 후자가 아니기를 바랍니다.

7. 이메일과 트레이더와 프로그래머의 피드백을 통해 내가 아는 것은 많은 사람들이 거래를 중단했다는 것입니다.
무례하고 불쾌한 방식으로 인해 이 사이트에 질문하거나 답변하거나 지식을 제공하기 위해 여기에 옵니다.
질문을 하거나 대답할 때 자신이나 다른 사람을 대합니다. 게시하지 않는다는 이유로 괴롭힘을 당합니다.
질문의 합법성이나 교수 기여의 가치에 관계없이 적절한 형식.
진정으로 절망적인 사람만이 남습니다.

8. 이 사이트에는 더 짧은 시간에 답변할 수 있는 간단한 질문을 하는 사람들의 예가 있습니다.
사이트를 검색하지 않거나 올바른 위치에 게시하거나 잘못된 이미지를 포함하는 것에 대해 비난하는 데 사용됩니다.
당신은 그들이 질문할 때 그들의 질문에서 실제로 두려움을 느낄 수 있습니다. mql4 GODS를 화나게 하는 일에 대한 두려움.

9. 대신 그들은 환영받지 못한다고 느끼게 만들고 그들의 질문을 무시합니다. 올바른 게시 방법을 제안하지 않는 이유
그리고 그들의 질문에 답하시겠습니까? 정말 부끄럽습니다. 아무도 이기지 못한다. 모두가 집니다. 학생은 잃어버린 채로 남아 있습니다.
침묵을 지킬 수 있는 능력으로 mql4.com은 방문하기에 점점 덜 선호되는 곳이 되었습니다.

10. "주는 것보다 받는 것이 더 행복하다." 우리는 들었다.
여기에서 다른 사람들을 돕는 것은 저에게 기쁨을 줍니다. Mql4.com 하지만 그 기쁨은 빠르게 사라지고 있습니다.
도움이 필요한 사람에게 손을 내밀기 위해 손을 뗐을까봐 끊임없이 걱정해야 한다면,
더 큰 기쁨, 오직 두려움.

11. 이런 식으로 느끼는 사람이 있습니까? 아니면 제가 여기에서 너무 멀리 떨어져 있습니까? 아멘을 받을 수 있습니까?
좋아 내 비누 상자에서 떨어졌어..
그리고 나는 여전히 당신의 아바타를 좋아합니다....
핍핍...짐단디

 
대단하시네요 모두 수고하셨습니다. 이 콘텐츠 를 우리와 공유해 주신 모든 분들께 진심으로 감사드립니다. 정말 감사하고 이 게시물을 우리와 공유해 주셔서 감사합니다.
 
Jimdandy :

7. 이메일과 거래자와 프로그래머의 피드백을 통해 알고 있는 것은 많은 사람들이 거래를 중단했다는 것입니다.
무례하고 불쾌한 방식으로 인해 이 사이트에 질문하거나 답변하거나 지식을 제공하기 위해 여기에 옵니다.
질문을 하거나 대답할 때 자신이나 다른 사람을 대합니다. 게시하지 않는다는 이유로 괴롭힘을 당합니다.
질문의 합법성이나 교수 기여의 가치에 관계없이 적절한 형식.
진정으로 절망적인 사람만이 남습니다.


핍핍...짐단디


TBH 일반적으로 부정적이기 때문에 이 포럼에 대한 참여를 줄이기로 결정했습니다. 선택된 소수를 제외하고는 그들이 말하는 내용을 아무도 모른다는 가정이 있는 것 같습니다. 어떤 사람들은 분명히 대부분의 다른 사람들의 의견을 존중하지 않고 다른 곳에서 자유롭게 자신의 의견을 말하고, 말의 전환이 너무 일관되고 불필요하게 무례하여 실제 생활에서 사람들과 어떻게 상호 작용하는지 종종 궁금합니다. 당신처럼, 나는 그들이 다른 사람들을 괴롭히는 것조차 방해한다고 생각합니다. 그들이 옳을 때(그들은 종종 그렇습니다) 그들은 매우 목소리를 높이고 그들이 틀리면 침묵합니다.

이 포럼에 대한 내 첫 게시물 (이전에 보고되지 않은 버그 강조 표시) 중 하나는 다른 개발자에게 도움이 되는 헤드업으로 인정조차 되지 않았지만 반복적으로 손을 떼지 못했으며 내 입장을 견지했을 때만 버그가 인정되었습니다( 좀 더 합리적인 생각으로),하지만 감사의 길은 거의 없었습니다! 그것이 나의 첫 번째 경고 사격이었어야 했습니다! 이는 곧 비슷한 시나리오 가 재생되면서 여기에서 분위기를 조성합니다. 어떤 이유에서인지 IMO( 불필요하게 강력한 반응 )를 촉발시킨 최근의 나 자신의 발언은 나를 위해 거의 거래를 성사시켰습니다.


저는 MQL 커뮤니티와 코드베이스 (이제 MQL4가 코드 재사용을 좀 더 실용적으로 만들었습니다) 에 기여할 것이며, 특정 질문에 대한 구체적인 답변이 있을 때 가끔 여기에 게시할 것입니다. 어쨌든 대부분의 사람들은 기술적인 관점에서 주요 기여자들의 도움을 받습니다.

나는 여기에서 어떤 사람들이 '사람에게 물고기 잡는 법을 가르친다'는 고귀한 개념을 취하여 그것을 핑계로 더 자주 무례하게 사용했다고 생각합니다. 런던의 차이나타운에 있는 Wong Kei 라는 레스토랑에 가는 것과 비슷합니다. 음식과 가치는 훌륭하지만 멋진 분위기를 원한다면 가지 마세요. 직원들은 의도적으로 무례하며 정당한 불만을 제기하는 것을 금합니다! 하지만 여전히 많은 고객이 있습니다!

추신: 이 스레드는 실제로 논의 중인 내용을 가장 잘 보여주는 것이 아니며 틀림없이 상당히 합리적이며 '더 나은' 예를 많이 찾을 수 있습니다!

아 그리고 '아멘'!

 
qjol :

무엇이 혼란스러운지 u 문제를 설명할 수 있습니까?


나는 그것이 나를 혼란스럽게 한 루프 기능 이라고 생각합니다. 그러나 자세히 설명해주신 Jimdandy 에게 감사드립니다.

내가 원하는 것은 무엇입니까? 차트에서 EA를 실행할 때 설정에서 두 가지를 정의하고 싶습니다. 거래 횟수 및 각 거래 규모. 아래와 같이...

 input string =LotsProgression "0.1;0.1;0.2;0.3;0.4;0.6;0.8;1.1;1.5;2.0;2.7;3.6;4.7;6.2;8.0;10.2;13.0;16.5;20.8;26.3;33.1" //Change able values.
이에 대한 코드를 작성하려고 합니다. 내가 생각하는 "복잡한?"
 
qgmql :

[...]내가 생각하는 "복잡한?"


행운을 빕니다
 
Jimdandy :
//the question is ... why not just declare an array double lots[] = {0.1,0.2,0.3};
https://www.mql5.com/en/forum/129933 에서 이것을 보았지만 거기에서 비활성화되어 있고 다른 계산 코드가 사용됩니다....
 //double aLots[]={1,3,6,12,24,48,96,192,384,768}; declared, but i think its not used.

//--- or maybe someone has changed it with below code.

if (MaxLots== 0 ) llots=Lots; else        //in paulo costa hedge
if (MaxLots==Lots) llots= 3 *Lots; else    //llots=3+Lots also works
llots=MaxLots* 2 ;                       //llots=MaxLots+2 also works

내가 당신의 제안을 적용한다면. 그러면 사용자가 차트에 EA를 배치하는 동안 GUI 설정에서 로트 값을 변경할 수 있습니까?

추신: 2ma 크로스 EA를 보았습니다. 어느 것이 교차 거래를 여는가(그러나 한 번에 한 거래만) EA가 각 교차에서만 거래를 시작하고 반대로 닫으면 안 되는 것이 가능합니까?

 
qgmql :


저를 헷갈리게 했던 것이 루프 기능이라고 생각합니다. 그러나 자세히 설명해주신 Jimdandy 에게 감사드립니다.

내가 원하는 것은 무엇입니까? 차트에서 EA를 실행할 때 설정에서 두 가지를 정의하고 싶습니다. 거래 횟수 및 각 거래 규모. 아래와 같이...

이에 대한 코드를 작성하려고 합니다. 내가 생각하는 "복잡한?"

새로운 MQL4++ 함수 StringSplit 을 사용하여 생성된 루프 오버 어레이? 루프 내에서 StringToDouble을 호출합니다. (시작하려면 해당 페이지의 예 참조),