ساخت فیلتر در دیده بان بازار پیشرفته :: .:tsetmc:.

mhjtalarebourse

Well-Known Member
کاربر فعال
راستی آقا محمد حسین شما کد های تان را در چه نرم افزاری می نویسید که خواندنش راحت تر باشد بعد کپی کنید در tsetmc ?
بسمه‌تعالی
تندترین، زیباترین، دم‌دست‌ترین، پرپلاگین‌ترین و در یک کلام بهترین نرم‌افزار عمومی (غیرتخصصی) برای ویرایش کدها و برنامه‌ها به زبان‌های مختلف نرم‌افزار
NotePad++ می‌باشد و بر هر مرد و زن مسلمان واجب است که یک عدد از اینها روی رایانه‌اش نصب داشته باشد.
(تو گوگل بزنید دانلود نوت پد پلاس احتمالا ده‌تا گزینه‌ی بارگیری برایتان می‌آورد.)
(پس از گرفتن این نرم‌افزار بد نیست پلاگین JSTools را هم نصب کنید که در منوی آن می‌توانید با زدن گزینه‌ی JSFormat کدهایی که می‌گیرید و کدهای خودتان را زیباسازی (Prettify-Beautify) یا استاندارد (Format) و قابل خواندن (Readable) کنید.)
البته این موضوع زیاد مسئله خاصی نیست... حالا این به عنوان بهترین editor دم‌دستی نشد یک چیز دیگر... حتی اگر آمی‌بروکر دارید بد نیست در آن هم کدهای فیلترتان را قرار دهید و ویرایش کنید!

یا علی
 

sooroosh1315

Well-Known Member
کاربر فعال
عضو تازه
سلام آقا محمد حسین
ممنون بابت توجه و لطف همیشگیتون

الان باز ی سوال جدید پیش اومد :))

این علامت سوال 1 دو نقطه 2 که نوشته اید به چه معناس ؟ و این ترفند ها را کجا می توان یاد بگیرم؟


(یک سوال دیگر)
قصد دارم تمام فیلتر هایم را یک کاسه کنم
یک سی فیلد با مقدار 1 بسازم و بگویم اگر فیلتر اول درست بود سیفیلد را در 2 ضرب کن
اگر فیلتر دوم درست بود در 3 ضرب کن
اگر فیلتر سوم درست بود در 5 ضرب کن (اعداد اول)

بعد در اخر بیاد سیفیلد را نمایش بدهد

سپس سیفیلد یک عدد بدست آمده را بر بزرگترین عدد اولی که نوشته ام تقسیم کند اگر باقی مانده صفر بود مثلا بنویسد خرید حقوقی سپس بر عدد اول بزرگتر بعدی تقسیم کند باقی مانده 0 شد مقدار قبلی خودش را حفظ کند بنویسد ار اس ای کمتر از 40

یک همچین کاری
 

mhjtalarebourse

Well-Known Member
کاربر فعال
خواهشا یک نفر این کد را برای من اصلاح کنه بدجور داره اذیت میکنه (شرط دوم که باید در 3 ضرب کنه کار نمیکنه)

کد:
var cfield0 = 1
var cfield1 = 2


true == function()
{


     if ( cfield0 == 1 &&  cfield1 > 1 )
        {
           cfield0 = cfield0*3;
           return true;
        }
                else
                    {
        return true;
                         }


     if(cfield0 == 3 && cfield1 < 3 )
       {
         cfield0 = cfield0*2;
           return true;
        }
                else
                    {
        return true;
                         }

} ()


(cfield0) = cfield0
(cfield1) = cfield1
این موضوع احتمالا به خاطر دستور Returnای است که شما پیش‌تر (بالاتر) در کدتان قرار داده‌اید. دستور return در حقیقت به کامپایلر (مرورگر/سایت بورس) می‌گوید از این تابع خارج شو!
 

mhjtalarebourse

Well-Known Member
کاربر فعال
سلام آقا محمد حسین
ممنون بابت توجه و لطف همیشگیتون

الان باز ی سوال جدید پیش اومد :))

این علامت سوال 1 دو نقطه 2 که نوشته اید به چه معناس ؟ و این ترفند ها را کجا می توان یاد بگیرم؟
این را با یک توجه چند دقیقه‌ای به نوسته‌ی زیرینش می‌توانید متوجه شوید. البته بهتر است فعلا از همان حالت ساده‌ترش که در همان نوشته‌ی پایینی است استفاده بفرمایید و این‌جور خلاصه‌نویسی‌ها را بگذارید برای بعد.
اینها جزء دستورات اصلی java و javascript هستند. و از آنجایی که پالایه‌نویسی در tsetmc (من فکر می‌کنم) با javascript است آن را که یاد بگیریم خود به خود این را هم یاد گرفته‌ایم.
 

