COCO研究院

 找回密碼
 註冊
搜索
查看: 2358|回復: 5

BUY之後十日 SELL

[複製鏈接]
發表於 16-3-17 11:16 | 顯示全部樓層 |閱讀模式
請問點寫?

priceatbuy=0;

for( i = 0; i < BarCount; i++ )
{
     if( priceatbuy == 0 && Buy[ i ] )
     priceatbuy = BuyPrice[ i ];

     if( priceatbuy > 0 && BUY之後十日 )
     {
       Sell[ i ] = 1;
       SellPrice[ i ] = 1.1 * priceatbuy;
       priceatbuy = 0;
     }else {
       Sell[ i ] = 0;
      }
}

發表於 16-3-17 15:43 | 顯示全部樓層
要在day 的 timeframe中
  1. Ref(Buy, -10);
複製代碼
發表於 16-3-17 17:28 | 顯示全部樓層
不知道你這裡10日Sell是指10天後(不管是不是交易日都算), 還是指10個交易日後?
我想你應該是想在10天後的同一個時點的K棒才做Sell
兩種我合併在一起提供你範例
你自己再選擇囉

nDayPass = 10;
nDateAtSell = 0;
nDayCountAtBuy = 0;
nTodayBarIndexAtBuy = -1;

vDateNumCompare = (DateNum() != Ref(DateNum(), -1));
vDateNumCompare[0] = True;
vTodayBarIndex = BarsSince(vDateNumCompare);

vDateTime = DateTime();
vTargetDateTime = DateTimeAdd(vDateTime, nDayPass, inDaily);

for(i = 0;i < BarCount;i++)
{
        if(Buy[i] == True)
        {
                nDateAtSell = vTargetDateTime[i];
                nDayCountAtBuy = 0;
                nTodayBarIndexAtBuy = vTodayBarIndex[i];
        }
       
        //這一個Sell是發生在買之後的第10天同一個時點的K棒, 但要注意如果不是交易日則不會發生Sell
        if(vDateTime[i] == nDateAtSell)
        {
                Sell[i] = True;
                nDateAtSell = 0;
        }
       
        //這一個Sell是發生在買之後的第10個交易日同一個時點的K棒, 但要注意如果在下午1:30後買的, 第10個交易日若為期指結算日那也不會發生Sell, 結算只到1:30
        if(nDayCountAtBuy == nDayPass AND vTodayBarIndex[i] == nTodayBarIndexAtBuy)
        {
                Sell[i] = True;
                nDayCountAtBuy = 0;
                nTodayBarIndexAtBuy = -1;
        }
       
        if(vDateNumCompare[i] == True)
        {
                nDayCountAtBuy++;
        }
}
 樓主| 發表於 16-3-17 21:48 | 顯示全部樓層
謝幫忙
THX
另外用這BACKTEST CODE時LOOP緊可以攞到 CLOSE<MA(20) 嗎
我想加條CONDITION, 如CLOSE<MA(20) 都SELL走.
發表於 16-3-17 23:23 | 顯示全部樓層
看不懂你的問題...什麼叫"LOOP緊可以攞到"?
如果你要在loop檢查是否Close < MA(Close, 20)
那可以在loop外先得到vConditon1
vCondition1 = Close < MA(Close, 20);
然後在loop內使用判斷式來檢查是否要Sell
if(vCondition1[i])

 樓主| 發表於 16-3-18 12:27 | 顯示全部樓層
明白了. 在上面製造一個ARRAY, 再LOOP 時使用作CONDITION.
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-22 17:32

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |