포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 621

 
YuraZ :



감사해요!!!!!!!!!!!!

무례하다고 생각하지 않는다면 ..... :)) 테스터를 올바르게 시작하는 방법을 알려주십시오. 하려고 하기 때문에 작동하지 않습니다.

#import   "shell32.dll"
     int ShellExecuteA( int hwnd, string Operation, string File, string Parameters, string Directory, int ShowCmd); 
#import

int Start;

int start()
   {
    //---------------------------------- Запустим Тестер -------------------------
    //Start   = ShellExecuteA(0, "Open", "terminal.exe", FileOptim, PuthTester_h, 3);
    //Start   = ShellExecuteA(0, "Open", "terminal.exe", "optimise.ini", "D:\Alpari_Terminal_Tester\tester", 3);

     return ( 0 );
   }
 
Leo59 :

감사해요!!!!!!!!!!!!

무례하다고 생각하지 않는다면 ..... :)) 테스터를 올바르게 시작하는 방법을 알려주십시오. 하려고 하기 때문에 작동하지 않습니다.

자기최적화 하기로 결정! ? kull... 이것은 멋진 주제입니다

내가 1번을 좋아하는 2가지 방법이 있다

1) 동일한 터미널에서 EA 자체에서 최적화 실행

2) 별도의 터미널 설정 - 터미널을 시작한 다음 완료되면 최적화 결과 를 읽습니다.


당신은 두 번째 방법을 시도하고 있습니다 - 그것은 더 성가신


시작하다, 교체하다

 ShellExecuteA  на ShellExecuteW
 
YuraZ :

자기최적화 하기로 결정! ? kull... 이것은 멋진 주제입니다

내가 첫 번째를 좋아하는 두 가지 방법이 있습니다

1) 동일한 터미널에서 EA 자체에서 최적화 실행

2) 별도의 터미널 설정 - 터미널을 시작한 다음 완료되면 최적화 결과를 읽습니다.


당신은 두 번째 방법을 시도하고 있습니다 - 그것은 더 성가신


시작하다, 교체하다



감사해요!!!!!!!!
당신이 맞습니다 :)) 궁극적으로 - 자기 최적화.


1) 동일한 터미널에서 EA 자체에서 최적화 실행

나는 현재 가상 거래의 결과를 기반으로합니다

2) 별도의 터미널 설정 - 터미널을 시작한 다음 완료되면 최적화 결과 를 읽습니다.

가을에 저는 XEON의 auto_optimization을 파헤쳤습니다. TestCommander는 상업용 "블랙박스"입니다. 옵션 1)에서 작동하지 않는 기능을 어떻게든 구현하기 위해 직접 하기로 결정했습니다.

 
pu6ka :

이 표시기를 M1에 던지면 새 막대가 나타나고 왼쪽의 악어 선이 "덮어쓰기"됩니다. 이것이 필요합니까?



문제를 해결했습니다.

 #property copyright "forexman77@list.ru"
#property link       "forexman77@list.ru"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
extern int p  = 10 ;
double val_plus[];
double val_minus[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   SetIndexStyle( 1 , DRAW_LINE );
   SetIndexBuffer ( 1 ,ExtMapBuffer2);
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    indicator_plus,indicator_minus;
   if (counted_bars> 0 )
      counted_bars--;
   limit= Bars -counted_bars;
   for ( int i= 0 ;i<limit;i++)
   { 
     indicator_plus= 0 ;
     indicator_minus= 0 ;
     ArrayInitialize (val_plus, 0 );
     ArrayInitialize (val_minus, 0 );
   for ( int k=p;k>= 0 ;k--)
     {
     ArrayResize (val_plus,p);
     ArrayResize (val_minus,p);
     if ( iMA ( NULL , PERIOD_CURRENT , 21 , 0 , MODE_EMA , PRICE_CLOSE ,i+k)> iMA ( NULL , PERIOD_CURRENT , 21 , 0 , MODE_EMA , PRICE_CLOSE ,i+k+ 1 ))val_plus[k]= 1 ;
     if ( iMA ( NULL , PERIOD_CURRENT , 21 , 0 , MODE_EMA , PRICE_CLOSE ,i+k+ 1 )> iMA ( NULL , PERIOD_CURRENT , 21 , 0 , MODE_EMA , PRICE_CLOSE ,i+k))val_minus[k]= 1 ;

     if (val_plus[k] > 0 ){indicator_plus=indicator_plus+val_plus[k];}
     if (val_minus[k] > 0 ){indicator_minus=indicator_minus+val_minus[k];}
     }
          ExtMapBuffer1[i]=indicator_plus;
          ExtMapBuffer2[i]=indicator_minus;
   }

   return ( 0 );
  }
 
파일을 한 곳에서 다른 곳으로 복사 하는 간단한 스크립트 코드를 작성해 보세요. 누구나 할 수 있습니까?

또는 다른 터미널에서 테스터를 실행하는 것은 무엇입니까?

여기, 나는 여전히 할 수 없습니다. 그리고 너?

 
Leo59 :
한 위치에서 다른 위치로 파일을 복사하는 간단한 스크립트 코드를 작성하십시오. 누구나 할 수 있습니까?

