您現(xiàn)在的位置:程序化交易>> 期貨公式>> (MC)multicharts>> MC知識>>正文內(nèi)容

求問,具體怎么控制每日最多只進行一次換股交易 [MC]

  • MC用戶求助:

    inputs: Price( Close ), FastLength( 9 ), SlowLength( 18 ) ;
    variables: var0( 0 ), var1( 0 ) ;
    once??value1=pmms_strategies_get_by_symbol_name(getsymbolname);
    {將當前策略的編號存儲到變量value1上}

    var0 = AverageFC( Price, FastLength ) ;
    var1 = AverageFC( Price, SlowLength ) ;
    if value1=0 then begin
    ? ? ? ? if currentbar=1 or date[1]<>date then
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("num",1);
    end;
    {由于策略的執(zhí)行是從策略編號0開始依次到最大策略編號,然后再循環(huán)執(zhí)行,所以這里通過在策略編號為0時,對全局變量“num”進行賦值1,即當天可交易的次數(shù)}

    condition1 = CurrentBar > 1 and var0 crosses above var1 ;
    if pmm_get_global_named_num("num")=1 and value1=pmm_get_global_named_num("entry") then begin? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?
    ? ? ? ? Buy ( "MA2Cross_Long" ) 1 shares next bar at market ;
    ? ? ? ? pmm_set_global_named_num("num",0);
    ? ? ? ? pmm_set_global_named_num("entry",-1);
    end;
    //進場

    if value1=pmm_get_global_named_num("exit") then begin
    ? ? ? ? Sell ( "MA2Cross_Exit" ) next bar at market ;
    ? ? ? ? pmm_set_global_named_num("exit",-1);
    end;
    //出場


    pmm_set_my_named_num("status",-1);
    if marketposition=0 and condition1 then
    ? ? ? ? pmm_set_my_named_num("status",0)
    else if marketposition=1 and openentrydate(0)=date then
    ? ? ? ? pmm_set_my_named_num("status",1)
    else if marketposition=1 then
    ? ? ? ? pmm_set_my_named_num("status",2);
    {通過變量"status"來存儲當前策略的狀態(tài)}

    if value1=pmms_strategies_count-1 then begin
    ? ? ? ? value3=-1;
    ? ? ? ? value4=-1;
    ? ? ? ? value5=-1;
    ? ? ? ? for value2=0 to pmms_strategies_count-1 begin
    ? ? ? ? ? ? ? ? if pmms_get_strategy_named_num(value2,"status")=0 then
    ? ? ? ? ? ? ? ? ? ? ? ? value3=value2
    ? ? ? ? ? ? ? ? else if pmms_get_strategy_named_num(value2,"status")=2 then
    ? ? ? ? ? ? ? ? ? ? ? ? value4=value2
    ? ? ? ? ? ? ? ? else if pmms_get_strategy_named_num(value2,"status")=1 then
    ? ? ? ? ? ? ? ? ? ? ? ? value5=value2;
    ? ? ? ? end;
    ? ? ? ? if value3<>-1 and value4<>-1 then begin
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("entry",value3);
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("exit",value4);
    ? ? ? ? end
    ? ? ? ? else if value3<>-1 and value5=-1 then
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("entry",value3);
    end;
    {在最后一個策略的執(zhí)行的末尾對前期所有的策略進行遍歷,將當前可以進場的股票的策略編號賦值給value3,并且存儲到全局變量"entry“上;將當前可以出場的股票的策略編號賦值給value4,并且存儲到全局變量”exit“上}


    這里只是舉個例子,通過雙均線輪動選股,每天最多只交易一次(換股一次);當某個股票滿足進場條件(若有若干個股票同時滿足進場條件,那么會選擇最后一個股票進場),即出現(xiàn)金叉時,并且當前有已有持倉的股票是可賣的或者當前無任何持倉股票,當這兩個條件同時滿足時(即一個股票滿足進場,另一個股票滿足出場)進行換股。

    ?

    圖1. 股票投資組合換股

    ?

    ?

  • MC回復討論一:

    inputs: Price( Close ), FastLength( 9 ), SlowLength( 18 ) ;
    variables: var0( 0 ), var1( 0 ) ;
    once??value1=pmms_strategies_get_by_symbol_name(getsymbolname);
    {將當前策略的編號存儲到變量value1上}

    var0 = AverageFC( Price, FastLength ) ;
    var1 = AverageFC( Price, SlowLength ) ;
    if value1=0 then begin
    ? ? ? ? if currentbar=1 or date[1]<>date then
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("num",1);
    end;
    {由于策略的執(zhí)行是從策略編號0開始依次到最大策略編號,然后再循環(huán)執(zhí)行,所以這里通過在策略編號為0時,對全局變量“num”進行賦值1,即當天可交易的次數(shù)}

    condition1 = CurrentBar > 1 and var0 crosses above var1 ;
    if pmm_get_global_named_num("num")=1 and value1=pmm_get_global_named_num("entry") then begin? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?
    ? ? ? ? Buy ( "MA2Cross_Long" ) 1 shares next bar at market ;
    ? ? ? ? pmm_set_global_named_num("num",0);
    ? ? ? ? pmm_set_global_named_num("entry",-1);
    end;
    //進場

    if value1=pmm_get_global_named_num("exit") then begin
    ? ? ? ? Sell ( "MA2Cross_Exit" ) next bar at market ;
    ? ? ? ? pmm_set_global_named_num("exit",-1);
    end;
    //出場


    pmm_set_my_named_num("status",-1);
    if marketposition=0 and condition1 then
    ? ? ? ? pmm_set_my_named_num("status",0)
    else if marketposition=1 and openentrydate(0)=date then
    ? ? ? ? pmm_set_my_named_num("status",1)
    else if marketposition=1 then
    ? ? ? ? pmm_set_my_named_num("status",2);
    {通過變量"status"來存儲當前策略的狀態(tài)}

    if value1=pmms_strategies_count-1 then begin
    ? ? ? ? value3=-1;
    ? ? ? ? value4=-1;
    ? ? ? ? value5=-1;
    ? ? ? ? for value2=0 to pmms_strategies_count-1 begin
    ? ? ? ? ? ? ? ? if pmms_get_strategy_named_num(value2,"status")=0 then
    ? ? ? ? ? ? ? ? ? ? ? ? value3=value2
    ? ? ? ? ? ? ? ? else if pmms_get_strategy_named_num(value2,"status")=2 then
    ? ? ? ? ? ? ? ? ? ? ? ? value4=value2
    ? ? ? ? ? ? ? ? else if pmms_get_strategy_named_num(value2,"status")=1 then
    ? ? ? ? ? ? ? ? ? ? ? ? value5=value2;
    ? ? ? ? end;
    ? ? ? ? if value3<>-1 and value4<>-1 then begin
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("entry",value3);
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("exit",value4);
    ? ? ? ? end
    ? ? ? ? else if value3<>-1 and value5=-1 then
    ? ? ? ? ? ? ? ? pmm_set_global_named_num("entry",value3);
    end;
    {在最后一個策略的執(zhí)行的末尾對前期所有的策略進行遍歷,將當前可以進場的股票的策略編號賦值給value3,并且存儲到全局變量"entry“上;將當前可以出場的股票的策略編號賦值給value4,并且存儲到全局變量”exit“上}


    這里只是舉個例子,通過雙均線輪動選股,每天最多只交易一次(換股一次);當某個股票滿足進場條件(若有若干個股票同時滿足進場條件,那么會選擇最后一個股票進場),即出現(xiàn)金叉時,并且當前有已有持倉的股票是可賣的或者當前無任何持倉股票,當這兩個條件同時滿足時(即一個股票滿足進場,另一個股票滿足出場)進行換股。

    ?

    圖1. 股票投資組合換股

    ?

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 511411198  點擊這里給我發(fā)消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 国产91中文剧情在线观看| 99在线精品视频在线观看| 一日本道a高清免费播放| 91欧美在线视频| 说女生二哈是什么意思 | 麻豆xfplay国产在线观看| 男女爽爽无遮挡午夜视频在线观看 | 欧美国产激情二区三区| 新版bt天堂资源在线| 国模冰莲自慰肥美胞极品人体图| 国产偷久久久精品专区| 亚洲精品无码专区在线| 久久久精品2019中文字幕之3| 99r在线视频| 老师让我她我爽了好久动漫| 四虎在线成人免费网站| 美女视频黄a视频全免费网站色| 欧美激情一区二区三区中文字幕| 无人视频免费观看免费直播在线观看 | 啊灬啊灬别停啊灬用力啊免费 | 一道本免费视频| 高清无码视频直接看| 波多野结衣av无码久久一区| 收集最新中文国产中文字幕| 国产私拍福利精品视频| 免费人妻无码不卡中文字幕18禁| 久久天天躁狠狠躁夜夜| 337p日本欧洲亚洲大胆艺术| 精品免费AV一区二区三区| 日韩精品一区在线| 国产精品福利自产拍在线观看| 免费观看性欧美大片无片| 久久久久无码国产精品不卡| 手机在线看片国产日韩生活片| 神马老子不卡视频在线| 日日躁夜夜躁狠狠天天| 国产熟女一区二区三区五月婷 | 亚洲欧美日本另类| 一本色道久久88精品综合| 蜜臀色欲AV在线播放国产日韩| 杨幂被c原视频在线观看|