[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 138

 
supernyb :

그리고 출력의 경우 인쇄물이 항상 4-re 만 표시하고 부호보다 작다는 것을 깨달았습니다.

then if Print (DoubleToStr(Startprice,5)); // 시작 가격 인쇄

그것은 5를 제공합니다.

그러나 여기에 바 시간을 추가하는 방법이 있습니다.

이 줄은 막대 시간을 추가하지 않습니까?



 string name= "Pr1_" ;
string cur_name=name+Time[ 0 ];
 
supernyb :


그렇다면

작동하지 않습니다. '='에서 맹세합니다 - 호환되지 않는 유형 C:\fortest\experts\sve.mq4 (34, 14)

이것은 어떻게 올바르게 쓸 수 있습니까?

답변 감사합니다 지금 일주일째 작업중입니다


다음과 같이 시도하십시오.

 extern int MA_Period = 50 ;                   //периуд Ма
extern int MA_Method = MODE_SMA ;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                               //*MODE_SMA 
                              
 extern int Maximum_History = 0 ;               //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
     double MA4;                                 // Значение МА на 4 баре     
     double Startprice;
  
   MA4= iMA ( NULL , 0 ,MA_Period, 0 ,MA_Method, PRICE_CLOSE , 4 ); 
 
   
 if   (Low[ 4 ]< MA4 && MA4 < High[ 4 ])             //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[ 0 ];
     }
       
   Print (DoubleToStr(Startprice, 5 ));           // распечатаем Startprice
     
      
   datetime TmR1=Time[ 0 ];                       // запоминаем время текущего бара? 
   
       ObjectCreate ( "Rep1" +TmR1, OBJ_ARROW , 0 , TmR1, Startprice); // создаем обьект 
       ObjectSet( "Rep1" , OBJPROP_COLOR , White); // устанавливаем обьект на график
       ObjectSet( "Rep1" , OBJPROP_ARROWCODE , 71 ); 
      
     return ( 0 ); 
 }    
 
supernyb :

그리고 출력의 경우 인쇄물이 항상 4-re 만 표시하고 부호보다 작음을 이해합니다.

그런 다음 인쇄(DoubleToStr(Startprice,5)); // 시작 가격 인쇄

그것은 5를 제공합니다.

그러나 여기에 막대 시간을 추가하는 방법이 있습니다.

이 줄은 막대 시간을 추가하지 않습니까?


 
Roger :
당신이 어떻게 bay_min을 얻었는지 보여주세요.


 if (StochM < St_min && StochS < St_min) 
   bay_min = true ;
 
r772ra :
 if (bay_min == true )   datetime T=Time[ 0 ] //сработал сигнал на покупку запоминаем время  бара

if (iBarShift( NULL , 0 ,T)== 2 ) //по времени, сигнал был на 2 баре
   {   
   if (Open[ 1 ]<Close[ 1 ] && Open[ 2 ]<Close[ 2 ] )   //и эти бары бычьи 
     { 
     // что-то делаем
     }
   }
   
// я думаю, как-то так.

고마워, 논리는 분명하지만 그는 거래를 시작하는 것을 전혀 멈췄다
проблема в этой строчке
if (iBarShift( NULL , 0 ,T)== 2 ) //по времени, сигнал был на 2 баре
 
말해 주세요. 내 ZigZag 표시기가 다시 그려지고 있습니다. 차트에 특정 개체를 그립니다. 가격이 변경되어 개체를 삭제해야 하는 경우 개체는 삭제되지만 차트의 버퍼 값은 남아 있습니다. 차트뿐만 아니라 이전 값도 삭제되는지 확인하려면 어떻게 해야 하나요? 코드를 작성하거나 지그재그로 구현된 위치를 표시할 수 있다면?
 
Dimka-novitsek :
컴퓨터가 브레이크 없이 엄격하게 주어진 작업을 수행하도록 가르치는 방법은 무엇입니까? 그러면 속도 테스터 레버는 원할 때만 반응합니다! 지연은 종종 3-8초입니다. 나는 모든 나쁜 여자들을 기억합니다!
안녕하세요!
 
