MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1643

 
Анатолий Железняк # :

그런 다음 질문은 만료됩니다. 당신의 친구입니까? 소개하다.

나는 사용자 수준에서 물었다.!!!

이것은 사용자 수준이었습니다.

만료 - 보류 중인 주문 만료 시간입니다.

그러나 그것은 당신에게 어울리지 않습니다.

"상담원의 보호에서" 하나의 주문을 철회하는 것은 불가능합니다. 수호는 마법에 따라 진행되지만 변경할 수 없습니다.

다른 주문 컨트롤로 어드바이저를 다시 작성해야 합니다...

 
MakarFX # :

이것은 사용자 수준이었습니다.

만료 - 보류 중인 주문 만료 시간입니다.

그러나 그것은 당신에게 어울리지 않습니다.

"상담원의 보호에서" 하나의 주문을 철회하는 것은 불가능합니다. 수호는 마법에 따라 진행되지만 변경할 수 없습니다.

다른 주문 컨트롤로 어드바이저를 다시 작성해야 합니다...

오래 사세요.

 
MakarFX # :

이것은 사용자 수준이었습니다.

만료 - 보류 중인 주문 만료 시간입니다.

그러나 그것은 당신에게 어울리지 않습니다.

"상담원의 보호에서" 하나의 주문을 철회하는 것은 불가능합니다. 수호는 마법에 따라 진행되지만 변경할 수 없습니다.

다른 주문 컨트롤로 어드바이저를 다시 작성해야 합니다...

Makar 자신을 찢지 마십시오

 
Анатолий Железняк # :

맙소사! 나는 물었다: 사용자 수준에서, 당신은 나에게 전체 고문을 삽질하고 멘토의 어조로 "당신은 어떤 종류가 있습니까?"라고 묻습니다. 나는 거기에 들어가고 싶지 않아. 나는 장난감의 내부를 이해하지 않고 노는 것을 좋아합니다.

Magic이 0이 아니면 포지션을 닫고 재진입합니다.

 
MakarFX # :

이것은 사용자 수준이었습니다.

만료 - 보류 중인 주문 만료 시간입니다.

그러나 그것은 당신에게 어울리지 않습니다.

"상담원의 보호에서" 하나의 주문을 철회하는 것은 불가능합니다. 수호는 마법에 따라 진행되지만 변경할 수 없습니다.

다른 주문 컨트롤로 어드바이저를 다시 작성해야 합니다...

같은 마술사라도 통제 불능 상태가 될 수 있습니다. 문제는 어떤 종류의 순서가 필요한지, 어떤 순서가 마음에 들면 목록에 따라 정의되어 있으면 작동하지 않습니다. 그러면 할 수 있습니다.

 
for (int i=0;i<OrdersTotal()-2;i++) последних 2 видеть не будет даже с тем же магиком только что ему нужно до путя так и не понятно 
 
Aleksandr Egorov # :
그는 코드를 수정하지 않고 사용자로서 그것을 필요로 합니다.
 
거기에 텍스트를 입력하기 위해 " 입력 필드 " 그래픽 개체가 활성화되는 핫키를 바인딩하는 방법이 있습니까? 예를 들어, 미래 거래를 위한 로트 크기.
 
MakarFX # :
그는 코드를 수정하지 않고 사용자로서 그것을 필요로 합니다.

그렇다면 모든 것이 정말 나쁩니다))

 

안녕하세요. 말해 주세요. MT5

I do: 타이머별로 스크린샷을 찍고 폴더(마침표 기호)로 정렬하는 표시기.

생각한 알고리즘: 초기화하는 동안 스크린샷이 찍힙니다. 파일 작업에는 시간이 걸리기 때문에 타이머가 먼저 찍은 스크린샷을 이동하고 새 스크린샷이 만들어집니다.

타이머에 의한 초기화 과정에서 만들어진 화면이 성공적으로 이동되었습니다.

문제:
1 타이머가 폴더에 만든 첫 화면이 바로 표시되지 않습니다. 터미널을 닫거나 표시기를 다시 시작할 때만 표시됩니다.
2개의 스크린샷은 첫 번째 스크린샷을 제외하고 이동하지 않습니다. 오류 5019(파일이 존재하지 않음)는 폴더에 표시되지만(타이머로 만든 첫 번째 스크린샷 제외).


 #property strict
