初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 266 1...259260261262263264265266267268269270271272273...1504 新しいコメント Anatoli Kazharski 2014.06.29 13:01 #2651 jommerbot:なるほど、一番シンプルなケースでもうまくいかないんですね。自分のミスがどこにあるのか理解できない。同じインジケータのバッファをEAやスクリプトでコピーするとうまくいくが、インジケータではうまくいかない。インジケータ・ハンドルはエラーなく初期化されます。違いを見つける。)#property copyright "Copyright 2010, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 clrRed //--- double ExtLineBuffer[]; int iRocHandleEURUSD =INVALID_HANDLE; int iPlotShift =0; int iPeriod =6; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { IndicatorSetInteger(INDICATOR_DIGITS,2); SetIndexBuffer(0,ExtLineBuffer,INDICATOR_DATA); PlotIndexSetInteger(0,PLOT_SHIFT,iPlotShift); PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,iPeriod-1); //--- iRocHandleEURUSD=iCustom("EURUSD",0,"Examples\\ROC"); if(iRocHandleEURUSD==INVALID_HANDLE) Print("Не удалось получить хендл индикатора ROC EURUSD"); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { //--- if(rates_total<iPeriod) return(0); //--- int first=0; double aRocRatesEURUSD[]; ArraySetAsSeries(ExtLineBuffer,true); //--- if(prev_calculated==0) first=0; else first=prev_calculated-1; //--- for(int bar=first; bar<rates_total; bar++) { CopyBuffer(iRocHandleEURUSD,0,bar,1,aRocRatesEURUSD); Print("bar: ",bar,"; value: ",DoubleToString((aRocRatesEURUSD[0]!=EMPTY_VALUE)?aRocRatesEURUSD[0]:0,2)); ExtLineBuffer[bar]=aRocRatesEURUSD[0]; } //--- return(rates_total); } //+------------------------------------------------------------------+ jommerbot 2014.06.30 01:51 #2652 最後のバージョンのコードでは、インジケータハンドラが変数の間違ったスコープに入り込んでいたんだ。懐かしいです、ありがとうございます。しかし、一つ問題があります。テスターでは、テスト 期間開始前のヒストリカルバーでは、インジケータは 正常に動作しますが、テスト期間開始後は、新しく到着したティックは考慮されません。例:子ディケータのバッファが更新されない。 неAni 2014.06.30 05:11 #2653 良い人は、コードを修正するために助けてください、そのジョブラインから顧問の "入力パラメータ "で extern string Lot = "0.2 0.2 0.3 0.4 0.5"; // (スペースを介して) 最後の値(この場合は0.5)は無限に繰り返すだろう、すなわち、入力しない"0.2 0.2 0.3 0.4 0.5 0.5 0.5" 0.5 0.5 0.5 0.5;//----------------------------StringToArrayLot(Lot,xiLot)です。//---------------------------------------------------int StringToArrayLot(string st,double &ad[]){ int i=0,np; string stp;ArrayResize(ad,0); while(StringLen(st)>0){ np=StringFind(st," "); if(np<0){ stp=st; st="";}.else{ stp=StringSubstr(st,0,np); st=StringSubstr(st,np+1);} i++; ArrayResize(ad,i); ad[i-1]=StrToDouble(stp);} return(ArraySize(ad));}. スタイラー - プログラムの開発 Krasev157 Красёв 2014.07.01 14:22 #2654 ウェブサイトや端末で自分のEAが表示されないのはなぜですか? Vasiliy Smirnov 2014.07.01 14:26 #2655 Krasev157: ウェブサイトや端末で自分のEAが表示されないのはなぜですか? ウェブサイトで見るには、アップロードする必要があります。ターミナルでコンパイルする場合。 Krasev157 Красёв 2014.07.01 14:28 #2656 zfs: サイトで見るには、アップロードする必要があります。ターミナルでコンパイルする場合。プロフィールに表示されないのですが、どうしたらいいですか? Vladimir Karputov 2014.07.01 14:44 #2657 Krasev157:プロフィールに表示されないので、ウェブサイトに掲載します。 アルバニア語の辞書のリンク先を教えてください。 Krasev157 Красёв 2014.07.02 05:12 #2658 barabashkakvn: アルバニア語の辞書のリンク先を教えてください。http://www.txtblog.ru/blog/1165306807 はい、どうぞ Vasiliy Smirnov 2014.07.02 06:37 #2659 Krasev157:http://www.txtblog.ru/blog/1165306807 はい、どうぞハッタールさんが燃 えています。さあ!バジンガ! gordon 2014.07.02 07:15 #2660 こんにちは、もしご迷惑でなければ教えていただけませんか?過去5ティックの価格を配列に入れるにはどうしたらよいですか? 1...259260261262263264265266267268269270271272273...1504 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なるほど、一番シンプルなケースでもうまくいかないんですね。
自分のミスがどこにあるのか理解できない。同じインジケータのバッファをEAやスクリプトでコピーするとうまくいくが、インジケータではうまくいかない。インジケータ・ハンドルはエラーなく初期化されます。
違いを見つける。)
最後のバージョンのコードでは、インジケータハンドラが変数の間違ったスコープに入り込んでいたんだ。懐かしいです、ありがとうございます。しかし、一つ問題があります。テスターでは、テスト 期間開始前のヒストリカルバーでは、インジケータは 正常に動作しますが、テスト期間開始後は、新しく到着したティックは考慮されません。例:子ディケータのバッファが更新されない。
良い人は、コードを修正するために助けてください、そのジョブラインから顧問の "入力パラメータ "で
extern string Lot = "0.2 0.2 0.3 0.4 0.5"; // (スペースを介して)
最後の値(この場合は0.5)は無限に繰り返すだろう、すなわち、入力しない
"0.2 0.2 0.3 0.4 0.5 0.5 0.5" 0.5 0.5 0.5 0.5;
//----------------------------
StringToArrayLot(Lot,xiLot)です。
//---------------------------------------------------
int StringToArrayLot(string st,double &ad[])
{
int i=0,np; string stp;ArrayResize(ad,0);
while(StringLen(st)>0)
{
np=StringFind(st," ");
if(np<0)
{
stp=st;
st="";
}.else{
stp=StringSubstr(st,0,np);
st=StringSubstr(st,np+1);
}
i++;
ArrayResize(ad,i);
ad[i-1]=StrToDouble(stp);
}
return(ArraySize(ad));
}.
ウェブサイトや端末で自分のEAが表示されないのはなぜですか?
サイトで見るには、アップロードする必要があります。ターミナルでコンパイルする場合。
プロフィールに表示されないのですが、どうしたらいいですか?
プロフィールに表示されないので、ウェブサイトに掲載します。
アルバニア語の辞書のリンク先を教えてください。
http://www.txtblog.ru/blog/1165306807 はい、どうぞ
http://www.txtblog.ru/blog/1165306807 はい、どうぞ
ハッタールさんが燃 えています。
さあ!
バジンガ!