شكر. سوف أتذكر. الكود المدرج/SCRIPT #property الصارمة #define PERIOD 20 struct Map {int key؛ قيمة مضاعفة }؛ void OnStart () {Adrtop10 ()؛ } void Adrtop10 () {int numsymbols = SymbolsTotal (true)؛ خريطة الرمز # 91؛ # 93 ؛؛ ArrayResize (symbolsmap ، numsymbols) ؛/جميع النطاقات في ساعة mkt لـ (int k = 0؛ k lt؛ numsymbols؛ k ) {double rng = 0؛ اسم السلسلة = SymbolName (ك ، صواب) ؛ لـ (int i = 1 ؛ i lt ؛ = PERIOD ؛ i ) rng = iHigh (الاسم ، PERIOD_D1 ، i) - iLow (الاسم ، PERIOD_D1 ، i) ؛ مضاعفة f = 1 ؛ إذا كان (SymbolInfoInteger (الاسم ، SYMBOL_DIGITS) == 5 || SymbolInfoInteger (الاسم ، SYMBOL_DIGITS) == 3) f * = 10؛ symbolsmap # 91؛ k # 93؛ .value = rngPERIODSymbolInfoDouble (الاسم ، SYMBOL_POINT)f؛ symbolsmap # 91؛ k # 93؛ .key = k؛ }/فقاعة ترتيب كل مفتاح int؛ قيمة مضاعفة منطق انقلبت = صحيح. بينما (انقلبت) {flipped = false ؛ لـ (int k = 0؛ k lt؛ numsymbols - 1؛ k ) {if (symbolsmap # 91؛ k # 93؛ .value lt؛ symbolsmap # 91؛ k 1 # 93؛ .value) {value = symbolsmap # 91 ؛ ك # 93؛ .value. مفتاح = 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؛ انقلبت = صحيح ؛ }}}/print top 10 int i؛ إذا (numsymbols gt؛ = 10) i = 9؛ آخر أنا = numsymbols - 1 ؛ لـ (؛ i gt؛ = 0؛ i--) printf (٪ i:٪ s adr:٪ .1f pip، i 1، SymbolName (symbolsmap # 91؛ i # 93؛ .key، true)، symbolsmap # 91 ، وأنا # 93؛ .value)؛ }Originally Posted by ;