3.3 حکمت عملی کے عام فریم ورک، ایک حکمت عملی کا فریم ورک

مصنف:چھوٹا سا خواب, تخلیق: 2016-11-12 14:36:54, تازہ کاری: 2019-08-01 09:23:53

حکمت عملی کے عام فن تعمیر، ایک حکمت عملی کا فریم ورک


  • حکمت عملی کی عمومی ساخت

    2.6 فیوچر سیکشن میں ہم نے ابتدائی طور پر سی ٹی پی پروسیسنگ کا استعمال کیا ہے جو عام طور پر تجارتی فیوچر کے لئے استعمال کیا جاتا ہے (جواب دہندگان)

function MainLoop(){ //  处理具体工作的函数
  // deal Main task
}
function main() {
      var status = null;
      while(true){
          status = exchange.IO("status");      //  调用API 确定连接状态
          if(status == true){                 //  判断状态
              LogStatus("已连接!");
              MainLoop();                      //  连接上 交易所服务器后,执行主要工作函数。
          }else{                               //  如果没有连接上 即 exchange.IO("status") 函数返回 false
              LogStatus("未连接状态!");         //  在状态栏显示 未连接状态。
          }
          Sleep(1000);                         //  需要有轮询间隔, 以免访问过于频繁。
      }
}

ڈیجیٹل کرنسی کی حکمت عملی کا عام ڈھانچہ کیا ہے؟ یہ بھی ایک راؤنڈ اپ کی طرح ہے ، لیکن اصل میں یہ تجارتی مستقبل سے کہیں زیادہ آسان ہے:

//other functions
function f1(){
    //...
}
//...
function loop(){
    // do somethings
    f1();
    //...
    //API...
}
function main(){
    //初始化
    //...
    
    while(true){
        loop();
        Sleep(1000);
    }
}

اس کے ساتھیوں نے سوال کیا: کیا فن تعمیر مشاورت پر مبنی ہے یا اس میں متوازی عملدرآمد کا کوئی طریقہ کار ہے؟
موجد کی مقدار پلیٹ فارم نے API کے کچھ حصے کو ہم آہنگی کے طریقہ کار کی حمایت کے لئے پیک کیا ہے ، جیسا کہ ذیل میں دکھایا گیا ہے: (مزید معلومات کے لئے API دستاویزات دیکھیں)

img

  • ملٹی ٹاسک ماڈل

    کوڈ فن تعمیر: (میں خود بھی ایک نیبو ہوں، فن تعمیر Z سے بڑا سیکھنے کے لئے ہے، اگر کوئی غلطی ہے تو اس کی نشاندہی کریں)
// 其它函数
function buy(){
    Log("buy");
}
//任务生成器构造函数
function MakeTasksController(){
    var TasksController = {};
    TasksController.tasks = [];  // 任务数组
    TasksController.initTask = function(cmd){ // 初始化要执行的任务参数、设置
        var task = {
            //各种任务 数据
            cmd : 0,     // 命令: 0:waiting , 1: buy 
            state: 0,    // 状态: 0:uncomplete  1: complete
            //...
        };
        task.cmd = cmd;
        //task.XX  初始化
        TasksController.tasks.push(task);   // 存入 任务数组
    };
    TasksController.DealWithTasks = function(){  // 处理  tasks 数组内 储存的task
        _.each(TasksController.tasks, function(task){  // 迭代 执行全部任务
            // 处理任务task ,保存每个任务的状态数据,直到任务完成。在处理任务的具体代码中 不做死循环处理。 
            // 即每个任务不独占时间。下次轮询 读取task 数据继续任务。从而实现模拟多任务模式。 
            // ...
            if(task.cmd === 1){
                buy();
                task.state = 1; // 任务执行完成就调用 赋值语句 给task.state 标记赋值
            }
        });
    };
    TasksController.CheckTask = function(){
        var process = 0;
        _.each(TasksController.tasks, function(task){
            if(task.state === 1){
                // 任务已经完成,弹出完成的任务。
                Log("task.cmd:", task.cmd, "已完成!");
            }else{
                process++;
            }
        });
        if(process === 0){
            TasksController.tasks = [];    // 清空 任务数组
        }
    };
    return TasksController;
}
function main(){
    var tasksController = MakeTasksController();
    var count = 0;
    while(true){
        //触发新建任务,例子。
        if(count === 100){
            tasksController.initTask(1);   //  初始化任务,   buy 任务  即  1 
            //...  初始其它任务。
        }
        //...      
        tasksController.DealWithTasks();  // 处理任务
        tasksController.CheckTask();      // 检查任务处理
        count++;
        Sleep(200);   //  任务很多的时候 可以适当减小 Sleep 的参数值
    }
}
  • ایک مکمل تجارتی نظام میں کون سے ماڈیولز شامل ہیں؟

    1، آمدنی کے اعدادوشمار کا ماڈیول۔ 2، UI انٹرفیس، ڈیٹا کی رائے، حالت کی نمائش۔ 3، انٹرایکٹو ماڈیولز۔ چار، چارٹ ماڈیولز۔ 5، حکمت عملی منطق (مخصوص ٹریڈنگ الگورتھم) 6، ٹرانزیکشن ماڈیولز۔ 7، ڈیٹا پروسیسنگ ماڈیولز۔

    ایک سادہ حکمت عملی کا فریم ورک:ایک سادہ حکمت عملی فریم ورک (اپنے آپ کو تبدیل کرنے اور توسیع)

    یہ حکمت عملی کا فریم ورک بنیادی طور پر اس سے پہلے سیکھنے کے مواد کی طرح ہے۔ ہر پہلو کوڈ کے ساتھ مل کر آتا ہے ، کوڈ کو احتیاط سے پڑھیں ، آپ کو معلوم ہوگا کہ یہ واقف ہے۔ یہ براہ راست چل سکتا ہے ، لیکن اس میں کوئی ٹرگر کوڈ نہیں لکھا گیا ہے ، اور خود کو بڑھا سکتا ہے۔ اگلی قسط میں، ہم اس حکمت عملی کے فریم ورک کو بڑھانے کے لئے ہاتھ اٹھائیں گے تاکہ حکمت عملی واقعی چل سکے۔


مزید

کیوناس کے علاوہ ، آپ کو یہ بھی سیکھنا چاہئے کہ آپ نے کیا سیکھا ہے۔

وولاسیکھنے کا راستہ شروع کریں، زین