또는 다른 터미널에서 테스터를 실행하는 것은 무엇입니까?

여기, 나는 여전히 할 수 없습니다. 그리고 너?


그리고 할 필요가 없기 때문에 할 수 없습니다! 내가 필요한 것, 나는 내 논리를 바꾸지 않기 위해 스스로하는 법을 배웁니다!

게다가, 그는 그것을 스스로했습니다. 당신이 뭔가를 수정해야한다면 문제가 없습니다!

당신이 배우지 않을 것이며 궁극적으로 더 많은 시간을 헛되이 낭비하지 않을 팁-선물과 함께 기본 "재료"에서 배우십시오!

행운을 빕니다! :)

 
borilunad :


그리고 할 필요가 없기 때문에 할 수 없습니다! 내가 필요한 것, 나는 내 논리를 바꾸지 않기 위해 스스로하는 법을 배웁니다!

게다가, 그는 그것을 스스로했습니다. 당신이 뭔가를 수정해야한다면 문제가 없습니다!

당신이 배우지 않을 것이며 궁극적으로 더 많은 시간을 헛되이 낭비하지 않을 팁-선물과 함께 기본 "재료"에서 배우십시오!

행운을 빕니다! :)

"다른 사람의 빵에 입을 열지 말라"는 말이 맞습니다.

놀라운 도시 바르셀로나! 잔디를 깎은 녹색 잔디 사이에 놓인 트램 트랙만으로도 가치가 있습니다! 이제야 스페인의 여성들은 우리의 상트페테르부르크 여성과 달리 얼굴이 작고 뚱뚱합니다.
:)) 숙취에서 어떤 종류의 넌센스를 쓸 수 없습니다. 이것은 나 자신에 관한 것입니다.

모든 것이 "묶음"에 있으며 다른 사람들과 마찬가지로 귀하에게도 성공이 있습니다!

 
Leo59 :

"다른 사람의 빵에 입을 열지 말라"는 말이 맞습니다.

놀라운 도시 바르셀로나! 잔디를 깎은 녹색 잔디 사이에 놓인 트램 트랙만으로도 가치가 있습니다! 이제야 스페인의 여성들은 우리의 상트페테르부르크 여성과 달리 얼굴이 작고 뚱뚱합니다.
:)) 숙취에서 어떤 종류의 넌센스를 쓸 수 없습니다. 이것은 나 자신에 관한 것입니다.

모든 것이 "묶음"에 있으며 다른 사람들과 마찬가지로 귀하에게도 성공이 있습니다!


나는 "덩어리"에 대해 말하는 것이 아니라 "낭비한 세월 동안 극심한 고통을 겪지 않을" 보다 생산적인 공부 방법에 대해 이야기하고 있습니다!

그러나 각자에게! :(

 
artmedia70 :

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

전송된 변수에 기호와 마법을 도입했습니다. 당신은 그들에 대한 수표가 없습니다.




고맙습니다! 월요일에 해봐야겠습니다. 그러나 그 질문은 여전히 나에게 명확하지 않습니다. 주문을 마감하고 싶은데 오류가 발생하는 이유는 무엇입니까? 그건 그렇고, 이전 테스터에서 동일한 코드를 시도해야 합니다. 새로운 테스터는 세부적으로 많은 변화가 있습니다. 최종 결과가 어떻게 될지 항상 확신할 수 없습니다.
 
001 :


고맙습니다! 월요일에 해봐야겠습니다. 그러나 그 질문은 여전히 나에게 명확하지 않습니다. 주문을 마감하고 싶은데 오류가 발생하는 이유는 무엇입니까? 그건 그렇고, 이전 테스터에서 동일한 코드를 시도해야 합니다. 새로운 테스터는 세부적으로 많은 변화가 있습니다. 최종 결과가 어떻게 될지 항상 확신할 수 없습니다.

기억이 안나네요... 모든 Sell을 닫아야 한다면 함수에서 돌아올 필요가 없습니다. 거기에서 나는 깨어 있었다. 모두 닫으려면 다음과 같이 하십시오.

 //+------------------------------------------------------------------+
void CheckForLongetivityClose_Sell( int symbol, int magic) {
   if (DayOfWeek()== 0 || DayOfWeek()== 6 ) return ;
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) {
       if ( OrderSelect (i,SELECT_BY_POS)) {
         if (OrderMagicNumber()!=magic) continue ;
         if (OrderSymbol()!=symbol)     continue ;
         if (OrderType()!=OP_SELL)       continue ;
         datetime openTime_S= OrderOpenTime();
         int timeDistance_S = TimeCurrent ()-openTime_S;
         if (timeDistance_S> 60 *BarrierMinute_S) {
            bool res = OrderClose(OrderTicket(),OrderLots(),Ask, 3 , clrRed );
            }
         }
      }
}
//+------------------------------------------------------------------+

물론 일반적으로 이 라인 대신

 bool res = OrderClose(OrderTicket(),OrderLots(),Ask, 3 , clrRed );

서버 반환 코드를 처리하는 닫는 위치에 대한 일반 함수를 호출해야 합니다.