এফএমজেড কোয়ালিফাইড প্ল্যাটফর্মের কৌশল লিখতে প্রাথমিক টিউটোরিয়াল (একটি আবশ্যক)

লেখক:ঘাস, নির্মিতঃ 2019-08-13 17:47:27, আপডেটঃ 2021-08-06 10:29:46

ইতিহাস K-লাইন তথ্য. এই পদ্ধতির অসুবিধা স্পষ্টঃ একটি K-লাইন, শুধুমাত্র একটি বিক্রয় উত্পাদিত হতে পারে, সাধারণত ভিত্তি করে মূল্য K-লাইন বন্ধ মূল্য হয়। এবং একটি K-লাইন শুধুমাত্র উচ্চ খোলা এবং নীচে চার দাম গ্রহণ করতে পারেন, এবং কিভাবে একটি K-লাইন মধ্যে মূল্য পরিবর্তন, সর্বোচ্চ মূল্য প্রথম ঘটে বা সর্বনিম্ন মূল্য প্রথম ঘটে ইত্যাদি তথ্য পাওয়া যায় না। 1 ঘন্টা K-লাইন উদাহরণস্বরূপ, বাস্তব সময় নিশ্চিত প্রতি কয়েক সেকেন্ডের মধ্যে একটি ট্রেডিং তথ্য পেতে, ট্রেডিং নির্দেশাবলী ডিস্ক মধ্যে শেষ না অপেক্ষা K-লাইন শেষ হতে হবে। onbar রিটার্ন প্রক্রিয়া খুব সহজ বোঝা হয়, রিটার্ন খুব দ্রুত।

এফএমজেড প্ল্যাটফর্মের পুনরাবৃত্তির জন্য দুটি প্রকারের অ্যানালগ-স্তরের পুনরাবৃত্তি এবং বাস্তব-স্তরের পুনরাবৃত্তি রয়েছে। অ্যানালগ-স্তরের পুনরাবৃত্তি একটি তলদেশের কে-লাইন চক্রের ভিত্তিতে একটি টিক তৈরি করে। প্রতিটি তলদেশের কে-লাইন চক্রের উপর 14 টি পুনরাবৃত্তি সময় পয়েন্ট তৈরি করবে।প্রকৃত ডিস্ক স্তরটি প্রকৃত সংগ্রহের টিক, প্রায় কয়েক সেকেন্ডের মধ্যে একবার, বর্তমানে সত্য গভীরতা (২০ টি ফ্রেম অন্তর্ভুক্ত) এবং সত্যিকারের এক-এক-একটি লেনদেন সমর্থন করে।ডাটা ভলিউম বড় এবং পুনরাবৃত্তি গতি ধীর, তাই বিশেষ করে দীর্ঘ সময় পুনরাবৃত্তি করা যাবে না। FMZ এর পুনরাবৃত্তি প্রক্রিয়া কৌশল একটি K-লাইন একাধিকবার লেনদেন করতে পারেন, শুধুমাত্র বন্ধ মূল্য লেনদেন এড়াতে, আরো সঠিক এবং পুনরাবৃত্তি গতি বিবেচনা করে।https://www.fmz.com/digest-topic/4009

পুনরাবৃত্তির নীতি ফ্রেমওয়ার্কটি বাস্তব ডিস্কের মতোই, উভয়ই একটি মৃত লুপ। যেহেতু পুনরাবৃত্তিটি বিভিন্ন পুনরাবৃত্তি পয়েন্টগুলিতে ঝাঁপিয়ে পড়ে, তাই এটি ঘুম ছাড়াই করা যেতে পারে এবং একটি লুপের শেষে এটি স্বয়ংক্রিয়ভাবে পরবর্তী সময় পয়েন্টে ঝাঁপিয়ে পড়ে। তবে পাইথন প্রোগ্রামের প্রক্রিয়াগুলির কারণে একটি বাধ্যতামূলক লুপ প্রয়োজন।Sleep(10)এই ভিডিওটি ভিডিও কনফারেন্সের মাধ্যমে শেয়ার করা হয়েছে।

পুনরায় পরীক্ষা করা