#property indicator_chart_window
#property indicator_plots 0

enum ENUM_FULL_MANUAL { full, //весь график
            manual, //указанный
            };
input int timer= 5 ; //время на шаг в секундах
input ENUM_FULL_MANUAL skr_mode=full; //размер скриншота   
input int width = 640 ; // ширина 
input int height = 320 ; // высота 
input string format = ".png" ;

ENUM_ALIGN_MODE align_mode= ALIGN_RIGHT ; // тип выравнивания

string name_folder, name_file;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{
Print ( "OnInit()" );

ScreenShot();
         
name_folder= Symbol ()+ "  " +StringPeriod();
FolderCreate (name_folder);


EventSetTimer (timer);


return ( INIT_SUCCEEDED );
}
//===================================================================
void OnDeinit ( const int reason)
{
EventKillTimer ();
Move() ; 
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
             const int prev_calculated,
             const datetime &time[],
             const double &open[],
             const double &high[],
             const double &low[],
             const double &close[],
             const long &tick_volume[],
             const long &volume[],
             const int &spread[])
{
//---

//--- return value of prev_calculated for next call
return (rates_total);
}
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
{
   Print ( "OnTimer() " );
   Move() ; 
   ScreenShot();
} //+------------------------------------------------------------------+
bool Move(){
   string src_path; 
   string dst_path; 
   StringConcatenate (src_path, "" , "//" ,name_file); 
   StringConcatenate (dst_path,name_folder, "//" ,name_file); 
   ResetLastError ();
   if ( FileMove (src_path, 0 ,dst_path, 0 )){
       Print ( "FileMove OK " );
       return true ;
   }   
   else {
       string err_text= "FileMove ERR: " +( string ) GetLastError ();
       if ( GetLastError ()== 5019 ) err_text+=( "  5019 name_file " +name_file);
       Print (err_text);
   }  
   return false ;
}

bool ScreenShot(){   
   name_file= TimeToString ( TimeLocal (), TIME_DATE | TIME_SECONDS )+format;
   StringReplace (name_file, ":" , "-" );
   if (skr_mode==full){
       if ( ChartScreenShot ( 0 , name_file, ( int ) ChartGetInteger ( 0 , CHART_WIDTH_IN_PIXELS , 0 )
      , ( int ) ChartGetInteger ( 0 , CHART_HEIGHT_IN_PIXELS , 0 ), ALIGN_RIGHT )){
         Print ( "screen name_file " , name_file);
         return true ;
      }
       else {
         Print ( "screen ERR: " , GetLastError ());
      }   
   }   
   if (skr_mode==manual){
       if ( ChartScreenShot ( 0 , name_file, width, height, align_mode)){
         return true ;
      }
   }      
   return false ;  
}
string StringPeriod(){
   if ( Period ()== 1 ) return "M1" ;
   if ( Period ()== 2 ) return "M2" ;
   if ( Period ()== 3 ) return "M3" ;
   if ( Period ()== 4 ) return "M4" ;
   if ( Period ()== 5 ) return "M5" ;
   if ( Period ()== 6 ) return "M6" ;
   if ( Period ()== 10 ) return "M10" ;
   if ( Period ()== 12 ) return "M12" ;
   if ( Period ()== 15 ) return "M15" ;
   if ( Period ()== 20 ) return "M20" ;
   if ( Period ()== 30 ) return "M30" ;
   if ( Period ()== 16385 ) return "H1" ;
   if ( Period ()== 16386 ) return "H2" ;
   if ( Period ()== 16387 ) return "H3" ;
   if ( Period ()== 16388 ) return "H4" ;
   if ( Period ()== 16390 ) return "H6" ;
   if ( Period ()== 16392 ) return "H8" ;
   if ( Period ()== 16396 ) return "H12" ;
   if ( Period ()== 16408 ) return "Daily" ;
   if ( Period ()== 32769 ) return "Weekly" ;
   if ( Period ()== 49153 ) return "Monthly" ;
   return "ERROR" ;
}