mhjtalarebourse

Well-Known Member
کاربر فعال
قصد دارم تمام فیلتر هایم را یک کاسه کنم
یک سی فیلد با مقدار 1 بسازم و بگویم اگر فیلتر اول درست بود سیفیلد را در 2 ضرب کن
اگر فیلتر دوم درست بود در 3 ضرب کن
اگر فیلتر سوم درست بود در 5 ضرب کن (اعداد اول)

بعد در اخر بیاد سیفیلد را نمایش بدهد

سپس سیفیلد یک عدد بدست آمده را بر بزرگترین عدد اولی که نوشته ام تقسیم کند
خوب... تا اینجایش که هیچ... اینجا احتمالا مسئله‌ای نیست و آسان می‌توانید بنویسید.
اگر باقی مانده صفر بود مثلا بنویسد خرید حقوقی سپس بر عدد اول بزرگتر بعدی تقسیم کند باقی مانده 0 شد مقدار قبلی خودش را حفظ کند بنویسد ار اس ای کمتر از 40

یک همچین کاری
اینجایش را دقیق نفهمیدم. بگذار این‌گونه برداشت کنم که شما می‌خواهید متناسب با یک سری اعداد یک سری نوشته داشته باشید.
صورت کلی کار این‌گونه است:

JavaScript:
if (my_var ==100) my_text = "پیشنهاد خرید کامل با تمام شرایط";
else if (my_var >80) my_text = "bbbbbb";
else if (my_var >60) my_text = "ccccccc";
else if (my_var >40) my_text = "ddddddd";
else if (my_var >20) my_text = "eeeeeeeeeeeee";
else if (my_var ==0) my_text = "هیچ پیشنهاد خریدی نیست";
دستور switch هم هست که دقیق خاطرم نیست در جاواسکریپت به صورت شرطی هم کار می‌کند یا فقط به صورت خشک کار می‌کند.
(به جای my_text هم که همان سی‌فیلد خودمان می‌نشیند!)
یا علی
 

mhjtalarebourse

Well-Known Member
کاربر فعال
آموزش برنامه‌نویسی
ـــــــــــــــــــــــــــــــــــــــــــــ

توابع (Functions)
ـــــــــــــــــــــــــــــــــــــــــــــ

این موضوع احتمالا به خاطر دستور Returnای است که شما پیش‌تر (بالاتر) در کدتان قرار داده‌اید. دستور return در حقیقت به کامپایلر (مرورگر/سایت بورس) می‌گوید از این تابع خارج شو!
می‌ترسم دوستان یک وقت این را بخوانند و سوء برداشت شود.
دستور Return در حقیقت به مفسر (کامپایلر) می‌گوید فلان مقدار را برگردان. یعنی برگردان و خارج شو. یعنی چیزی که جلوی ریترن نوشته شده را برگردان و سپس خارج شو.
اصلا بگذار از این‌جا آغاز کنم که تابع چیست و به چه درد می‌خورد.
این را نگاه کنید:

JavaScript:
function tebe_man (vorudi_1 , vorudi_2){
    if(vorudi_1 > vorudi_2){
        return "ورودی نخست بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        return "ورودی دوم بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        return "ورودی‌ها یکسان هستند.";
    }
}


(cfield0) = tebe_man (2000 , 500) ;
همیشه توابع دو قسمت دارند. یکی قسمت تعریف و یکی قسمت استفاده.
در بالا آن بخش بزرگتر بخش تعریف است و این بخش پایینش که در زیر دوباره نشانش داده‌ام بخش استفاده‌ از تابع است:

JavaScript:
(cfield0) = tebe_man (2000 , 500) ;
که البته ما خیلی اوقات در کدنویسی‌هایمان در این tsetmc این بخش دوم را استفاده نمی‌کنیم! که اصلا تابع نوشته می‌شود که این‌گونه استفاده شود! و اگر نخواهیم این‌گونه ازش استفاده کنیم دلیلی نداریم که از توابع استفاده کنیم!!! بماند!

با یک نگاه عمیق با کدهایی که قرار داده شد به خوبی می‌توان فهمید تابع چیست و چگونه از آن استفاده می‌شود!
در حقیقت تابع همان f(x) ای است که ما در ریاضی می‌خواندیم!
که می‌گفتیم:
y = f(x)
دقیقا همان است.
x ورودی است و f تابع (یا همان function).
و ما در کدهایمان این‌گونه از آن استفاده می‌کنیم. (باید بکنیم)
 