রিভিউ ইঞ্জিনটি ব্যবহারকারীর অর্ডার মূল্য এবং রিভিউ সময় পয়েন্টের ভিত্তিতে খোলার মূল্যের উপর ভিত্তি করে একটি লেনদেনের জন্য একটি লেনদেনের জন্য একটি লেনদেনের জন্য একটি লেনদেনের জন্য একটি লেনদেন তৈরি করে। যদি লেনদেনটি সম্পন্ন না হয় তবে একটি লিঙ্কডইন তৈরি করা হয়। লেনদেনের গ্যারান্টি দেওয়ার জন্য একটি স্লিপ পয়েন্ট প্রয়োজন। যদি রিভিউয়ের সময় কোনও পজিশন খোলা যায় না বা স্থির না হয় তবে এটি পরীক্ষা করে দেখা যায় যে কোনও অপ্রাপ্ত আদেশের কারণে পজিশন হিমশীতল হয়েছে কিনা।

পাতা পুনর্বিবেচনা

img

  • 1.回测页面的选择,左侧是策略编辑页面。
  • 2.回测起始结束时间,由于数据不完整,回测可能直接从有数据的时间开始。
  • 3.回测GetRecords()ফাংশনের ডিফল্ট চক্র, এছাড়াও কোড মধ্যে চক্র পরামিতি নির্দিষ্ট করা যেতে পারে.
  • 4.回测机制的选择。
  • 5.展示或隐藏跟多回测设置。
  • 6.最大日志数、收益数据数、图表数据数等,为了防止数据量过大导致浏览器卡死。
  • 6.底层tick生成依据K线周期。
  • 7.交易滑点。
  • 7.容错,会模拟API请求出错情况,检查策略容错能力。
  • 8.是否绘制行情图标,回测中如果使用了TA指标函数,会自展示在图标上,买卖也会标记。
  • 9.手续费设置
  • 10. এক্সচেঞ্জ যোগ করুন - লেনদেনের জোড়া এবং সম্পদ।
  • 11.回测参数设置,如果参数是数字还支持一键优化参数,自动按照一定范围遍历参数回测。

পুনরায় পরীক্ষা করা এবং বাস্তব ডিস্কের মধ্যে পার্থক্য

  • 1.回测时有效的行情只有GetTicker和GetRecords,其它如获深度、成交历史都不是真实的(因为数据量太大,实盘级回测目前已经支持这些数据,但只有最近数据)。
  • 2.回测添加的交易所都是独立账户,目前不支持切换交易对。因此无法在一个账户里操作两个交易对。
  • 3.回测中无法使用网络请求。
  • 4.回测无法使用IO扩展,只能操作最基础的API。
  • 5.回测只能获取标准的数据,像Info之类的牵扯到实盘的数据不存在。
  • 6.回测中也有可能不成交,注意冻结订单情况。
  • 7.商品期货回测不支持市价单。

কৌশলগত ভুল এবং সাধারণ ভুল

আমি আগেই বলেছি যে, এপিআই ব্যবহার করে ডিস্কে অ্যাক্সেস ব্যর্থ হওয়ার সম্ভাবনা রয়েছে।nullএই পদ্ধতিতে, আপনি আপনার ডিস্কটি বন্ধ করতে পারেন, কারণ এটিতে থাকা ডেটা ব্যবহারের সময় ত্রুটি দেখা দিতে পারে।

প্রায়ই ভুল অনুমোদন

সাধারণ ভুল কারণঃ

  • এপিআই অ্যাক্সেস নেটওয়ার্ক ত্রুটি, ইন্টারফেস অ্যাক্সেস বিলম্বিত সময় null ফিরে আসবে, এই সময় ব্যবহার একটি ত্রুটি রিপোর্ট করবে।
  • এক্সচেঞ্জগুলি আইপি সীমাবদ্ধতা, অর্ডারের নির্ভুলতা, অ্যাক্সেস ফ্রিকোয়েন্সি, পরামিতি ত্রুটি, সম্পদের অভাব, বাজারে ট্রেড করা অসম্ভব, অর্ডার বাতিল করা ইত্যাদির মতো ত্রুটিগুলি সীমাবদ্ধ করে।
  • এক্সচেঞ্জগুলি তথ্য ত্রুটিগুলি ফেরত দেয়, যা মাঝে মাঝে ঘটে, যেমন ফিরে আসা ফাঁকা গভীরতা, বিলম্বিত অ্যাকাউন্টের তথ্য, বিলম্বিত অর্ডার স্থিতি ইত্যাদি।
  • প্রোগ্রাম লজিক্যাল ত্রুটি।

