MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1643

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

では、その人物は誰なのか?彼はあなたの友人ですか?紹介する

言ったでしょ、ユーザーレベルで!!!!

ユーザーレベルであった。

expirationは、保留中の注文の有効 期限です。

でも、あなたには似合わない。

あるオーダーを「EAのケアから外す」ことは、ケアがマジシャンに行くので不可能であり、変更することはできないのです。

別のオーダーコントロールでEAを書き直さなければならない...。

 
MakarFX #:

これはユーザーレベルでの話です

保留中の注文の有効 期限。

しかし、これではうまくいきません。

一つの注文を「EAのコントロールから外す」ことはできません。コントロールはウィザードに基づいており、それを変更することはできないからです。

別のオーダーコントロールでEAを書き直さなければならない。

長生きしてください。

 
MakarFX #:

これはユーザーレベルでの話です

保留中の注文の有効 期限。

しかし、これではうまくいきません。

一つの注文を「EAのコントロールから外す」ことはできません。コントロールはウィザードに基づいており、それを変更することはできないからです。

別のオーダーコントロールでEAを書き直さなければならない ...

マカーは自分を引き裂くことはありません

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

なんてことだ!ユーザーレベルを聞いたのに、EAを一通り見て、"あなたは?"と指導するような口調で聞くんです。私はそこに入りたくないんです。私はゲームが好きなのであって、玩具の内部を解明するのが好きなのではありません。

Magikが0でない場合は、ポジションを閉じてから再エントリーしてください。

 
MakarFX #:

これはユーザーレベルでの話です

保留中の注文の有効 期限。

しかし、これではうまくいきません。

一つの注文を「EAのコントロールから外す」ことはできません。コントロールはウィザードに基づいており、それを変更することはできないからです。

EAを別の命令制御で書き直さなければならない

同じウィザードでも制御下に置いておくことができ、問題はどのような順番で必要なのか、それがリストに固有であればできないことです。

 
for (int i=0;i<OrdersTotal()-2;i++) последних 2 видеть не будет даже с тем же магиком только что ему нужно до путя так и не понятно 
 
Aleksandr Egorov #:
コードを直さず、ユーザーとして必要なのだと
 
ホットキーを設定して、「input box」オブジェクトをアクティブにして、そこにテキストを入力できるようにする方法はありますか?例えば、先物取引のロットサイズなど。
 
MakarFX #:
コードを直さず、ユーザーとして必要なのだと

となると、全然ダメですね(笑)。

 

こんにちは。ヒントを教えてください MT5

私が作るもの:タイマーでスクリーンショットを撮り、フォルダに入れるインジケータ(シンボルピリオド)。

意図したアルゴリズム:初期化時にスクリーンショットが作成される。ファイル操作には時間がかかるため、タイマーは最初に作成したスクリーンショットを移動して新たに作成します。

初期化時に作成したスクリーンショットをタイマーで移動させることに成功しました。

問題:
1 フォルダー内のタイマーで撮影した最初のスクリーンショットがすぐに表示されない。端末を閉じた とき、またはインジケータを再起動したときのみ表示されます。
フォルダには表示されているのですが、最初の1枚を除く2枚のスクリーンショットがエラー5019(ファイルが存在しない)で動きません(最初の1枚はタイマーで作成したもの)。


#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";
}