mhjtalarebourse

Well-Known Member
کاربر فعال
آموزش برنامه‌نویسی
ـــــــــــــــــــــــــــــــــــــــــــــ

توابع (Functions)
ـــــــــــــــــــــــــــــــــــــــــــــ

JavaScript:
(cfield0) = tebe_man (2000 , 500) ;
پس دوستان حتما می‌دانند که اگر به جای کد بالا کد زیر را در انتهای کدهایمان قرار بدهیم چه فرقی می‌کند دیگر... نه؟ (اگر نمی‌دانید آزمایش کنید خوب! :D )
کد:
(Cfield0) = tebe_man (500 , 500) ;
 

mhjtalarebourse

Well-Known Member
کاربر فعال
آموزش برنامه‌نویسی
ـــــــــــــــــــــــــــــــــــــــــــــ

توابع (Functions)
ـــــــــــــــــــــــــــــــــــــــــــــ
JavaScript:
function tabe_man (vorudi_1 , vorudi_2){
    if(vorudi_1 > vorudi_2){
        return "ورودی نخست بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        return "ورودی دوم بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        return "ورودی‌ها یکسان هستند.";
    }
}


(cfield0) = tabe_man (2000 , 500) ;
برابر کد بالا کد زیر است. ببینید از مقایسه این دو چه نتیجه‌ای می‌گیرید:
JavaScript:
function tabe_man (vorudi_1 , vorudi_2){
    var khoruji_man = "خالی-هنوز مقدار درستی ندارد";
    if(vorudi_1 > vorudi_2){
        khoruji_man =  "ورودی نخست بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        khoruji_man =  "ورودی دوم بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        khoruji_man =  "ورودی‌ها یکسان هستند.";
    }
        return khoruji_man;
}

(Cfield0) = tabe_man (500 , 500) ;
تابع را هم به فینگلیش نوشته بودم tebe که اصلاحش کردم و شد tabe. :)
 

mhjtalarebourse

Well-Known Member
کاربر فعال
جناب میلاد چند وقتی شده که نیستند...؟!؟!! امیدوارم هر جا هستند پیروز و تندرست باشند.
 

ali asghar wolf

New Member
کاربر فعال
عضو تازه
سلام.
کد:
[ih][0].PriceYesterday < 1.02 * [ih][1].PriceYesterday;
البته گویا اکنون TseTmc از کار افتاده نتوانستم آزمایشش کنم ببینم کار می‌کند یا نه.
یا علی.
ببخشید تو ساعت معاملات باید بررسیش کرد اینو چون الان هیچ اروری نمیده ولی چیزیم نشون نمیده ؟
 

sooroosh1315

Well-Known Member
کاربر فعال
عضو تازه
آموزش برنامه‌نویسی
ـــــــــــــــــــــــــــــــــــــــــــــ

توابع (Functions)
ـــــــــــــــــــــــــــــــــــــــــــــ


می‌ترسم دوستان یک وقت این را بخوانند و سوء برداشت شود.
دستور Return در حقیقت به مفسر (کامپایلر) می‌گوید فلان مقدار را برگردان. یعنی برگردان و خارج شو. یعنی چیزی که جلوی ریترن نوشته شده را برگردان و سپس خارج شو.
اصلا بگذار از این‌جا آغاز کنم که تابع چیست و به چه درد می‌خورد.
این را نگاه کنید:

JavaScript:
function tebe_man (vorudi_1 , vorudi_2){
    if(vorudi_1 > vorudi_2){
        return "ورودی نخست بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        return "ورودی دوم بزرگتر است";
    }
    if(vorudi_1 > vorudi_2){
        return "ورودی‌ها یکسان هستند.";
    }
}


(cfield0) = tebe_man (2000 , 500) ;
همیشه توابع دو قسمت دارند. یکی قسمت تعریف و یکی قسمت استفاده.
در بالا آن بخش بزرگتر بخش تعریف است و این بخش پایینش که در زیر دوباره نشانش داده‌ام بخش استفاده‌ از تابع است:

JavaScript:
(cfield0) = tebe_man (2000 , 500) ;
که البته ما خیلی اوقات در کدنویسی‌هایمان در این tsetmc این بخش دوم را استفاده نمی‌کنیم! که اصلا تابع نوشته می‌شود که این‌گونه استفاده شود! و اگر نخواهیم این‌گونه ازش استفاده کنیم دلیلی نداریم که از توابع استفاده کنیم!!! بماند!