এপিআই ব্যবহার করে ডেটা ফেরত দেওয়ার আগে, এটি null কিনা তা বিচার করা উচিত।

//1.判断为null进行处理
var ticker = exchange.GetTicker();
while(ticker == null){
     Log('ticker 获取出错');
     ticker = exchange.GetTicker();
 }
 Log(ticker.Last);
 // 2.判断不为null再进行引用
 var ticker = exchange.GetTicker();
 if(!ticker){
     Log(ticker.Last);
 }
 // 3._C()函数重试
 var ticker = _C(exchange.GetTicker);
 Log(ticker.Last);
 // 4. try catch容错
 try{
     var ticker = exchange.GetTicker();
     Log(ticker.Last);
 }
 catch(err){
     Log('ticker 获取出错');
 } 

আপনি যদি ভুল তথ্য পেতে চান তাহলে এটি ব্যবহার করতে পারেন।GetLastError(), গতবারের ভুল বার্তার স্ট্রিং ফেরত দেয়, যা ভুলের জন্য পার্থক্য প্রক্রিয়াকরণ করতে পারে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

ফোরামের শীর্ষ পোস্টে অনেকগুলি সাধারণ ভুল সংক্ষিপ্তসার রয়েছেঃhttps://www.fmz.com/bbs-topic/1427এখানে কিছু সংক্ষিপ্ত বিবরণ দেওয়া হল, আপনি যদি সমস্যার সম্মুখীন হন তবে Ctrl+F দিয়ে অনুসন্ধান করুন।

কিভাবে ট্রাস্টি নিয়োগ করবেন?

অ্যাড-অন হোস্ট বিভাগে বিস্তারিত জানুন

আপনি কি জানেন যে, আপনি কি একটি প্রতিলিপি কৌশল খুঁজে পেতে পারেন?

https://www.fmz.com/marketsএই নিবন্ধে, আমরা আপনাকে একটি ছোট তালিকা দেখাবো, যেখানে আপনি নিজের জন্য এবং নিজের ঝুঁকিতে একটি লিপিবদ্ধকরণ পরিষেবা সরবরাহ করতে পারেন।

সমস্ত ইন্টারফেস অ্যাক্সেস করার সময়সীমা

এটি একটি এক্সচেঞ্জ ইন্টারফেসের অ্যাক্সেস ওভারটাইমকে বোঝায়, যদি এটি মাঝে মাঝে ঘটে থাকে তবে এটি কোনও সমস্যা নয়, যদি এটির নেটওয়ার্কটি অ্যাক্সেসযোগ্য না হয় তবে বিদেশী সার্ভারটি ব্যবহার করা দরকার।

ERR_INVALID_POSITION ত্রুটি

রিভিউ সিস্টেম ত্রুটি রিপোর্ট করে, সাধারণত কৌশলগত ত্রুটি লিখতে হয়, যখন কোনও হোল্ডিং না থাকে বা পর্যাপ্ত পরিমাণে হোল্ডিং থাকে, তখন একটি স্টপ পজিশনের চেষ্টা করা এই ত্রুটির কারণ হয়।

প্রতীক সেট করা হয়নি

ফিউচার এক্সচেঞ্জের রিভিউ, কোডটিতে কোন চুক্তি সেট করা নেই, দেখুন exchange.SetContractType ফাংশন

বিটমেক্স ৪২৯ ত্রুটি, {error:{message:Rate limit exceeded retry in 1 seconds......}}

এক্সচেঞ্জ ইন্টারফেস ভিজিট করার ফ্রিকোয়েন্সি খুব বেশি।

{status:6004,msg:timestamp is out of range} {status:6004,msg:timestamp is out of range} {status:6004,msg:timestamp is out of range} {status:6004,msg:timestamp is out of range}

সার্ভারের সময়সীমার বাইরে সার্ভারের সময় আপডেট করা প্রয়োজন, খুব বেশি বিচ্যুতি হতে পারে না

