初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 224 1...217218219220221222223224225226227228229230231...260 新しいコメント Aleksei Stepanenko 2020.12.07 16:53 #2231 Expert Advisorでは、最初の行の OnTick()これらの行の後、さらにコードが1本のロウソクに1回実行されます。その形成の瞬間にこのインジケータをEAから呼び出すのですね、やはり? ElenkaVladi 2020.12.07 16:55 #2232 Aleksei Stepanenko: Expert Advisorでは、最初の行の これらの行の後、さらにコードが1本のロウソクに1回実行されます。その形成の瞬間にこのインジケータはEAから呼び出しているとのことですが、どうでしょうか? 実は、このインジケータを別のインジケータに挿入して、別のプログラムに信号を送っているんです。つまり、Expert Advisorは存在しないのです。つまり、インジケーター自体のどこかに埋め込まれているはずなのですが、どのように? Aleksei Stepanenko 2020.12.07 16:58 #2233 どのプログラムがお得なのか?アドバイザーである。そうでしょう? ElenkaVladi 2020.12.07 16:59 #2234 Aleksei Stepanenko: そして、どのようなプログラムが取引を開始するのでしょうか?それが「Expert Advisor」です。そうでしょう? あ、そうか、もしかして...。しかし、その後、事態はより複雑になっていくようで...。このコードに合わせるのは無理がありますよね?そして、2つ目のインジケータコードにもコードはありません。OnTick() 一体どうやって使うんだ...:)))))) Aleksei Stepanenko 2020.12.07 17:08 #2235 iCustom経由でこのインジケータを呼び出す場合、この関数の最後にも0ではなく1を付けてみてください。 ElenkaVladi 2020.12.07 17:10 #2236 ちなみに、インジケータはまだたくさんの矢印を描画していますが、チャートを再読み込みすると、一部の矢印しか残りません。:( インジケータが履歴を保存しているかのように、私がどのようにうまく取引しているかを見ているようですが、リアルタイムでは全く違います。:( Aleksei Stepanenko 2020.12.07 17:12 #2237 ElenkaVladi: ちなみに、このインジケーターは今でも矢印もたくさん描かれています。 はい?うーん、後で見てみよう。 ElenkaVladi 2020.12.07 17:15 #2238 Aleksei Stepanenko: iCustom経由でこのインジケータを呼び出す場合、この関数の最後にも0ではなく1を付けてみてください。 こんな感じか? if (IndicatorName != "") { up = iCustom(NULL, 0, IndicatorName, IndiBufferCall, SignalType); dn = iCustom(NULL, 0, IndicatorName, IndiBufferPut, SignalType); if (IndicatorName != "") { up = iCustom(NULL, 1, IndicatorName, IndiBufferCall, SignalType); dn = iCustom(NULL, 1, IndicatorName, IndiBufferPut, SignalType); こんな感じ? ElenkaVladi 2020.12.07 17:17 #2239 Aleksei Stepanenko:はい?うーん、後で見てみよう。 そのメッセージなのかもしれません。書いてある通りにしたほうがいいのでは? https://www.mql5.com/ru/forum/160587/page223#comment_19618305 とにかく、ここでいじってくれて本当にありがとう... :))) 状況を把握するためのファイルを添付します。 Вопросы от начинающих MQL4 MT4 MetaTrader 4 2020.11.29www.mql5.com Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций... ファイル: 2020-12-07_23-24-56_m3h.png 13 kb 2020-12-07_23-25-07_t2m.png 8 kb Aleksei Stepanenko 2020.12.07 22:43 #2240 ElenkaVladi: 以下は、その動作コードです。//---- indicator settings #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red //---- indicator parameters extern int period = 4; //12 extern int shift = 0; //сдвиг по бару //---- indicator buffers double BufferUp[],BufferDn[]; double Ma[],MaOn[]; datetime LastTime=0; int i, st=5; int OnInit() { IndicatorBuffers(2); //---- drawing settings SetIndexStyle(0,DRAW_ARROW,2); SetIndexArrow(0,233); SetIndexStyle(1,DRAW_ARROW,2); SetIndexArrow(1,234); SetIndexBuffer(0,BufferUp);//стрелка синяя верх SetIndexBuffer(1,BufferDn);//стрелка красная вниз //---- name for DataWindow and indicator subwindow label IndicatorShortName("T3MA-ALARM ("+period+")"); ArraySetAsSeries(Ma,true); ArraySetAsSeries(MaOn,true); //---- initialization done if(Digits==3 || Digits==5) st*=10; return(INIT_SUCCEEDED); } 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<=MathMax(period,shift)) return(0); int limit=rates_total-prev_calculated; if(prev_calculated>0) limit++; if(LastTime!=time[1]) { LastTime=time[1]; ArrayCopy(Ma,Ma,rates_total-ArraySize(Ma),0,WHOLE_ARRAY); ArrayCopy(MaOn,MaOn,rates_total-ArraySize(MaOn),0,WHOLE_ARRAY); } for(i=limit; i>=1; i--) Ma[i]=iMA(NULL,0,period,0,MODE_EMA,PRICE_CLOSE,i); for(i=limit; i>=1; i--) MaOn[i]=iMAOnArray(Ma,rates_total,period,0,MODE_EMA,i); for(i=limit; i>=1; i--) { if(MaOn[i+shift]-MaOn[i+1+shift]<0 && MaOn[i+1+shift]-MaOn[i+2+shift]>0){BufferDn[i+1]=high[i+1]+st*Point;} if(MaOn[i+shift]-MaOn[i+1+shift]>0 && MaOn[i+1+shift]-MaOn[i+2+shift]<0){BufferUp[i+1]=low[i+1]-st*Point;} } return(rates_total); } 矢印が逆向きに描かれていることに注意 BufferDn[i+1]=...これは残念なことです。 1...217218219220221222223224225226227228229230231...260 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OnTick()
これらの行の後、さらにコードが1本のロウソクに1回実行されます。その形成の瞬間に
このインジケータをEAから呼び出すのですね、やはり?
Expert Advisorでは、最初の行の
これらの行の後、さらにコードが1本のロウソクに1回実行されます。その形成の瞬間に
このインジケータはEAから呼び出しているとのことですが、どうでしょうか?
そして、どのようなプログラムが取引を開始するのでしょうか?それが「Expert Advisor」です。そうでしょう?
あ、そうか、もしかして...。しかし、その後、事態はより複雑になっていくようで...。このコードに合わせるのは無理がありますよね?そして、2つ目のインジケータコードにもコードはありません。
OnTick()
一体どうやって使うんだ...:))))))ちなみに、このインジケーターは今でも矢印もたくさん描かれています。
はい?うーん、後で見てみよう。
iCustom経由でこのインジケータを呼び出す場合、この関数の最後にも0ではなく1を付けてみてください。
こんな感じか?
こんな感じ?
はい?うーん、後で見てみよう。
そのメッセージなのかもしれません。書いてある通りにしたほうがいいのでは?
https://www.mql5.com/ru/forum/160587/page223#comment_19618305
とにかく、ここでいじってくれて本当にありがとう... :)))
状況を把握するためのファイルを添付します。
以下は、その動作コードです。
矢印が逆向きに描かれていることに注意 BufferDn[i+1]=...これは残念なことです。