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

新手求助:可否幫我實現一套止贏止損基礎策略代碼? [MC]

  • MC用戶求助:

    大概理解您的意思,不過還是想以一個例子來理清一下思路:

    1、假設周期是15分鐘周期,M代表的是7分鐘,d代表的是3分鐘,第一根bar的收盤價是9:15分鐘。

    2、基于上述假設,建倉清倉周期時間點分別是9:22,9:29,依此類推,每次加7分鐘是吧。

    3、在9:25分鐘的時候,以市價買入一手建倉。

    4、那么請問,您的策略是否涉及加倉,也就是當前有多頭持倉的情況下,下一個多頭建倉的時間點是9:32分鐘。

    5、在9:25分鐘的時候買入建倉了,那么在9:29分鐘之前,若價格沒有達到損失或者盈利百分比就會在9:29進行市價平倉,是吧。

    6、若9:29平倉了,那么會在9:32再次多頭進場是吧,然后再循環平倉建倉進行下去是吧

    ?

  • MC回復討論一:

    大概理解您的意思,不過還是想以一個例子來理清一下思路:

    1、假設周期是15分鐘周期,M代表的是7分鐘,d代表的是3分鐘,第一根bar的收盤價是9:15分鐘。

    2、基于上述假設,建倉清倉周期時間點分別是9:22,9:29,依此類推,每次加7分鐘是吧。

    3、在9:25分鐘的時候,以市價買入一手建倉。

    4、那么請問,您的策略是否涉及加倉,也就是當前有多頭持倉的情況下,下一個多頭建倉的時間點是9:32分鐘。

    5、在9:25分鐘的時候買入建倉了,那么在9:29分鐘之前,若價格沒有達到損失或者盈利百分比就會在9:29進行市價平倉,是吧。

    6、若9:29平倉了,那么會在9:32再次多頭進場是吧,然后再循環平倉建倉進行下去是吧

    ?

  • MC回復討論二:

    感謝這么快的回應!

    不涉及加倉,競價階段不參與,其他描述無誤。

    另外,補充一個需求點:第一次開倉有2種情況,除了上面說的第一根bar之外,還允許指定一個絕對時間(日期時分秒),這樣我可以提前計劃從哪個時間點開始真正運行策略。

    謝謝Alex!

    ?

  • MC回復討論三:

    [IntrabarOrderGeneration=true]

    input: time_begin(91500), time_M(700), time_d(300), ploss(0.01), pprofit(0.01);

    var: intrabarpersist time_define0(0), intrabarpersist time_define1(0), intrabarpersist minus_seconds(0), intrabarpersist time_b(time_begin), intrabarpersist var_begin(0), intrabarpersist var_end(0);

    var: intrabarpersist time_end(0), intrabarpersist date0(0), intrabarpersist date1(0);

    value1=getappinfo(airealtimecalc);? ?//判斷是否實時行情

    once begin

    ? ? ? ? once cleardebug;

    ? ? ? ? minus_seconds=timetoseconds(time_m)-timetoseconds(time_d);

    ? ? ? ? time_end=secondstotime_s(timetoseconds(230000)-timetoseconds(time_m)-timetoseconds(time_d)-300);

    end;

    time_define0=time_define1;??

    {time_define0存儲前一筆tick的時間,而time_define1存儲當筆tick的時間;同時下面的date0和date1也是同樣的原理}

    date0=date1;

    date1=date;

    if value1=0 then

    ? ? ? ? time_define1=time_s

    else if value1=1 then

    ? ? ? ? time_define1=q_time_s;

    {以上4行代碼,用于將回測的bar內時間與實行行情的時間連接起來,都存儲在變量time_define1中}

    if date1<>date0 then begin

    ? ? ? ? var_begin=secondstotime_s(timetoseconds(time_begin)+timetoseconds(time_d));

    ? ? ? ? var_end=secondstotime_s(timetoseconds(var_begin)+minus_seconds);

    end;

    if marketposition=0 and time_define0<=var_begin and time_define1>=var_begin and time_define1<time_end then begin

    ? ? ? ? buy next bar at market;

    ? ? ? ? var_end=secondstotime_s(timetoseconds(time_define1)+minus_seconds);

    end;

    if marketposition=1 and (close>=entryprice*(1+pprofit) or close<=entryprice*(1-ploss) or (time_define0<=var_end and time_define1>=var_end)) then begin

    ? ? ? ? sell next bar at market;

    ? ? ? ? var_begin=secondstotime_s(timetoseconds(time_define1)+timetoseconds(time_d));

    end;

    注意事項:

    第一、這個代碼可以用于夜盤品種,但是夜盤結束時間不能在凌晨;若需要適合所有的夜盤,需要做簡單的處理。

    第二、見附圖,需要訪問bar內時間,這樣才可以用于回測,否則只能用于實時行情中。

    第三、在信號設置中允許單一bar多筆進出場。

    第四、因為您的策略基本上已經不屬于常規利用bar與bar之間的關系了,而是直接使用時間間隔進行處理的范疇,所以挺麻煩。

    第五、以上代碼一次沒有辦法教會您,您可能需要一點點學習,不懂多問。

    ?

  • MC回復討論四:

    [IntrabarOrderGeneration=true]

    input: time_begin(91500), time_M(700), time_d(300), ploss(0.01), pprofit(0.01);

    var: intrabarpersist time_define0(0), intrabarpersist time_define1(0), intrabarpersist minus_seconds(0), intrabarpersist time_b(time_begin), intrabarpersist var_begin(0), intrabarpersist var_end(0);

    var: intrabarpersist time_end(0), intrabarpersist date0(0), intrabarpersist date1(0);

    value1=getappinfo(airealtimecalc);? ?//判斷是否實時行情

    once begin

    ? ? ? ? once cleardebug;

    ? ? ? ? minus_seconds=timetoseconds(time_m)-timetoseconds(time_d);

    ? ? ? ? time_end=secondstotime_s(timetoseconds(230000)-timetoseconds(time_m)-timetoseconds(time_d)-300);

    end;

    time_define0=time_define1;??

    {time_define0存儲前一筆tick的時間,而time_define1存儲當筆tick的時間;同時下面的date0和date1也是同樣的原理}

    date0=date1;

    date1=date;

    if value1=0 then

    ? ? ? ? time_define1=time_s

    else if value1=1 then

    ? ? ? ? time_define1=q_time_s;

    {以上4行代碼,用于將回測的bar內時間與實行行情的時間連接起來,都存儲在變量time_define1中}

    if date1<>date0 then begin

    ? ? ? ? var_begin=secondstotime_s(timetoseconds(time_begin)+timetoseconds(time_d));

    ? ? ? ? var_end=secondstotime_s(timetoseconds(var_begin)+minus_seconds);

    end;

    if marketposition=0 and time_define0<=var_begin and time_define1>=var_begin and time_define1<time_end then begin

    ? ? ? ? buy next bar at market;

    ? ? ? ? var_end=secondstotime_s(timetoseconds(time_define1)+minus_seconds);

    end;

    if marketposition=1 and (close>=entryprice*(1+pprofit) or close<=entryprice*(1-ploss) or (time_define0<=var_end and time_define1>=var_end)) then begin

    ? ? ? ? sell next bar at market;

    ? ? ? ? var_begin=secondstotime_s(timetoseconds(time_define1)+timetoseconds(time_d));

    end;

    注意事項:

    第一、這個代碼可以用于夜盤品種,但是夜盤結束時間不能在凌晨;若需要適合所有的夜盤,需要做簡單的處理。

    第二、見附圖,需要訪問bar內時間,這樣才可以用于回測,否則只能用于實時行情中。

    第三、在信號設置中允許單一bar多筆進出場。

    第四、因為您的策略基本上已經不屬于常規利用bar與bar之間的關系了,而是直接使用時間間隔進行處理的范疇,所以挺麻煩。

    第五、以上代碼一次沒有辦法教會您,您可能需要一點點學習,不懂多問。

 

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

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 国产成人亚洲综合| 2020国产精品自拍| 92国产精品午夜福利免费| 2021国产果冻剧传媒不卡| 日本免费色网站| 羞羞歪歪汗汗漫画| 狠狠色噜噜狠狠狠888米奇视频| 欧美日本在线一区二区三区| 日韩伦人妻无码| 妓女嫖客叫床粗话对白| 国产精品永久免费自在线观看| 国产午夜福利片在线观看| 内射白浆一区二区在线观看| 亚洲成人动漫在线| 久久久久无码中| 999久久久无码国产精品| 麻豆tv入口在线看| 狠狠色婷婷久久一区二区三区| 最近中文字幕高清中文字幕无| 尤物国产在线精品福利一区| 国产精品免费久久久久影院| 国产一区内射最近更新| 亚洲精品中文字幕无码AV| 久久午夜电影网| 97久久精品人人澡人人爽| 视频一区二区三区在线观看| 滴着奶水做着爱中文字幕| 男女下面的一进一出视频| 欧美性xxxxx极品老少| 成人福利小视频| 国产精品乱子乱XXXX| 午夜高清免费在线观看| 亚洲人成在线精品| jlzzjlzz亚洲乱熟在线播放 | 久久天天躁狠狠躁夜夜2020一 | 久久国产午夜一区二区福利| 999在线视频精品免费播放观看| 邱淑芬一家交换| 欧美乱人伦中文字幕在线不卡| 实况360监控拍小两口| 国产午夜精品一二区理论影院|