Dimka-novitsek :
컴퓨터가 브레이크 없이 엄격하게 주어진 작업을 수행하도록 가르치는 방법은 무엇입니까? 그러면 속도 테스터 레버는 원할 때만 반응합니다! 지연은 종종 3-8초입니다. 나는 모든 나쁜 여자들을 기억합니다!


최선의 선택을 하세요
 



전략 테스트 보고서

서브봇11
(빌드 438)

상징 EURUSD(유로 vs USD)
기간 1시간(H1) 2005.01.24 00:00 - 2012.09.26 23:00 (2005.01.24 - 2012.09.27)
모델 모든 틱(가용 가능한 모든 시간 프레임을 기반으로 한 가장 정확한 방법)
옵션 매개변수=" 조언자"; 로트=1; 로트2=1; Magic_Number=68705; 레벨=120; pr=50; sp=16; MA_Period=50; 최대 기록 = 0;

역사의 바 48438 시뮬레이션된 진드기 62876826 시뮬레이션 품질 90.00%
그래프 불일치 오류 0




초기 보증금 10000.00



순이익 7635.00 총 이윤 41380.00 총 손실 -33745.00
수익성 1.23 우승 기대 16.71

절대 드로다운 2271.00 최대 드로다운 3769.00 (32.78%) 상대적인 하락 32.78% (3769.00)

총 거래 457 숏포지션(%원) 0(0.00%) 롱포지션(%원) 457 (24.29%)

수익성 있는 거래(전체의 %) 111 (24.29%) 거래 손실(전체의 %) 346 (75.71%)
가장 큰 수익성 있는 거래 600.00 무역 손실 -150.00
중간 수익성 있는 거래 372.79 무역 손실 -97.53
최대 금액 연속 우승(이익) 5 (2020.00) 연속 손실(손실) 20 (-2114.00)
최고 연속 이익 (승수) 2098.00 (4) 연속 손실(손실 수) -2114.00 (20)
평균 연속 이득 2 지속적인 손실 5




스스로 고문을 만드는 것으로 밝혀졌습니다. 고정 스프레드로 구동 19. 2005년 이후. 항상 손실을 중지합니다. 항상 가져 가라. 평균화 및 마틴을 사용하지 않습니다. 포지션은 하루 중 마감됩니다. 즉, 다음 날로 이월되지 않습니다.

그러나 그것은 원칙을 반영할 뿐입니다(저의 프로그래머는 가볍게 말해서 무가치하기 때문에.

 
artmedia70 :

나는 며칠 동안 결석했습니다 ... 제 생각에는 차트에 던져진 눈금이 계산에 사용 된 눈금과 동일한 매개 변수를 가지고 있습니까? 개가 그곳을 뒤진 건 아닐까?

물론, 동일합니다. 여기에서 테스트 모드에서 주어진 MA의 속성을 열었습니다.

MA 매개변수

아트미디어70 :

(아직까지 코드를 파헤치고 분해할 시간이 없었습니다.)

예, 모든 것이 매우 간단한 방식으로 작성되어 누구나 즉시 이해할 수 있습니다. :)

아트미디어70 :

나는 다음과 같은 기능을 만들 것입니다 :

//------------------------------------------------ ------------------------------+
이중 ma(int MAperiod, int MAmethod, int MAshift) { return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift));}
//------------------------------------------------ ------------------------------+
매개변수를 얻기 위해 호출했습니다.


저는 이 조사가 아니라 전체 Expert Advisor를 작성할 때 처음부터 그것에 대해 생각했습니다. 하지만. iMA 는 이미 기능입니다. 예를 들어 iMA 함수를 호출할 때 일부는 전역적으로 선언된 변수와 일부는 기본적으로 변수를 사용하여 어쨌든 매개변수가 이 함수로 구동됩니다. 요점은 의미가 없다면 함수에서 함수를 호출하는 요점이 무엇입니까?