どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 856 1...849850851852853854855856857858859860861862863...1178 新しいコメント Mikhail Toptunov 2015.03.02 09:54 #8551 //+------------------------------------------------------------------+ //| SSMA.mq4 | //| Copyright 2014, Vinin | //| http://vinin.ucoz.ru | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, Vinin" #property link "http://vinin.ucoz.ru" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 8 #property indicator_plots 1 //--- plot average #property indicator_label1 "average" #property indicator_type1 DRAW_ARROW #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- input parameters extern int CountMA=200; extern int Period_start =1; extern int Period_shift =5; //--- indicator buffers double averageBuffer[]; double maxBuffer[]; double minBuffer[]; double Label1Buffer[]; double scBuf[][2]; double tmparray[],tmparrayF1[]; //double tmparrayD[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { // массив tmparrayF1[] является индикаторным буфером SetIndexBuffer(0,tmparrayF1); PlotIndexSetInteger(0,PLOT_ARROW,159); ArrayResize(tmparray, CountMA+1); // массив для рассчитанных SMA ArrayResize(scBuf, CountMA+1); // массив для значений повторений на цене ArrayResize(tmparrayF1, CountMA+1); // массив для перевода в одномерный массив для отображения на графике //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 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[]) { //--- if (rates_total<Period_start+Period_shift*CountMA+1) return(0); ArrayInitialize(tmparray,0); ArrayInitialize(scBuf,0); int limit=rates_total-prev_calculated; if (limit>1) limit=rates_total-(Period_start+Period_shift*CountMA+1); double min=-99999,max=99999, sum=0; int count, countMA,schet; for (int i=limit;i>=0;i--) { sum=0; count=0; countMA=0; // формируем массив со значения машек for (int j=0;j<Period_start+Period_shift*CountMA;j++) { sum+=(High[i+j]+Low[i+j])*0.5; count++; if (count==Period_start+Period_shift*countMA) { tmparray[countMA]=sum/count; countMA++; } } // Массив создан. Можно обрабатывать } //***** Рассчитать количество повторений SMA, в десятичном интервале. for (int b=0;b<CountMA;b++) { schet=0; for (int a =CountMA;a>=0;a--) { if(NormalizeDouble(tmparray[a],4)==NormalizeDouble(tmparray[b],4)&&tmparray[a]!=0) // 1.30000 = 1.30004 { scBuf[b][0]=schet; // количество повторений МА scBuf[b][1]=tmparray[b]; // Цена tmparray[a]=0; // Обнуляем посчитанную ячейку schet++; } } } ArraySort(scBuf,WHOLE_ARRAY,0,MODE_DESCEND); // Сортируем массив по убыванию for (int x=0;x<CountMA;x++) { tmparrayF1[x]=scBuf[x][1]; //переносим значения цены в одномерный массив, для отображения через индикатор } Print("rates_total = ",rates_total, "tmparray = ",tmparray[0] ,"KolVBuf ", scBuf[0][0],"+",scBuf[0][1] ,"/ ",scBuf[1][0],"+",scBuf[1][1] ,"/ ",scBuf[2][0],"+",scBuf[2][1] ,"/ ",scBuf[3][0],"+",scBuf[3][1] ,"/ ",scBuf[4][0],"+",scBuf[4][1] ,"/ ",scBuf[5][0],"+",scBuf[5][1] ); //--- return value of prev_calculated for next call return(rates_total); }荒らし行為について管理人さんにあらかじめ謝っておきます、同様の質問は別スレッドでhttps://www.mql5.com/ru/forum/154928、!))目的- 移動平均値2,000個の配列を作成します。- SMAを結合してできたシールをクロスでマークすること。その結果、十字架は無秩序に散らばり、そこには何もない状態になってしまうのです。質問です。SMAの集合体の位置と一致しないようにクロスが配置される原因は、SMAの配列の形成にエラーがあることが判明||・・・・? Nikolay Grygoryev 2015.03.02 21:32 #8552 こんにちは。この問題を解決する方法を教えてください。配列を作りたいのですが、例として..........................。とか言って完全にダジャレになっちゃうんだけど、どこが悪いのか教えてください。ありがとうございます。for(int i=1;i<=20;i++) { for(int j=1;j<=20;j++) { for(int q=1;q<=20;q++) { M5gooB[i,j,q]=false; Print("M5gooB ",i," ",j," ",q," false."); } } } Nikolay Grygoryev 2015.03.02 21:34 #8553 あるいは、このようにbool M5gooB[50],M5gooS[50]; for(int i=1;i<=50;i++) { M5gooB[i]=false; }それでもログにカオスな代入構造がプリントされる Victor Nikolaev 2015.03.03 03:26 #8554 laveosa:あるいは、このようにそれでもログにカオスな代入構造がプリントされる もしかしたら、これが役に立つかもしれません。bool M5gooB[50],M5gooS[50]; for(int i=0;i<50;i++) { M5gooB[i]=false; } Mikhail Toptunov 2015.03.03 10:21 #8555 十字(DRAW_ARROW)の代わりに点を設定する方法をご存知の方はいらっしゃいますか?- グローバル変数 にポイントオブジェクトを設定するインジケータがあります。//--- plot average #property indicator_label1 "average" #property indicator_type1 DRAW_ARROW #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 Dina Paches 2015.03.03 12:49 #8556 Top2n:十字(DRAW_ARROW)の代わりに点を設定する方法をご存知の方はいらっしゃいますか?- グローバル変数にドットオブジェクトを入力する方法を示すインジケータがあります。 グローバルでは input uchar arrowsCodes0=159;//Wingdings: >= 33 or <= 255またはuchar arrowsCodes0=159;//Wingdings: >= 33 or <= 255https://docs.mql4.com/ru/constants/objectconstants/wingdingsint OnInit() では、次のようになります。SetIndexArrow(0,arrowsCodes0);// https://docs.mql4.com/ru/customind/setindexarrowこんな感じ。 zed91 2015.03.03 13:09 #8557 なぜ、私の指摘は歴史にしか描かれていないのか?ストラテジーテスターと ウィノチャートウィンドウのみのヒストリーでは、新しいポイントは描画されません。コードdouble sellArrowsBuffer[]; double buyArrowsBuffer[]; double closeArrowsBuffer[]; int jbnbHandle; void OnInit() { .... jbnbHandle = iCustom(_Symbol, _Period, "Projects\\iJBNB"); } int OnCalculate(...) { double cbearsColor[]; double cbears[]; int to_copy; if(prev_calculated > rates_total || prev_calculated <= 0) to_copy = rates_total; else to_copy = rates_total - prev_calculated + 1; if(CopyBuffer(jbnbHandle, 4, 0, to_copy, cbearsColor) != to_copy) return 0; if(CopyBuffer(jbnbHandle, 3, 0, to_copy, cbears) != to_copy) return 0; for(int i = 2; i < to_copy; i++) { if(cbearsColor[i] == 2 && cbearsColor[i - 1] == 1 && cbears[i] > 0.2 ) { sellArrowsBuffer[i] = open[i] - symPoint * 30; } } return rates_total; } Lopator 2015.03.03 13:47 #8558 HLINEをドラッグしているときに、リアルタイムでライン近辺にあるストップ/ステークプロフィットオーダーを 捕捉しないようにする方法を教えてください。シングルクリック取引を無効にしてみたが、効果がない。この効果はStrategy Testerには存在しません。OnChartEventを使いたい(ちなみに、テスター上ではイベントは処理されず、リレー上だけで処理されるそうですね?) 削除済み 2015.03.03 14:05 #8559 こんにちは、チュートリアルは、エキスパートhttps://book.mql4.com/ru/samples/expert の例を示しています。なぜ、同じロウソクで何度も購入・売却をするのか、教えてください。CLOSE. ストップロスを見た Alexey Viktorov 2015.03.03 14:36 #8560 Pyro: HLINEをドラッグする際に、ライン付近にあるストップ/ステークプロフィットオーダーをリアルタイムで捕捉しないようにする方法を教えてください。シングルクリック取引を無効にしてみたが、効果がない。この効果はStrategy Testerには存在しません。OnChartEventを使いたい(ちなみに、テスター上ではイベントは処理されず、リレー上だけで処理されるそうですね?)。 1...849850851852853854855856857858859860861862863...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
荒らし行為について管理人さんにあらかじめ謝っておきます、同様の質問は別スレッドでhttps://www.mql5.com/ru/forum/154928、!))
目的
- 移動平均値2,000個の配列を作成します。
- SMAを結合してできたシールをクロスでマークすること。
その結果、十字架は無秩序に散らばり、そこには何もない状態になってしまうのです。
質問です。
SMAの集合体の位置と一致しないようにクロスが配置される原因は、SMAの配列の形成にエラーがあることが判明||・・・・?
こんにちは。この問題を解決する方法を教えてください。配列を作りたいのですが、例として..........................。とか言って完全にダジャレになっちゃうんだけど、どこが悪いのか教えてください。ありがとうございます。
あるいは、このように
それでもログにカオスな代入構造がプリントされる
あるいは、このように
それでもログにカオスな代入構造がプリントされる
もしかしたら、これが役に立つかもしれません。
十字(DRAW_ARROW)の代わりに点を設定する方法をご存知の方はいらっしゃいますか?
- グローバル変数 にポイントオブジェクトを設定するインジケータがあります。
十字(DRAW_ARROW)の代わりに点を設定する方法をご存知の方はいらっしゃいますか?
- グローバル変数にドットオブジェクトを入力する方法を示すインジケータがあります。
グローバルでは
または
https://docs.mql4.com/ru/constants/objectconstants/wingdings
int OnInit() では、次のようになります。
SetIndexArrow(0,arrowsCodes0);// https://docs.mql4.com/ru/customind/setindexarrow
こんな感じ。
なぜ、私の指摘は歴史にしか描かれていないのか?ストラテジーテスターと ウィノチャートウィンドウのみのヒストリーでは、新しいポイントは描画されません。
コード
こんにちは、チュートリアルは、エキスパートhttps://book.mql4.com/ru/samples/expert の例を示しています。
なぜ、同じロウソクで何度も購入・売却をするのか、教えてください。
CLOSE. ストップロスを見た
HLINEをドラッグする際に、ライン付近にあるストップ/ステークプロフィットオーダーをリアルタイムで捕捉しないようにする方法を教えてください。シングルクリック取引を無効にしてみたが、効果がない。この効果はStrategy Testerには存在しません。OnChartEventを使いたい(ちなみに、テスター上ではイベントは処理されず、リレー上だけで処理されるそうですね?)。