ありがとう。私は心に留めておきます。挿入コード//SCRIPT #property strict #define PERIOD 20 struct Map {int key;};ダブル値。 ; void OnStart(){Adrtop10(); void Adrtop10(){int numsymbols = SymbolsTotal(true);} Map symbolsmap#91;#93 ;; ArrayResize(symbolsmap、numsymbols);/mktのすべての範囲は、(int k = 0; k lt; numsymbols; k ){double rng = 0;}を監視します。文字列名= SymbolName(k、true); (int i = 1; i lt; = PERIOD; i )rng = iHigh(name、PERIOD_D1、i) - iLow(name、PERIOD_D1、i);二重f = 1。 if(SymbolInfoInteger(name、SYMBOL_DIGITS)== 5 || SymbolInfoInteger(name、SYMBOL_DIGITS)== 3)f * = 10; symbolsmap#91; k#93; .value = rngPERIODSymbolInfoDouble(name、SYMBOL_POINT)/f; symbolsmap#91; k#93; .key = k;/すべてのintキーをバブルソートします。ダブル値。 bool flipped = true; while(flipped){flipped = false; for(int k = 0; k lt; numsymbols - 1; k ){if(symbolsmap#91; k#93;。value lt; symbolsmap#91; k 1#93; .value){value = symbolsmap#91 ; k#93;。 key = symbolsmap#91; k#93; .key; symbolsmap#91; k#93; .value = symbolsmap#91; k 1#93;。value; symbolsmap#91; k 1#93; .value = value; symbolsmap#91; k#93; .key = symbolsmap#91; k 1#93; .key; symbolsmap#91; k 1#93; .key = key;反転= true。/top 10 int iを印刷します。 (numsymbols gt; = 10)i = 9の場合。それ以外の場合、i = numsymbols - 1です。 (; i gt; = 0; i--)printf(%i:%s adr:%0.1f pip、i 1、SymbolName(symbolsmap#91; i#93; .key、true)、symbolsmap#91) ; i#93;。値); }Originally Posted by ;