Если у вас уже есть опыт работы на валютном рынке, то вы по достоинству оцените преимущества работы с Альфа-Форекс Самые узкие спреды на рынке: EUR/USD — от 0,7 пункта Отсутствие минимального депозита Быстрый ввод и вывод средств Исполнение ордеров без проскальзываний и реквот Альфа-Форекс входит в банковскую группу в составе Консорциума...
int calculated=BarsCalculated(RSI1_Handle);
if(calculated<rates_total)
{
Print("Not all data of RSI1_Handle is calculated (",calculated,"bars ). Error",GetLastError());
return(0);
}
calculated=BarsCalculated(RSI2_Handle);
if(calculated<rates_total)
{
Print("Not all data of RSI2_Handle is calculated (",calculated,"bars ). Error",GetLastError());
return(0);
このエラーはコンパイル時には出ず、インジケータをチャートに貼り付けた時や、タイムフレームを変更した時に出ます。
このエラーメッセージは ずっと流れるのですか、それとも時間とともに消えるのですか?
みんな!MT5はどこの証券会社でも接続できますか?
MT5での取引は、VTB24やAlfa forexなど、このプラットフォームで取引する可能性を提供しているブローカーを通じて可能です。
このエラーメッセージは 常に再生されるのでしょうか、それとも時間が経つと消えてしまうのでしょうか?
このエラーメッセージは ずっと流れるのですか、それとも時間とともに消えるのですか?
このエラーメッセージは 常に再生されるのでしょうか、それとも時間が経つと消えてしまうのでしょうか?
FinEngineer:
一度だけ、インジケータをチャートに貼り付けると...。
それなら大丈夫です。プログラムをチャートに貼り付けたり、タイムフレームを変更しただけでは、ターミナルにRSIインジケータなどの新しい計算データがありません。そして、端末は必要なインジケータ・バッファを 計算するためにある程度の時間を必要とします。あなたのコードをよく見てください(他の人のサンプルに従って書かれていることは理解していますが、それでも):RSIの計算データが十分でないとき、関数OnCalculate()は 動作を停止し('return(0);')、新しいティックを待ちます。次のティックでRSIのインジケーターバッファが 計算されるとすぐに、あなたのインジケーターは通常モードで動作し始めます。あなたの発言から察するに、そうなのでしょう。
また、OnInit()関数にBarsCalculated()によるチェックを挿入することができます - そうすれば、エラーが発生することは非常に稀です(まったくない場合)。BarsCalculated()関数の 説明で例を挙げています。
このエラーについては、すでに昨日お知らせしたとおりです。(コードを正しく挿入することを忘れないでください :) )
データ不足の原因となっていたコードの一部を削除(下図)
int calculated=BarsCalculated(RSI1_Handle)。
if(calculated<rate_total)
{
Print("RSI1_Handleの全てのデータが計算されていません(",calculated, "bars ).Error",GetLastError());
return(0)です。
}
calculated=BarsCalculated(RSI2_Handle)。
if(calculated<rate_total)
{
Print("RSI2_Handleの全てのデータが計算されたわけではありません(", calculated, "bars ).Error",GetLastError()。
return(0)です。
メッセージ中のコードフラグメントをマークする方法を教えてください。
現在、エラーが出るようになりました。
2012.12.22 15:14:00 Pair_delta_RSI (EURGBP,M1) RSI1 の取得に失敗しました!Error4806コードを 正しく挿入してください。
そこでうまくいったのが、その「データ不足を解消するためのコードの一部」です。そして、RSIの最初のティックデータがまだターミナルによって計算されていないことを正しく報告しました。エラーメッセージが出るのが嫌な場合は、上記の ように、OnCalculate()だけでなく、OnInit()でも計算データの有無を確認するようにしてみてください。つまり、OnInit()で選択したテクニカル指標のデータ算出を待ち、指標のデータ算出が保証された時点でOnCalculate()でのティック処理に移行するようにしてください。
追加する。結局、チェックコードの一部を削除しても、算出される指標データの数は増えません :)