আমি একটি ইএ তে কাজ করছি যেটি (চার্ট অবজেক্ট বোতামগুলির প্রেসগুলির উপর ভিত্তি করে); চার্টে থাকা স্ল লাইন ব্যবহার করে আমার ঝুঁকি% এর উপর ভিত্তি করে লট সাইজকে ক্যালকুলেটিং করে বাজার মূল্যের ব্যবসাগুলি খোলে। আমি চার্টে থাকা একটি এন্ট্রি এবং এসএল লাইন ব্যবহার করে লেনদেন স্থগিত করে (এবং ঝুঁকি% এর উপর ভিত্তি করে সঠিক লট সাইজ গণনা করে)। বিভিন্ন ধরনের ক্লোজিং ফাংশন (সমস্ত খোলা, সমস্ত পেন্ডিং, সমস্ত OP, সমস্ত মুনাফা, সমস্ত ক্ষতি ইত্যাদি ...) ব্যবসায়গুলি BE তে সরাতে যথেষ্ট। এবং swaps আমি একটি পিছনে এসএল ফাংশন কাজ করছে যা জরিমানা কাজ করে এবং এটি কি করতে suppsoed কি শুধুমাত্র কিন্তু প্রথমবার। আমি বোতামটি টিপুন, এটি বর্ণনা করে যে মূল্য কোথায় এবং সেই অনুসারে SL তে চলে। আবার এটি প্রাথমিক ঝুঁকির উপর ভিত্তি করে কতটুকু সরানো যায় তা নির্ধারণ করে (যেহেতু SL স্রোত আমি খোলা মূল্য ব্যবহার করি এবং একটি স্থির বলে 5: 1 কতটা সরানো যায় তা গণনা করার জন্য মুনাফা লাভ করে কারণ এইগুলি সেট করা কারণগুলিকে স্থানান্তরিত করবে না এবং জগাখিচুড়ি করবে না calcs)। আমি যা করার চেষ্টা করছি তা হল একটি লুপ সেট করা যেখানে আমি একবার চার্টে বোতাম টিপুন এবং এটি SL তে চলে আসে। তারপর যদি দাম একটি নতুন স্তরের আঘাত করে তবে এটি আবার SL SL বোতামটিকে আঘাত না করেই SL তে সরিয়ে নেয়। আমি বুঝতে পারি যে আমি যদি TF ইত্যাদি পরিবর্তন করি ... এবং আমরা পুনঃবিনিচনা করি যে আমাকে বোতামটি আবার আঘাত করতে হবে। এই কোডটি কি একটি লুপে রাখা যেতে পারে যা বোতামটি প্রথম আঘাতের পরে SL নির্বাচন করে চলছে? আমি কিছু ব্যবহার করার সময় চেষ্টা করেছি কিন্তু এটি শুধু জিনিস আপ messes এবং এসএল পিছনে bounces। আমি যদি রাখি; প্রতিটি পরে তারপর এটি প্রথম লাইন পরে স্টপ ...
আমি আশা করি কেউ সাহায্য করবে. আমি নিশ্চিত যে এটি আমার অংশে একটি মূঢ় ত্রুটি বা আমি দেখছি না এমন কিছু সহজ। আমি এখনও কোডিং বেশ নতুন।
সন্নিবেশকৃত কোড (স্প্যাম == টিএসএলবটন)/ট্রিল SL বোতাম টিপছে {ObjectSetInteger (0, TSLButton, OBJPROP_STATE, false); Bool টিএসএল = মিথ্যা; ডবল টিকভাল = মার্কেটইনফো (প্রতীক (), MODE_TICKVALUE); ডাবল GGG = OrderCommission () OrderSwap (); দ্বিগুণ GGG1 = NormalizeDouble (অর্ডার কমমিশন) অর্ডারসwap (), ডিজিটস) * পয়েন্ট; ডবল XXX = GGG1TickValue; ডবল XXY = (OrderOpenPrice () - OrderTakeProfit ())TPFactor; int আদেশ_cnt = 0; int মোট = আদেশগুলি মোট (); জন্য (int i = 0; ilt; মোট; আমি ) {যদি (আদেশ, নির্বাচন (i, SELECT_BY_POS, MODE_TRADES) == মিথ্যা) অবিরত; যদি (OrderSymbol) == চিহ্ন ()) orders_cnt ; ObjectSetInteger (0, TSLButton, OBJPROP_COLOR, ButtonTxtCLR); ObjectSetInteger (0, TSLButton, OBJPROP_BGCOLOR, লাল); ObjectSetInteger (0, TSLButton, OBJPROP_BORDER_COLOR, লাল); RefreshRates (); যদি (অর্ডারটাইপ () == OP_BUY) {if (bidgt; (অর্ডারঅপেনপ্রাইজ () (xXY * 2))) {টিএসএল = অর্ডার মডিফাই (অর্ডারটিকিট), অর্ডার ওপেনপ্রাইস (), (অর্ডারঅপেনাইস) - (XXX)), অর্ডারটেক প্রফিট (), 0, ক্লোননেস);} যদি (বিড্ট; (অর্ডারঅপেনপ্রাইস () ওপেন (এক্সএক্সওয়াই * 3))) {টিএসএল = অর্ডার মডিফাই (অর্ডারটিকিট), অর্ডার ওপেনপ্রাইস (), ((অর্ডারঅপেনপ্রাইস () - (XXX)) ( XXY)), অর্ডারটেক প্রফিট (), 0, ক্লোননেস);} যদি (বিড্ট; (অর্ডারঅপেনপ্রাইজ () ওপেন (এক্সএক্সওয়াই * 4))) {টিএসএল = অর্ডারমডিফাই (অর্ডারটিকিট), অর্ডার ওপেনপ্রাইস (), (অর্ডারঅপেনপ্রাইস () - ( XXX)) (এক্সএক্সওয়াই * 3)), অর্ডারটেক প্রফিট (), 0, ক্লোননে);}} যদি (অর্ডারটাইপ () == OP_SELL) {যদি (Asklt; (OrderOpenPrice () - (XXY * 2))) {টিএসএল = OrderModify (OrderTicket), OrderOpenPrice (), (OrderOpenPrice () (XXX)), অর্ডারটেক প্রফিট (), 0, ক্লোননে);} যদি (Asklt; (OrderOpenPrice () - (XXY * 3))) {TSL = OrderModify (OrderTicket (), OrderOpenPrice (), ((OrderOpenPrice () (XXX জন)) - (XXY)), OrderTakeProfit (), 0, clrNONE);} যদি (Asklt; (OrderOpenPrice () - (XXY * 4))) {TSL = OrderModify (OrderTicket), OrderOpenPrice (), (OrderOpenPrice () (XXX)) - (XXY * 3)), অর্ডারটেক প্রফিট () , 0, ক্লোননে);}}}}