[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 613 1...606607608609610611612613614615616617618619620...652 新しいコメント 削除済み 2012.03.05 15:53 #6121 確かにint型 ですが、代入しなくてもすぐに結果が出力されるのでは?ありがとうございます、試してみます。 ガッツリ効いてますね。 削除済み 2012.03.05 16:37 #6122 これが、私が手に入れたものです。もし興味がある方がいれば、ソースコードを掲載します。このスクリプトは、棒グラフによる統計情報を生成します。このチャートの日足バーを分析した。 面白いパターンを発見しました。その割合は、どの期間もほぼ同じです。5%の差があります。1、2、3と続けて強気と弱気の比率で。 noobys 2012.03.05 18:42 #6123 ChAnton: これが、私が手に入れたものです。もし興味がある方がいれば、ソースコードを掲載します。このスクリプトは、棒グラフによる統計情報を生成します。このチャートの日足バーを分析した。 面白いパターンを発見しました。その割合は、どの期間もほぼ同じです。5%の差があります。1、2、3と続けて強気と弱気の比率で。 出してみると、面白いですよ。 削除済み 2012.03.06 03:49 #6124 //+------------------------------------------------------------------+ //| Анализ баров.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //для метатрейдера 4 //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ #property show_inputs extern int Periods = 5; // Период таймсерии extern int Nachalo = 1; // Начало баров откуда начинается анализ extern int Konec = 500; // Конец баров на каком баре заканчивается анализ extern int Bolee = 0; // тело бара больше установленной величины (для расчета от 0 указывать -1) extern int Menee = 50; // тело бара меньше установленной величины extern int Teny = 100; // минимальная величина тени с обоих сторон extern int Otkr = 100; // минимальное отклонение от точки открытия int start() { int i; //счетчик double nul = 0; //количество баров размер тела которых равно нулю double vverh = 0; //Бар вверх бычий double vniz = 0; //Бар вниз медвежий double dvavverh = 0; //Бар вверх 2 подряд double dvavniz = 0; //Бар вниз 2 подряд double trivverh = 0; //Бар вверх 3 подряд double trivniz = 0; //Бар вниз 3 подряд double vibor = 0; //Бар удовлетворяющий условию поиска double Maks =0;//максимальный бар double Mun =10000;//минимальный бар double ten = 0;//тени с обоих сторон превышающие установленную величину double otkrytie = 0; // смещение цены в обе стороны на эту величину с момента открытия бара double L; //вре'менная переменная string S; string Symb; //используемый фин. инструмент - торговая пара Symb=Symbol(); string P; if (Periods == 1) P = "PERIOD_M1"; if (Periods == 2) P = "PERIOD_M5"; if (Periods == 3) P = "PERIOD_M15"; if (Periods == 4) P = "PERIOD_M30"; if (Periods == 5) P = "PERIOD_H1"; if (Periods == 6) P = "PERIOD_H4"; if (Periods == 7) P = "PERIOD_D1"; if (Periods == 8) P = "PERIOD_W1"; if (Periods == 9) P = "PERIOD_MN1"; //---- if ( Konec > iBars( Symb, P) ) { Konec = iBars( Symb, P); } Alert ("___________________________________________________________"); //---- /* iTime("USDCHF",PERIOD_H1,i) iOpen("USDCHF",PERIOD_H1,i) iHigh("USDCHF",PERIOD_H1,i) iLow("USDCHF",PERIOD_H1,i) iClose("USDCHF",PERIOD_H1,i) iVolume("USDCHF",PERIOD_H1,i)); */ for(i=Nachalo;i<=Konec;i++) { if (iOpen(Symb,P,i) == iClose(Symb,P,i)) nul = nul + 1; //количество нулевых баров if (iOpen(Symb,P,i) < iClose(Symb,P,i)) vverh = vverh + 1; //количество бычьих баров if (iOpen(Symb,P,i) > iClose(Symb,P,i)) vniz = vniz + 1; //количество медвежьих баров if (iOpen(Symb,P,i) < iClose(Symb,P,i)) if (iOpen(Symb,P,i+1) < iClose(Symb,P,i+1)) dvavverh = dvavverh + 1; //количество бычьих баров if (iOpen(Symb,P,i) > iClose(Symb,P,i)) if (iOpen(Symb,P,i+1) > iClose(Symb,P,i+1)) dvavniz = dvavniz + 1; //количество медвежьих баров if (iOpen(Symb,P,i) < iClose(Symb,P,i)) if (iOpen(Symb,P,i+1) < iClose(Symb,P,i+1)) if (iOpen(Symb,P,i+2) < iClose(Symb,P,i+2)) trivverh = trivverh + 1; //количество бычьих баров if (iOpen(Symb,P,i) > iClose(Symb,P,i)) if (iOpen(Symb,P,i+1) > iClose(Symb,P,i+1)) if (iOpen(Symb,P,i+2) > iClose(Symb,P,i+2)) trivniz = trivniz + 1; //количество медвежьих баров L = iOpen(Symb,P,i) - iClose(Symb,P,i); if (L < 0) L = L * (-1); if (L < Menee * Point) if (L > Bolee * Point) vibor = vibor + 1; //количество выбранных баров L = L / Point; if (L > Maks) Maks = L; if (L < Mun) Mun = L; if (iOpen(Symb,P,i) < iClose(Symb,P,i)) if (iOpen(Symb,P,i) - iLow(Symb,P,i)> Teny*Point) if (iHigh(Symb,P,i) - iClose(Symb,P,i)> Teny*Point) ten = ten + 1; if (iOpen(Symb,P,i) > iClose(Symb,P,i)) if (iClose(Symb,P,i) - iLow(Symb,P,i)> Teny*Point) if (iHigh(Symb,P,i) - iOpen(Symb,P,i)> Teny*Point) ten = ten + 1; if (iHigh(Symb,P,i) - iOpen(Symb,P,i)> Otkr*Point) if (iOpen(Symb,P,i) - iLow(Symb,P,i)> Otkr*Point) otkrytie = otkrytie + 1; } Alert ("Максимальный бар = " , Maks , " ----- ","Минимальный бар = " , Mun); Alert ("Бары удовлетворяющие условию по размеру отклонений >",Otkr ," пунктов = " , otkrytie, " --- ", otkrytie/(Konec/100), " % " ); Alert ("Бары удовлетворяющие условию по размеру теней >",Teny ," пунктов = " , ten, " --- ", ten/(Konec/100), " % " ); Alert ("Бары удовлетворяющие условию по размеру тела > ",Bolee ," пунктов и < ",Menee ," пунктов = " , vibor, " --- ", vibor/(Konec/100), " % " ); Alert (" ",trivverh/(Konec/100), " % " , " -------------------------- ", trivniz/(Konec/100), " % " ); Alert ("3 быка подряд = " , trivverh, " ----- ","3 медведя подряд = " , trivniz ); Alert (" ",dvavverh/(Konec/100), " % "," ------------------------------ ", dvavniz/(Konec/100), " % " ); Alert ("2 быка подряд = " , dvavverh, " ----- ","2 медведя подряд = " , dvavniz ); Alert (" ",nul/(Konec/100), " % " , " -------------------- ", vverh/(Konec/100), " % ", " ------------------------- ",vniz/(Konec/100) , " % " ); Alert ("нулевые бары = " , nul, " ----- ","бычьи бары = " , vverh, " ----- ","медвежьи бары = " , vniz ); Alert ("Общее количество баров на графике ",P," : ",iBars( Symb, P)); Alert ("Количество анализируемых баров = " , Konec); return(0); } //+------------------------------------------------------------------+ 未解決の問題がある。パーセンテージが正確でない+-0.5%なぜまだ理解できないのか。また、分析では、スクリプトの 設定で指定された期間ではなく、チャート上で設定された期間が使用されます。 Jok 2012.03.06 05:13 #6125 いくつかのEAをダウンロードして良い結果が出ていますが、Strategy Testerで試したところ、結果がかなり悪くなっています。 DOCTORGAD 2012.03.06 05:17 #6126 自作のインジケータがありますが、ダブりました、値を取得したいのは day_maxと day_min、抜き方を教えてください。iCustomではわかるのですが、方法がわかりません(このインジケータはowlに入れるのが非常に難しいため:(・・・私にとっては)) property copyright "DOC" #property link "none" #property indicator_chart_window #property indicator_buffers 5 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 Green //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double ExtMapBuffer5[]; double day_max; double day_min; ali007 2012.03.06 08:37 #6127 こんにちは、この金融商品で注文が開いているかどうかを確認する方法を教えてください) Vladyslav Goshkov 2012.03.06 08:45 #6128 Ali007: (このシンボルで注文が開始されているかどうかを確認する方法を教えてください)) ここにヒントがあります。 すべての未決済注文をループして、注文記号を調べます。それが興味深いものであれば、カウンターを増やし、あるいは次に必要なものに応じて「true」を返すのです。すべての注文を調べ、必要なシンボルが見つからなかった場合、「false」を返すか、注文 数を判断する必要がある場合は、「0」を返します。 Alexey Subbotin 2012.03.06 08:48 #6129 Ali007: こんにちは、この金融商品で注文が開いているかどうかを確認する方法を教えてください) bool got_order=false; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) if(OrderSymbol()==Symbol()) if(OrderType()==OP_BUY||OrderType()==OP_SELL) { got_order=true;break; } } ali007 2012.03.06 08:52 #6130 VladislavVG:ここにヒントがあります。すべての未決済注文をループして、注文記号を調べます。それが興味深いものであれば、カウンターを増やし、あるいは次に必要なものに応じて「true」を返すのです。すべての注文を循環させ、必要なシンボルが見つからなかった場合、「false」、または注文数を決定したい場合はゼロを返します。 ありがとうございました。 すべての未決済注文を調べるにはどうしたらよいですか? どのような関数を使用すればよいですか?OrderSelect? 1...606607608609610611612613614615616617618619620...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
確かにint型 ですが、代入しなくてもすぐに結果が出力されるのでは?ありがとうございます、試してみます。
ガッツリ効いてますね。
これが、私が手に入れたものです。もし興味がある方がいれば、ソースコードを掲載します。このスクリプトは、棒グラフによる統計情報を生成します。このチャートの日足バーを分析した。
面白いパターンを発見しました。その割合は、どの期間もほぼ同じです。5%の差があります。1、2、3と続けて強気と弱気の比率で。
これが、私が手に入れたものです。もし興味がある方がいれば、ソースコードを掲載します。このスクリプトは、棒グラフによる統計情報を生成します。このチャートの日足バーを分析した。
面白いパターンを発見しました。その割合は、どの期間もほぼ同じです。5%の差があります。1、2、3と続けて強気と弱気の比率で。
出してみると、面白いですよ。
自作のインジケータがありますが、ダブりました、値を取得したいのは
day_maxと day_min、抜き方を教えてください。iCustomではわかるのですが、方法がわかりません(このインジケータはowlに入れるのが非常に難しいため:(・・・私にとっては))
property copyright "DOC"
#property link "none"
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;
(このシンボルで注文が開始されているかどうかを確認する方法を教えてください))
ここにヒントがあります。
すべての未決済注文をループして、注文記号を調べます。それが興味深いものであれば、カウンターを増やし、あるいは次に必要なものに応じて「true」を返すのです。すべての注文を調べ、必要なシンボルが見つからなかった場合、「false」を返すか、注文 数を判断する必要がある場合は、「0」を返します。
こんにちは、この金融商品で注文が開いているかどうかを確認する方法を教えてください)
ここにヒントがあります。
すべての未決済注文をループして、注文記号を調べます。それが興味深いものであれば、カウンターを増やし、あるいは次に必要なものに応じて「true」を返すのです。すべての注文を循環させ、必要なシンボルが見つからなかった場合、「false」、または注文数を決定したい場合はゼロを返します。
すべての未決済注文を調べるにはどうしたらよいですか? どのような関数を使用すればよいですか?OrderSelect?