با یک نگاه عمیق با کدهایی که قرار داده شد به خوبی می‌توان فهمید تابع چیست و چگونه از آن استفاده می‌شود!
در حقیقت تابع همان f(x) ای است که ما در ریاضی می‌خواندیم!
که می‌گفتیم:
y = f(x)
دقیقا همان است.
x ورودی است و f تابع (یا همان function).
و ما در کدهایمان این‌گونه از آن استفاده می‌کنیم. (باید بکنیم)
برابر کد بالا کد زیر است. ببینید از مقایسه این دو چه نتیجه‌ای می‌گیرید:
JavaScript:
function tabe_man (vorudi_1 , vorudi_2){
    var khoruji_man = "خالی-هنوز مقدار درستی ندارد";
    if(vorudi_1 > vorudi_2){
        khoruji_man =  "ورودی نخست بزرگتر است";
    }
    if(vorudi_1 < vorudi_2){
        khoruji_man =  "ورودی دوم بزرگتر است";
    }
    if(vorudi_1 == vorudi_2){
        khoruji_man =  "ورودی‌ها یکسان هستند.";
    }
        return khoruji_man;
}

(Cfield0) = tabe_man (500 , 500) ;
تابع را هم به فینگلیش نوشته بودم tebe که اصلاحش کردم و شد tabe. :)

باز هم گیر کردم هر چی کم و زیاد کردم درست نشد آمدم سراغ شما آقا محمد حسین

اگر حوصله ی تریس کردن دارین بسم ا...

کد:
     var cfield0 = 1;
    var cfield1 = "";
    var cfield00 = cfield0;
 
    
if( (ct).Sell_N_Volume == 0 && (ct).Buy_N_Volume > (tvol) * 0.5 )
        cfield0 = cfield0 * 2;
        cfield00 = cfield0;
    

//

cfield1= function cf1 ( cfield00 )
{
      


if ( cfield00 % 11 == 0 )
        cfield1 = cfield1 + "5 barghar ast";
        cfield00 = cfield00 / 11;
    
    
if ( cfield00 % 7 == 0)
        cfield1 = cfield1 + "4 barghar ast";
        cfield00 = cfield00 / 7;

    
if ( cfield00 % 5 == 0 )
        cfield1 = cfield1 + "3 barghar ast";
          cfield00 = cfield00 / 5;


    
if ( cfield00 % 3 == 0 )
        cfield1 = cfield1 + "2 barghar ast";
        cfield00 = cfield00 / 3;
    

if ( cfield00 % 2 == 0 )
        cfield1 = cfield1 + "خريد حقوقي";
        cfield00 = cfield00 / 2;
    

    
        return cfield1;

  
}()



(cfield0) = cfield0
(cfield1) = cfield1
 

sooroosh1315

Well-Known Member
کاربر فعال
عضو تازه
ببخشید تو ساعت معاملات باید بررسیش کرد اینو چون الان هیچ اروری نمیده ولی چیزیم نشون نمیده ؟
کد:
true==function(){

if( typeof [ih][0,-1] != "undefined" )

[ih][-1].PriceYesterday <= 1.02 * [ih][0].PriceYesterday;

return true;

}()
چون قیمن دیروز رو خواسته بودی فکر می کنم -1 و صفر باید استفاده کنیم (مطمن نیستم، از آقا محمد حسین باید بپرسین )

حالا یا این درسته یا اینکه تو همین کد
"جای منفی یک باید صفر بنویسی "و "جای صفر یک"


===================================
 

ali asghar wolf

New Member
کاربر فعال
عضو تازه
کد:
true==function(){

if( typeof [ih][0,-1] != "undefined" )

[ih][-1].PriceYesterday <= 1.02 * [ih][0].PriceYesterday;

return true;

}()
چون قیمن دیروز رو خواسته بودی فکر می کنم -1 و صفر باید استفاده کنیم (مطمن نیستم، از آقا محمد حسین باید بپرسین )

حالا یا این درسته یا اینکه تو همین کد
"جای منفی یک باید صفر بنویسی "و "جای صفر یک"


