【隔離スレ】MetaTrader初心者専用4【ゆとり専用】at LIVEMARKET2
【隔離スレ】MetaTrader初心者専用4【ゆとり専用】 - 暇つぶし2ch414:393
08/06/29 01:34:24.25 46pXAyld
どうしても関数呼び出す毎に配列を全部読んで再計算してるのか糞重いんだけど、
一度計算した値を再計算しないようにするにはどうしたらいいんだろう?

IndicatorCounted()を外部から貰う為にint Countedを新たに引数とし、
配列を外部から取得しないで済むように内部で作った配列へコピーとかしてみたけど、
効果は気持ちあったかな?って程度。
このままだとインジケーターロードするたびに2秒くらいフリーズする><

数値には間違いがないから根本的におかしいって訳じゃ無いと思うんだけど・・・

double iFastStochasticsOnArray(double getArray[],int Sto_Period,int Shift,int Counted){
int Limit = ArraySize(getArray) - Sto_Period - Counted;
double StoArray[], ArrayBuf[];

if((Shift+Sto_Period)>=ArraySize(getArray)){
// ErrorDescription(4002); //Debug
return(0);
}

ArrayResize(StoArray, Limit); //number 0~Limit-1
ArrayResize(ArrayBuf, ArraySize(getArray));
ArrayCopy(ArrayBuf, getArray);

for(int i=Limit-1; i>=0; i--){
double HH =-100000, LL=100000;

for(int j=0; j<Sto_Period; j++){
if(ArrayBuf[i+j] > HH) HH = ArrayBuf[i+j];
if(ArrayBuf[i+j] < LL) LL = ArrayBuf[i+j];
}

StoArray[i] = (ArrayBuf[i]-LL)/(HH-LL)*100;
}

return(StoArray[Shift]);
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch