大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

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

@Alex,請(qǐng)幫忙看看下面代碼是不是有問題? [MC]

  • MC用戶求助:

    采用tick周期

    目的是價(jià)格比13.10低0.04就買入,比13.10高0.05就賣出

    以買入為例:

    如果買入成功后,13.10變成13.06,比13.06高0.05賣出,比13.06低0.04買入,以此類推;

    vars:mpab(0),order_status(0),order_no(1),cen(13.10),up(0.05),down(0.04);{mpab記錄實(shí)盤證券帳號(hào)的總股數(shù),order_status記錄成交狀態(tài),cen代表當(dāng)前參考價(jià)格,up,down分別為上下波動(dòng)}

    if MarketPosition_at_Broker > 0 then

    ? ? mpab = MarketPosition_at_Broker;

    ?

    if mpab[2] > 0 then {試驗(yàn)發(fā)現(xiàn),無論給mpab什么值,發(fā)生了mpab = MarketPosition_at_Broker后,總是mpab[1]=0,所以參考bar設(shè)為3,mpab[2] >0 保證解決了初始0值的問題,如果初始是0,則condition1一開始都是成立的}

    ?

    begin?

    condition1 = mpab > mpab[1];

    condition2 = mpab < mpab[1];

    condition3 = mpab = mpab[1];

    condition4 = close - cen >= up;

    condition5 = cen - close >= down;

    if condition3 and order_status = 0 then

    begin

    ? ? if condition4 then

    ? ? begin

    ? ? ? ? sell 200 shares from entry(text(order_no)) next bar at market;

    ? ? ? ? print("----sell----");

    ? ? ? ? order_no = order_no -1;

    ? ? ? ? order_status = 1;

    ? ? end;

    ? ??

    ? ? if condition5 then

    ? ? begin

    ? ? ? ? order_no = order_no + 1;? ??

    ? ? ? ? buy (text(order_no)) 200 shares next bar at market;? ??

    ? ? ? ? print("++++buy++++");? ??

    ? ? ? ? order_status = 1;

    ? ? end;? ??

    end;

    ?

    if condition1 then?

    begin

    ? ? cen = cen + up;

    ? ? order_status = 0;

    end;

    ?

    if condition2 then?

    begin

    ? ? cen = cen - down;

    ? ? order_status = 0;

    end;

    end;

    print(cen,"? ? ",mpab,"? ? ",mpab[1],"? ? ",order_status ,"? ? ", order_no);

    問題出在實(shí)盤模擬的時(shí)候,打印了++++buy++++,但是圖上面沒有標(biāo)定買入信號(hào),mpab的值沒有變化,電腦右下也沒有彈出發(fā)出委托的氣泡,請(qǐng)問這是哪里除了問題?

    打印結(jié)果如下:?
    13.10? ? 101400.00? ? 101400.00? ?? ? 0.00? ?? ? 1.00
    ??13.10? ? 101400.00? ? 101400.00? ?? ? 0.00? ?? ? 1.00
    ++++buy++++
    ??13.10? ? 101400.00? ? 101400.00? ?? ? 1.00? ?? ? 2.00
    ??13.10? ? 101400.00? ? 101400.00? ?? ? 1.00? ?? ? 2.00
    ??13.10? ? 101400.00? ? 101400.00? ?? ? 1.00? ?? ? 2.00

    (來自舊論壇客戶,thgink)

    ?

  • MC回復(fù)討論一:

    您的代碼中有一個(gè)bug,您應(yīng)該在開啟自動(dòng)交易時(shí)手動(dòng)輸入了初始倉位,這個(gè)也在您的初始參數(shù)order_no初始值為1中看出來了,我將在下面點(diǎn)出您的問題,假設(shè)都已經(jīng)開啟自動(dòng)交易了,并且手動(dòng)輸入了101400股:

    第一、初始輸入會(huì)在圖表上標(biāo)記"Initial Entry",所以按照您代碼中的方式,您一直賣不出去,因?yàn)槟莊rom entry(text(order_no)),而不是from entry("Initial Entry")。

    第二、如果價(jià)格在開啟自動(dòng)交易之后下降然后執(zhí)行市價(jià)買入命令,我猜測(cè)您因?yàn)槭褂媚J(rèn)允許同一方向一筆進(jìn)場(chǎng),如果是這樣的話,因?yàn)閳D表已經(jīng)有初始多頭進(jìn)場(chǎng)了,后續(xù)即使?jié)M足進(jìn)場(chǎng)條件也不會(huì)再多頭進(jìn)場(chǎng)。

    第三、基于上面兩點(diǎn),您肯定不能賣出股票也不能買入股票;另外,由于代碼“if MarketPosition_at_Broker > 0 then

    ? ? mpab = MarketPosition_at_Broker;”的存在,所以一旦mpab不為0,那么導(dǎo)致后續(xù)mpab一直不為0

    第四、另外,問一下,您使用是SA模式還是AA模式,使用的是真回報(bào)還是假回報(bào)?

    ?

  • MC回復(fù)討論二:

    SA,真回報(bào)

    設(shè)置的是同一方向允許6500筆進(jìn)場(chǎng)

    這里的邏輯是昨日收盤,受傷已經(jīng)有很多股票才會(huì)執(zhí)行程序,如果沒有股票則什么也不做

    ?

    那個(gè)bug我也直到,所以真是的使用的是這個(gè)

    if condition4 then

    begin

    if order_no > 1 then?

    begin

    sell 200 shares from entry(text(order_no)) this bar on close;

    order_no = order_no -1;

    end

    else

    sell 200 shares from entry("Initial Entry") this bar on close;

    print("----sell----");

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    order_status = 1;

    end;

    ?

    這兩個(gè)似乎都不是問題的關(guān)鍵,問題的關(guān)鍵是MarketPosition_at_Broker不行,換成marketposition*currentshares初步看來就可以了,我本來的目標(biāo)是想通過實(shí)時(shí)的獲取券商處的股票數(shù),以判定實(shí)際上是否發(fā)生成交,可是加載策略的時(shí)候會(huì)把歷史數(shù)據(jù)計(jì)算一次,這會(huì)導(dǎo)致一些問題,但是也不是關(guān)鍵,不是歷史數(shù)據(jù)導(dǎo)致的問題就是發(fā)不出單

    我想請(qǐng)教:具體得知成交了用那種方式最靠譜?我指的相對(duì)靠譜是說確實(shí)成交了,比如掛單200股賣出,我確實(shí)賣了200股

    其實(shí),只有一個(gè)方式才是穩(wěn)妥的,就是能否根據(jù)時(shí)刻獲取持股數(shù),比如在t時(shí)刻觸發(fā)條件,做出了買或賣,這時(shí)候?qū)時(shí)刻的持股數(shù)記錄下來,在對(duì)比t之后每個(gè)時(shí)刻的持股數(shù),如果有變動(dòng),變動(dòng)在預(yù)期值,這說明按要求發(fā)單且成交了。我這個(gè)方案的問題在于邏輯上要求得到瞬時(shí)變化,這要求我有點(diǎn)高了,可能也與multicharts的每個(gè)bar運(yùn)行一次的邏輯有沖突。還像請(qǐng)教您一下,能否獲得比如一小時(shí)前的持倉數(shù)?雖然現(xiàn)在并不需要這么做了。

    ?

    ?

  • MC回復(fù)討論三:

    后來改成這樣了:

    [SameExitFromOneEntryOnce = false];

    vars:cen(13.40), tims(0),cur(0), up(0.03),down(0.03),cur_r(0),size(200),order_status(0),order_no(0),var1(0);

    ?

    var1 = 0;

    ?

    if 0 >= marketposition_at_broker then buy ("Initial Entry") 10000 shares this bar on close;

    cur = currentshares;

    if marketposition_at_broker> 0 then

    begin

    ? ? ? ? ? ? ? ? if order_status = 1 and var1 = 0 then

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? ? ? ? ? var1 = 1;

    ? ? ? ? ? ? ? ? ? ? ? ? print("order_status = 1 and var1 = 0 ",cur_r,"? ",cur," ",time_s);? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? ? ? ? ? if cur_r - cur >= size then

    ? ? ? ? ? ? ? ? ? ? ? ? begin?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print("condition3:",cur_r,"? ",cur," ",time_s);

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? order_status = 0;

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cen = cen + up;

    ? ? ? ? ? ? ? ? ? ? ? ? end;? ? ? ??

    ? ? ? ? ? ? ? ? ? ? ? ? if cur - cur_r >= size then

    ? ? ? ? ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print("condition4:",cur_r,"? ",cur," ",time_s);

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? order_status = 0;

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cen = cen - down;

    ? ? ? ? ? ? ? ? ? ? ? ? end;

    ? ? ? ? ? ? ? ? end;

    ?

    ? ? ? ? if close - cen >= up and order_status = 0 and var1 = 0 then

    ? ? ? ? begin

    ? ? ? ? ? ? ? ? print("condition1 and order_status = 0 and var1 = 0"," ",time_s);

    ? ? ? ? ? ? ? ? tims = time_s;

    ? ? ? ? ? ? ? ? if order_no >= 1 then

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? sell size shares from entry(text(order_no)) this bar on close;

    ? ? ? ? ? ? ? ? order_no = order_no - 1;

    ? ? ? ? ? ? ? ? end

    ? ? ? ? ? ? ? ? else

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? sell size shares from entry("Initial Entry") this bar on close;

    ? ? ? ? ? ? ? ? order_no = 0;

    ? ? ? ? ? ? ? ? end;

    ? ? ? ? ? ? ? ? print("----"," ",time_s);

    ? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? order_status = 1;? ? ? ??

    ? ? ? ? ? ? ? ? var1 = 1;? ? ? ??

    ? ? ? ? end;

    ? ? ? ? if cen - close >= down and order_status = 0 and var1 = 0 then

    ? ? ? ? begin

    ? ? ? ? ? ? ? ? print("condition2 and order_status = 0 and var1 = 0"," ",time_s);

    ? ? ? ? ? ? ? ? tims = time_s;

    ? ? ? ? ? ? ? ? order_no = order_no + 1;

    ? ? ? ? ? ? ? ? buy (text(order_no)) size shares this bar on close;

    ? ? ? ? ? ? ? ? print("++++"," ",time_s);

    ? ? ? ? ? ? ? ? order_status = 1;? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? var1 =1;

    ? ? ? ? end;?

    ? ? ? ? if time_s = tims then?

    ? ? ? ? begin

    ? ? ? ? print("time_s = tims "," ",time_s);?

    ? ? ? ? cur_r= currentshares;

    ? ? ? ? end;

    ? ? ? ??

    end;

    ?

    print(currentbar,"? ? ",var1, "? ? ",tims,"? ?",order_status,"? ? ",order_no,"? ? ",close,"? ?",cen,"? ? ",cur,"? ? ",cur_r,"? ? ",time_s);

    ? ? ? ??

    應(yīng)該沒問題了。

    多謝指導(dǎo)!

    ?

    ?

  • MC回復(fù)討論四:

    后來改成這樣了:

    [SameExitFromOneEntryOnce = false];

    vars:cen(13.40), tims(0),cur(0), up(0.03),down(0.03),cur_r(0),size(200),order_status(0),order_no(0),var1(0);

    ?

    var1 = 0;

    ?

    if 0 >= marketposition_at_broker then buy ("Initial Entry") 10000 shares this bar on close;

    cur = currentshares;

    if marketposition_at_broker> 0 then

    begin

    ? ? ? ? ? ? ? ? if order_status = 1 and var1 = 0 then

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? ? ? ? ? var1 = 1;

    ? ? ? ? ? ? ? ? ? ? ? ? print("order_status = 1 and var1 = 0 ",cur_r,"? ",cur," ",time_s);? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? ? ? ? ? if cur_r - cur >= size then

    ? ? ? ? ? ? ? ? ? ? ? ? begin?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print("condition3:",cur_r,"? ",cur," ",time_s);

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? order_status = 0;

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cen = cen + up;

    ? ? ? ? ? ? ? ? ? ? ? ? end;? ? ? ??

    ? ? ? ? ? ? ? ? ? ? ? ? if cur - cur_r >= size then

    ? ? ? ? ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print("condition4:",cur_r,"? ",cur," ",time_s);

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? order_status = 0;

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cen = cen - down;

    ? ? ? ? ? ? ? ? ? ? ? ? end;

    ? ? ? ? ? ? ? ? end;

    ?

    ? ? ? ? if close - cen >= up and order_status = 0 and var1 = 0 then

    ? ? ? ? begin

    ? ? ? ? ? ? ? ? print("condition1 and order_status = 0 and var1 = 0"," ",time_s);

    ? ? ? ? ? ? ? ? tims = time_s;

    ? ? ? ? ? ? ? ? if order_no >= 1 then

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? sell size shares from entry(text(order_no)) this bar on close;

    ? ? ? ? ? ? ? ? order_no = order_no - 1;

    ? ? ? ? ? ? ? ? end

    ? ? ? ? ? ? ? ? else

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? sell size shares from entry("Initial Entry") this bar on close;

    ? ? ? ? ? ? ? ? order_no = 0;

    ? ? ? ? ? ? ? ? end;

    ? ? ? ? ? ? ? ? print("----"," ",time_s);

    ? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? order_status = 1;? ? ? ??

    ? ? ? ? ? ? ? ? var1 = 1;? ? ? ??

    ? ? ? ? end;

    ? ? ? ? if cen - close >= down and order_status = 0 and var1 = 0 then

    ? ? ? ? begin

    ? ? ? ? ? ? ? ? print("condition2 and order_status = 0 and var1 = 0"," ",time_s);

    ? ? ? ? ? ? ? ? tims = time_s;

    ? ? ? ? ? ? ? ? order_no = order_no + 1;

    ? ? ? ? ? ? ? ? buy (text(order_no)) size shares this bar on close;

    ? ? ? ? ? ? ? ? print("++++"," ",time_s);

    ? ? ? ? ? ? ? ? order_status = 1;? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? var1 =1;

    ? ? ? ? end;?

    ? ? ? ? if time_s = tims then?

    ? ? ? ? begin

    ? ? ? ? print("time_s = tims "," ",time_s);?

    ? ? ? ? cur_r= currentshares;

    ? ? ? ? end;

    ? ? ? ??

    end;

    ?

    print(currentbar,"? ? ",var1, "? ? ",tims,"? ?",order_status,"? ? ",order_no,"? ? ",close,"? ?",cen,"? ? ",cur,"? ? ",cur_r,"? ? ",time_s);

    ? ? ? ??

    應(yīng)該沒問題了。

    多謝指導(dǎo)!

    ?

 

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

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


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 青青草国产免费一区二区 | 久久亚洲精品中文字幕二区 | 国内自拍一二三四2021 | 久久精品影院一区二区三区 | 久久永久影院免费 | 特级生活片 | 五月天国产 | 91精品国产99久久 | 亚洲精品高清国产一久久 | 日韩一区二区三区在线免费观看 | 日日操日日舔 | 国产免费人人看大香伊 | 中文精品久久久久国产网址 | 日本中文字幕免费 | 欧美成人全部免费观看1314色 | 四虎影院精品 | 欧美激情区 | 久久美| 亚洲欧美在线精品一区二区 | 国产不卡网 | 九九热免费在线视频 | 久草在在线视频免费 | 一级a毛片免费观看久久精品 | 国产成人a一在线观看 | 日韩高清欧美 | 国产精品视频偷伦精品视频 | 亚洲欧美日韩精品久久亚洲区 | 成人国产精品一级毛片天堂 | 九九色影院 | 日本精品高清一区二区不卡 | a在线观看免费视频 | 91精品免费国产高清在线 | 12一14周岁毛片免费网站 | 孕妇孕妇aaaaa级毛片视频 | 日本大片久久久高清免费看 | 在线欧美v日韩v国产精品v | 国产在线看不卡一区二区 | 国产亚洲欧美日韩v在线 | 日本一区二区在线视频 | 狠狠的干狠狠的操 | 久久精品国产精品亚洲毛片 |