===================================[/QUOTمرسی ممنونم همون یکی قبلی درست در اومد
 

milad miladi

Well-Known Member
کاربر فعال
بسمه‌تعالی
تندترین، زیباترین، دم‌دست‌ترین، پرپلاگین‌ترین و در یک کلام بهترین نرم‌افزار عمومی (غیرتخصصی) برای ویرایش کدها و برنامه‌ها به زبان‌های مختلف نرم‌افزار
NotePad++ می‌باشد و بر هر مرد و زن مسلمان واجب است که یک عدد از اینها روی رایانه‌اش نصب داشته باشد.
(تو گوگل بزنید دانلود نوت پد پلاس احتمالا ده‌تا گزینه‌ی بارگیری برایتان می‌آورد.)
(پس از گرفتن این نرم‌افزار بد نیست پلاگین JSTools را هم نصب کنید که در منوی آن می‌توانید با زدن گزینه‌ی JSFormat کدهایی که می‌گیرید و کدهای خودتان را زیباسازی (Prettify-Beautify) یا استاندارد (Format) و قابل خواندن (Readable) کنید.)
البته این موضوع زیاد مسئله خاصی نیست... حالا این به عنوان بهترین editor دم‌دستی نشد یک چیز دیگر... حتی اگر آمی‌بروکر دارید بد نیست در آن هم کدهای فیلترتان را قرار دهید و ویرایش کنید!


یا علی
notepad.JPG

با سلام
ایشان فی الواقع این را می فرمایند...
 

milad miladi

Well-Known Member
کاربر فعال
جناب میلاد چند وقتی شده که نیستند...؟!؟!! امیدوارم هر جا هستند پیروز و تندرست باشند.
با عرض سلام و خسته نباشید خدمت شما و همه همراهان
بنده حقیر در خدمت شما هستم.
فی الواقع هرروز با خوندن نوشته های موجود در این گفتگوها، به دانسته های خودم اضافه می کنم.
من همیشه فکر می کنم که دانستن و انتقال دانش از قانون اختلاف پتانسیل استفاده می کنه.. تا زمانی که دانش یک شخص از دانش دیگران کمتره، اون شخص باید در حال یادگیری باشه. هروقت سطح دانش اون شخص به سطح دانش دیگران رسید می تونه به تبادل دانش با دیگران بپردازه، و هروقت سطح دانش شخص از دیگران بالاتر رفت، اون شخص می تونه چیزی به دیگران یاد بده.
من اکثر اوقات فکر می کنم در مرحله اول هستم و در حال یادگیری...

البته بیکار ننشسته بودم . در پیغام های خصوصی در خدمت دوستان بودم.
 

sooroosh1315

Well-Known Member
کاربر فعال
عضو تازه
ی فیلتر خفن (برا مبتدی ها) تقدیم به بچه های باشگاه :D داغ از تنور در اومده (نیاز به 3 تا cfield داره
کد:
// بسم‌الله‌الرحمن‌الرحیم
// فرمول‌هاوپالایه‌های‌پایه‌
// ساده‌سازی‌شده(الکی مثلا)

// __________________________________________________________

var vol_buy_persen=0;
var vol_sell_persen=0;
var val_buy_persen=0;
var val_sell_persen=0;
var income_persen=0;


vol_buy_persen=(ct).Buy_I_Volume / (ct).Buy_CountI
vol_sell_persen=(ct).Sell_I_Volume / (ct).Sell_CountI

val_buy_persen=vol_buy_persen* (pl)
val_sell_persen=vol_sell_persen* (pl)

 income_persen=val_buy_persen - val_sell_persen

(cfield0)=Math.round( val_buy_persen/10000000) +" M تومان "
(cfield1)=  Math.round( val_sell_persen/10000000) +" M تومان "
(cfield2)=     Math.round( income_persen/10000000) +" M تومان "
 

milad miladi

Well-Known Member
کاربر فعال
ی فیلتر خفن (برا مبتدی ها) تقدیم به بچه های باشگاه :D داغ از تنور در اومده (نیاز به 3 تا cfield داره
کد:
// بسم‌الله‌الرحمن‌الرحیم
// فرمول‌هاوپالایه‌های‌پایه‌
// ساده‌سازی‌شده(الکی مثلا)

// __________________________________________________________

var vol_buy_persen=0;
var vol_sell_persen=0;
var val_buy_persen=0;
var val_sell_persen=0;
var income_persen=0;


vol_buy_persen=(ct).Buy_I_Volume / (ct).Buy_CountI
vol_sell_persen=(ct).Sell_I_Volume / (ct).Sell_CountI

val_buy_persen=vol_buy_persen* (pl)
val_sell_persen=vol_sell_persen* (pl)

income_persen=val_buy_persen - val_sell_persen

(cfield0)=Math.round( val_buy_persen/10000000) +" M تومان "
(cfield1)=  Math.round( val_sell_persen/10000000) +" M تومان "
(cfield2)=     Math.round( income_persen/10000000) +" M تومان "
با عرض سلام
به این فیلتر هم نگاه کنید.( لینک)
به روش خودتون اصلاحش کنید و استفاده کنید.
موفق باشید
یاحق
 
بالا