開(kāi)拓者 TB如何為全局變量賦初值?
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2012年11月27日
hql123 發(fā)表于 2012-9-17 09:02
謝謝!如果不是歷史測(cè)試,應(yīng)該如何賦值,請(qǐng)賜教!
您的邏輯跟我的思考模式有點(diǎn)不同,我個(gè)人認(rèn)為這樣寫(xiě)應(yīng)該有信號(hào),但是實(shí)際卻沒(méi)有,請(qǐng)?jiān)囋嚢裮arketposition=0 1 -1三種情況分開(kāi)寫(xiě)是否會(huì)好一些,只看到部分代碼,不清楚LZ的策略是否是一只反手沒(méi)有空倉(cāng),但是個(gè)人習(xí)慣分開(kāi)寫(xiě)這樣方便找出問(wèn)題。
commetery 這個(gè)多用在一些判斷句中會(huì)對(duì)自己糾錯(cuò)有很大幫助的哦 |
- 咨詢(xún)內(nèi)容: 本帖最后由 hql123 于 2012-9-17 08:38 編輯
1. 日內(nèi)交易,全局變量初始值只賦一次,以后由開(kāi)倉(cāng)控制,我用了:
If(BarStatus == 0)
{
Setglobalvar(1,1);
Setglobalvar(2,1);
}
If (MarketPosition<>1 )
{
myEntryMoreSignal1 = GetGlobalVar(1)==1;
if (myEntrySignal1 and myEntryMoreSignal1)
{
myEntryPrice=Open+MinPoint;
Buy(lots,myEntryPrice);
SetGlobalVar(1,0);
setglobalvar(2,1);
}
}
else if (MarketPosition<>-1 )
{
myEntryMoreSignal2 = GetGlobalVar(2)==1;
if (myEntrySignal2 and myEntryMoreSignal2 )
{
myEntryPrice=Open-MinPoint;
SellShort(lots,myEntryPrice);
SetGlobalVar(2,0);
SetGlobalVar(1,1);
}
}
為什么交易信號(hào)不出來(lái)?
想做到:開(kāi)多倉(cāng)后不再加多倉(cāng),多倉(cāng)平后不能再次開(kāi)多倉(cāng),但可以開(kāi)空倉(cāng);開(kāi)空倉(cāng)情況同。
如果用
If(BarsSinceentry == 0)
{
Setglobalvar(1,1);
Setglobalvar(2,1);
}
可以出現(xiàn)交易信號(hào),但可能多次對(duì)全局變量賦初始值。
請(qǐng)版主不吝賜教!
- TB技術(shù)人員: 本帖最后由 hql123 于 2012-9-17 09:01 編輯
(StartBarTime<Time*1000000) && (Time*1000000<CloseBarTime)
- TB客服: 這樣既然是歷史測(cè)試,就不需要全局變量控制了吧,序列變量就夠了額。
第二個(gè)問(wèn)題是因?yàn)閏urrenttime是系統(tǒng)時(shí)間,time才是K線(xiàn)時(shí)間
- 網(wǎng)友回復(fù):
alex647l 發(fā)表于 2012-9-17 08:59
這樣既然是歷史測(cè)試,就不需要全局變量控制了吧,序列變量就夠了額。
第二個(gè)問(wèn)題是因?yàn)閏urrenttime是系統(tǒng)時(shí) ...
謝謝!如果不是歷史測(cè)試,應(yīng)該如何賦值,請(qǐng)賜教!
- 網(wǎng)友回復(fù):