GetOrder ((455284455): ত্রুটিঃ অবৈধ অর্ডার আইডি বা অর্ডার বাতিল করা হয়েছে।

কিছু এক্সচেঞ্জের অর্ডার বাতিল করা হয়েছে এবং এক্সচেঞ্জের কাছে অর্ডার সম্পর্কিত তথ্য নেই।

GetOrders: 400: {কোড:-1121,msg:অবৈধ প্রতীক.}

অকার্যকর লেনদেনের জোড়া, যাচাই করা হচ্ছে কিনা লেনদেনের জোড়া সেটিং ত্রুটি।

সিক্রেট কী ডিক্রিপ্ট ব্যর্থ হয়েছে

API KEY পার্সল করতে ব্যর্থ হয়েছে, যদি APIKEY কনফিগার করার পর FMZ পাসওয়ার্ড পরিবর্তন করা হয়, তাহলে FMZ এ এক্সচেঞ্জ পৃষ্ঠা যোগ করার চেষ্টা করুন এবং এক্সচেঞ্জ APIKEY পুনরায় কনফিগার করুন।

Signature not valid: Invalid submission time or incorrect time format (স্বাক্ষর বৈধ নয়ঃ অবৈধ জমা দেওয়ার সময় বা ভুল সময় বিন্যাস)

এটি লিনাক্স সার্ভার ব্যবহার করার পরামর্শ দেওয়া হয়, অথবা উইন্ডোজ সিস্টেম ইনস্টলেশনের সময় সিঙ্ক সফ্টওয়্যার যেখানে এই সমস্যা দেখা দেয়।

কেন একটি বিশ্বব্যাপী এজেন্ট সেট আপ করা হয়, এবং ট্রাস্টি এক্সচেঞ্জ এপিআই অ্যাক্সেস করতে পারে না?

গ্লোবাল এজেন্টের কোনও এজেন্ট হোস্টের নেটওয়ার্ক পোর্ট নেই, বিলম্বের কারণে বিদেশী সার্ভারগুলির হোস্টগুলি স্থাপন করা ভাল

কিভাবে এই কৌশলটি স্থানীয়ভাবে সংরক্ষণ করা যায়, আপলোড করা FMZ এর পরিবর্তে?

পাইথন ব্যবহার করে স্থানীয়ভাবে ফাইল আমদানি করা যায়, এফএমজেডের এপিআই-র উপর ভিত্তি করে লিখিত নীতিগুলি ফাইল হিসাবে সংরক্ষণ করা হয় এবং তাদের সার্ভারে এক্সিকিউশন পাথের নীচে সরাসরি এক্সিকিউশন পড়তে পারে।

#!python2.7

def run(runfile):
      with open(runfile,"r") as f:
            exec(f.read())
            
def main():
    run('my.py')

কিভাবে এক্সচেঞ্জের টেস্টিং নেট ব্যবহার করবেন অথবা API এর ডাটাবেস ঠিকানা পরিবর্তন করবেন

এক্সচেঞ্জ.সেটবেস (//) ব্যবহার করে সরাসরি সংশ্লিষ্ট এপিআই বেস ঠিকানায় স্যুইচ করতে পারেন।

exchange.SetBase("https://www.okex.me")

আরো

গাওনচেয়ারএপিআই

বিজ্ঞানআমি একটি সহজ লগ আউটপুট স্টেটমেন্ট লিখেছি এবং বাক্যের শেষে অপারেশনটি অনুসরণ করেছি। প্রথম ধাপটি হ'ল একটি ল্যাপটপকে সার্ভার হিসাবে ব্যবহার করা এবং হোস্ট প্রোগ্রামটি চালানো। দ্বিতীয় ধাপে, একটি সহজ লগ আউটপুট তথ্যের জন্য test.py প্রোগ্রাম লিখুন (FMZ এর API ইন্টারফেস ফাংশন); তৃতীয় ধাপে, পাঠ্যের শেষে যেমন, একটি রানফাইল লিখুন, যা run.py এর মাধ্যমে test.py কল করে চলে। /upload/asset/1add39483ef82d45b3ce3.png

জিপি৯আমি যে নেটওয়ার্ক ক্লাউড কোয়ালিটি ট্রেডিং কোর্স কিনেছি তা এখন কোথায় আছে?

মনুরাজাকঅনেক

মনুরাজাকহাই

ভাইয়েরা।শেখা

wqyএকটি ছোট্ট টেক্সট ত্রুটি আছে, GetAccount অ্যাকাউন্ট প্রাপ্তি। ফ্রিজেন স্টকগুলিকে একটি অব্যবহৃত ব্যালেন্সের পরিবর্তে একটি হিমায়িত ব্যালেন্স হিসাবে উল্লেখ করা উচিত।

মেজর জয়া।getorder outtime অর্ডার আউটটাইম, ওকেএক্সের এক্সচেঞ্জ, কিভাবে?

উবুড়ির উচ্চ কৌশলগ্যারান্টিযুক্ত সম্পদ হার 0% পর্যন্ত বাধ্যতামূলক বন্ধক গ্যারান্টিযুক্ত সম্পদ হার পাওয়া যাবে না

shifeng2020আমি 1 মিনিট k স্ট্রিং চার্ট অপারেশন দেখছি, তাই পাইথন ডেড লুপের sleep time 0.1s সেট করা যায়, অর্থাৎ sleep ((100) । আমি দেখতে পাচ্ছি আপনি সেখানে একটি sleep ((10) লিখেছেন, অর্থাৎ 0.1s HM এর API সীমা অতিক্রম করবে না?

পূর্ব বাতাসের মন্দিরexchange.SetDirection (("closebuy"); // যদি স্থায়ী চুক্তি হয়, তাহলে সরাসরি exchange.SetDirection (("sell") সেট করুন এখানে আমি OKex এর চিরস্থায়ী চুক্তির চেষ্টা করেছি, যদি সেট করা হয় sell, সরাসরি খালি হয়ে যায়।

পূর্ব বাতাসের মন্দিরexchange.SetDirection (("closebuy"); // যদি স্থায়ী চুক্তি হয়, তাহলে সরাসরি exchange.SetDirection (("sell") সেট করুন এখানে আমি OKex এর চিরস্থায়ী চুক্তির চেষ্টা করেছি, যদি সেট করা হয় sell, সরাসরি খালি হয়ে যায়।

পূর্ব বাতাসের মন্দিরGetOrders এর কোডে দুটি বানান ত্রুটি রয়েছে। একটি ফাংশন ফাংশন হিসেবে লেখা হয়েছে, অন্যটি ফর লুপের শর্তে লেখা হয়েছে।

পূর্ব বাতাসের মন্দিরআমার ভুল ছিল। exchange.Buy ((-1, 0.5), ট্রেডিং জোড়াটি হল ETH_BTC, বাজারের তালিকাটি 0.5BTC এর ETH কেনার প্রতিনিধিত্ব করে exchange.Buy ((price, 0.5), যদি এই ধরনের সীমা তালিকা হয়, তাহলে 0.5ETH কেনার জন্য price ব্যবহার করা হয়।

পূর্ব বাতাসের মন্দিরexchange.Buy ((-1, 0.5), যা ETH_BTC এর বিনিময় হয়, যা বাজারের মূল্যের 0.5BTC এর ETH কেনার প্রতিনিধিত্ব করে এখানে আপনি 0.5 ETH এর জন্য বাজারের মূল্যের জন্য টমেটো কিনতে হবে।

জিপি৯ধন্যবাদ।

ঘাসএটি অনলাইনে পাওয়া যায় https://study.163.com/course/courseMain.htm?share=2&shareId=400000000602076&courseId=1006074239&_trace_c_p_k2_=c3f5d238efc3457d93c8b92c0398d2b2

ঘাসহোমপেজে উইকিমিডিয়া যুক্ত করুন, আপনাকে দলে যুক্ত করুন

wqyআপনি কি আমাদের অফিসিয়াল ফোরাম সম্পর্কে জানতে চান? কখনও কখনও আপনার সমস্যা হয় এবং আপনি কোথায় জিজ্ঞাসা করবেন তা জানেন না।

ঘাসপরিবর্তন করা হয়েছে

ঘাসপুনরুদ্ধার

ঘাসআপনি GetRawJSON ব্যবহার করতে পারেন অথবা Info ক্ষেত্রের তথ্য দেখতে পারেন

পূর্ব বাতাসের মন্দিরখুব ভাল, এবং প্রশাসনিক প্রতিক্রিয়াও। আমি কোডটিতে অনেকগুলি বানান ত্রুটি পেয়েছি, হা হা।

ঘাসওহ, সংশোধন করা হয়েছে, ভুলটি দেখানোর জন্য ধন্যবাদ।

ঘাসকিছু স্থায়ী চুক্তি দ্বিপাক্ষিক হোল্ডিংয়ের অনুমতি দেয়, স্থিতিশীলতা সেট করতে হবে। আমি আপডেট করেছি, এটি কেবল বিটমেক্স ছিল।