初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 356 1...349350351352353354355356357358359360361362363...1503 新しいコメント Aleksandr Teleguz 2015.05.01 16:39 #3551 Karputov Vladimir: Высылайте.送信 Aleksandr Teleguz 2015.05.01 17:21 #3552 Karputov Vladimir: 送ってください。 また、入力パラメータを 変更した場合にも、エラーなく正しく動作することを付け加えておきます。 Aleksandr Teleguz 2015.05.01 18:20 #3553 カルプトフ・ウラジーミルの 協力のもと。OnInit()関数でインジケータハンドルを取得し、OnDeinit()でそれを削除することで解決しました。ヒストリー全体ではなく、特定のバーから線を引くようにしていただけないでしょうか。 valeravilks 2015.05.01 21:08 #3554 こんにちは。そんな悩みを抱えています。MQLの勉強を始め、EAを書いているところです。Expert Advisor をコンパイルして実行すると、1時間足の EUR チャートが開きますが、どのチャートを開くかは指定してません。ユーロドルの開放を5分と規定しました。最初は1時間、次に5分とユーロドルを開けていきます。時間チャートを削除するにはどうすればよいですか?Expert Advisorのコードはこちらです。事前にアドバイスをいただき、ありがとうございました。//+------------------------------------------------------------------+//|а.mq4|(エムキューブ//|ヴァレリー・ウィルクス//|httpsを使用しています。//wwwmql5.com|コメント||電子書籍ストア「BookLive!//+------------------------------------------------------------------+#property copyright"ヴァレリー・ウィルクス"#プロパティリンク "https://www.mql5.com"#property version "1.00"#プロパティの厳密さ double iAlligator()。 bool ObjectSetInteger() を使用します。 long a=ChartOpen("EURUSD",PERIOD_M5)。//+------------------------------------------------------------------+//| エキスパート初期化機能|//+------------------------------------------------------------------+ int OnInit(){//--- タイマーを作成する EventSetTimer(5)です。//--- return(INIT_SUCCEEDED);}//+------------------------------------------------------------------+//| 専門家による初期化機能|//+------------------------------------------------------------------+ void OnDeinit(const int reason){//--- タイマーを破壊する EventKillTimer()。}//+------------------------------------------------------------------+//| エキスパートティック機能|//+------------------------------------------------------------------+ void OnTick(){ for(int f=3;; f++) { double val=iFractals("EURUSD",15,1,f); if(val!=0) { Alert("Buy Fractal",val, "Bar Left",f); が壊れる。}} for(int f1=3;; f1++) { double val1=iFractals("EURUSD",15,2,f1)。 if(val1!=0) { Alert("Fractal to sell ",val1, "Bar left",f1); が壊れる。} アラート(Bid)。}}//+------------------------------------------------------------------+//| タイマー機能|//+------------------------------------------------------------------+ void OnTimer(){}//+------------------------------------------------------------------+//|テスター機能|//+------------------------------------------------------------------+ double OnTester(){//--- double ret=0.0;//---//--- return(ret)です。}//+------------------------------------------------------------------+ Автоматический трейдинг и тестирование торговых стратегий www.mql5.com MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций Questions from Beginners MQL5 MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 エラー、バグ、質問 Vitalii Ananev 2015.05.02 04:31 #3555 valeravilks:こんにちは。そんな悩みを抱えています。MQLの勉強を始め、Expert Advisorを執筆しているところです。Expert Advisor をコンパイルして実行すると、EURUSD の時間足チャートが開きますが、どのチャートを開くかはまだ指定されていません。ユーロドルの開放を5分と規定しました。最初は1時間、次に5分とユーロドルを開けていきます。時間チャートを削除するにはどうすればよいですか?Expert Advisorのコードはこちらです。事前に情報をありがとうございました。デバッグを有効にしているはずなのに、EAがデフォルトのシンボルで起動する。メタエディタの設定で、必要なシンボルとTFを指定します。(添付写真参照)。 ファイル: kagfqct9ki.png 28 kb 削除済み 2015.05.03 14:53 #3556 こんにちは。int maxValueIdx= ArraySort(INDEX,WHOLE_ARRAY,ArrayMaximum(INDEX,WHOLE_ARRAY,0),MODE_ASCEND); int minValueIdx=ArraySort(INDEX,WHOLE_ARRAY,ArrayMinimum(INDEX,WHOLE_ARRAY,0),MODE_DESCEND); どういう意味だと思いますか? Vladimir Karputov 2015.05.03 15:04 #3557 azfaraon:こんにちは。どういう意味だと思いますか? これはMQL4のコードです。まず、配列の最大値を探し、配列全体を0要素から順にチェックします。そして,見つかった最大インデックスから順に配列がソート されます(最初の例では昇順,2番目では降順). 削除済み 2015.05.03 15:13 #3558 つまり、この作品では、最大値から最小値までの最大値と最小値を探しているのですね?そして、この中で int maxValueIdx=ArrayMaximum(INDEX,WHOLE_ARRAY,0); int minValueIdx=ArrayMinimum(INDEX,WHOLE_ARRAY,0);は、最小から最大まで? Vladimir Karputov 2015.05.03 15:31 #3559 azfaraon: このコードint maxValueIdx=ArrayMaximum(INDEX,WHOLE_ARRAY,0);は,最大値を持つ要素のインデックスを検索する。検索は要素0から始まり、配列全体を通して行われます。 Vladimir Karputov 2015.05.03 16:22 #3560 azfaraon:以下はそのコードです。//+------------------------------------------------------------------+ //| test_script.mq4 | //| Copyright 2015, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Инициализация массива int INDEX[]={2,45,21,8,96,14,32,6,81,46,1,3,31,22,5,78,24,25,66}; //--- Выведем на печать наш массив int size; string text; size=ArraySize(INDEX); // размер нашего массива text=NULL; for(int i=0;i<size;i++) { if(i<size-1) text=text+IntegerToString(INDEX[i])+","; else text=text+IntegerToString(INDEX[i]); } Print("Старт"); Print(text); //--- Print("---"); Print("Элемент с индексом ",ArrayMaximum(INDEX,WHOLE_ARRAY,0), " имеет максимальное значение равное ",INDEX[ArrayMaximum(INDEX,WHOLE_ARRAY,0)]); int maxValueIdx=ArraySort(INDEX,WHOLE_ARRAY,ArrayMaximum(INDEX,WHOLE_ARRAY,0),MODE_ASCEND); //--- Выведем на печать наш массив size=ArraySize(INDEX); // размер нашего массива text=NULL; for(int i=0;i<size;i++) { if(i<size-1) text=text+IntegerToString(INDEX[i])+","; else text=text+IntegerToString(INDEX[i]); } Print(text); //--- Print("---"); Print("Элемент с индексом ",ArrayMinimum(INDEX,WHOLE_ARRAY,0), " имеет минимальное значение равное ",INDEX[ArrayMinimum(INDEX,WHOLE_ARRAY,0)]); int minValueIdx=ArraySort(INDEX,WHOLE_ARRAY,ArrayMinimum(INDEX,WHOLE_ARRAY,0),MODE_DESCEND); //--- Выведем на печать наш массив size=ArraySize(INDEX); // размер нашего массива text=NULL; for(int i=0;i<size;i++) { if(i<size-1) text=text+IntegerToString(INDEX[i])+","; else text=text+IntegerToString(INDEX[i]); } Print(text); Print("Конец"); } //+------------------------------------------------------------------+ で、その結果がこれです。2015.05.03 19:20:03.917 test_script #CHL,Daily: Старт 2015.05.03 19:20:03.917 test_script #CHL,Daily: 2,45,21,8,96,14,32,6,81,46,1,3,31,22,5,78,24,25,66 2015.05.03 19:20:03.917 test_script #CHL,Daily: --- 2015.05.03 19:20:03.917 test_script #CHL,Daily: Элемент с индексом 4 имеет максимальное значение равное 96 2015.05.03 19:20:03.917 test_script #CHL,Daily: 2,45,21,8,1,3,5,6,14,22,24,25,31,32,46,66,78,81,96 2015.05.03 19:20:03.917 test_script #CHL,Daily: --- 2015.05.03 19:20:03.917 test_script #CHL,Daily: Элемент с индексом 4 имеет минимальное значение равное 1 2015.05.03 19:20:03.917 test_script #CHL,Daily: 2,45,21,8,96,81,78,66,46,32,31,25,24,22,14,6,5,3,1 2015.05.03 19:20:03.917 test_script #CHL,Daily: Конец探検してください。 1...349350351352353354355356357358359360361362363...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Karputov Vladimir:
Высылайте.
送信
送ってください。
カルプトフ・ウラジーミルの 協力のもと。OnInit()関数でインジケータハンドルを取得し、OnDeinit()でそれを削除することで解決しました。
ヒストリー全体ではなく、特定のバーから線を引くようにしていただけないでしょうか。
こんにちは。そんな悩みを抱えています。MQLの勉強を始め、EAを書いているところです。Expert Advisor をコンパイルして実行すると、1時間足の EUR チャートが開きますが、どのチャートを開くかは指定してません。ユーロドルの開放を5分と規定しました。最初は1時間、次に5分とユーロドルを開けていきます。時間チャートを削除するにはどうすればよいですか?Expert Advisorのコードはこちらです。事前にアドバイスをいただき、ありがとうございました。
//+------------------------------------------------------------------+
//|а.mq4|(エムキューブ
//|ヴァレリー・ウィルクス
//|httpsを使用しています。//wwwmql5.com|コメント||電子書籍ストア「BookLive!
//+------------------------------------------------------------------+
#property copyright"ヴァレリー・ウィルクス"
#プロパティリンク "https://www.mql5.com"
#property version "1.00"
#プロパティの厳密さ
double iAlligator()。
bool ObjectSetInteger() を使用します。
long a=ChartOpen("EURUSD",PERIOD_M5)。
//+------------------------------------------------------------------+
//| エキスパート初期化機能|
//+------------------------------------------------------------------+
int OnInit()
{
//--- タイマーを作成する
EventSetTimer(5)です。
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| 専門家による初期化機能|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- タイマーを破壊する
EventKillTimer()。
}
//+------------------------------------------------------------------+
//| エキスパートティック機能|
//+------------------------------------------------------------------+
void OnTick()
{
for(int f=3;; f++)
{
double val=iFractals("EURUSD",15,1,f);
if(val!=0)
{
Alert("Buy Fractal",val, "Bar Left",f);
が壊れる。
}
}
for(int f1=3;; f1++)
{
double val1=iFractals("EURUSD",15,2,f1)。
if(val1!=0)
{
Alert("Fractal to sell ",val1, "Bar left",f1);
が壊れる。
}
アラート(Bid)。
}
}
//+------------------------------------------------------------------+
//| タイマー機能|
//+------------------------------------------------------------------+
void OnTimer()
{
}
//+------------------------------------------------------------------+
//|テスター機能|
//+------------------------------------------------------------------+
double OnTester()
{
//---
double ret=0.0;
//---
//---
return(ret)です。
}
//+------------------------------------------------------------------+
こんにちは。そんな悩みを抱えています。MQLの勉強を始め、Expert Advisorを執筆しているところです。Expert Advisor をコンパイルして実行すると、EURUSD の時間足チャートが開きますが、どのチャートを開くかはまだ指定されていません。ユーロドルの開放を5分と規定しました。最初は1時間、次に5分とユーロドルを開けていきます。時間チャートを削除するにはどうすればよいですか?Expert Advisorのコードはこちらです。事前に情報をありがとうございました。
デバッグを有効にしているはずなのに、EAがデフォルトのシンボルで起動する。メタエディタの設定で、必要なシンボルとTFを指定します。(添付写真参照)。
つまり、この作品では、最大値から最小値までの最大値と最小値を探しているのですね?
そして、この中で
は、最小から最大まで?
このコード
は,最大値を持つ要素のインデックスを検索する。検索は要素0から始まり、配列全体を通して行われます。
以下はそのコードです。
で、その結果がこれです。
探検してください。