開拓者 TB如何為全局變量賦初值? [開拓者 TB]
hql123 發(fā)表于 2012-9-17 09:02
謝謝!如果不是歷史測試,應(yīng)該如何賦值,請賜教!
您的邏輯跟我的思考模式有點(diǎn)不同,我個人認(rèn)為這樣寫應(yīng)該有信號,但是實(shí)際卻沒有,請?jiān)囋嚢裮arketposition=0 1 -1三種情況分開寫是否會好一些,只看到部分代碼,不清楚LZ的策略是否是一只反手沒有空倉,但是個人習(xí)慣分開寫這樣方便找出問題。
commetery 這個多用在一些判斷句中會對自己糾錯有很大幫助的哦
- 咨詢內(nèi)容: 本帖最后由 hql123 于 2012-9-17 08:38 編輯
1. 日內(nèi)交易,全局變量初始值只賦一次,以后由開倉控制,我用了:
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);
}
}
為什么交易信號不出來?
想做到:開多倉后不再加多倉,多倉平后不能再次開多倉,但可以開空倉;開空倉情況同。
如果用
If(BarsSinceentry == 0)
{
Setglobalvar(1,1);
Setglobalvar(2,1);
}
可以出現(xiàn)交易信號,但可能多次對全局變量賦初始值。
請版主不吝賜教! - TB技術(shù)人員: 本帖最后由 hql123 于 2012-9-17 09:01 編輯
(StartBarTime<Time*1000000) && (Time*1000000<CloseBarTime) - TB客服: 這樣既然是歷史測試,就不需要全局變量控制了吧,序列變量就夠了額。
第二個問題是因?yàn)閏urrenttime是系統(tǒng)時間,time才是K線時間 - 網(wǎng)友回復(fù):
alex647l 發(fā)表于 2012-9-17 08:59
這樣既然是歷史測試,就不需要全局變量控制了吧,序列變量就夠了額。
第二個問題是因?yàn)閏urrenttime是系統(tǒng)時 ...
謝謝!如果不是歷史測試,應(yīng)該如何賦值,請賜教! - 網(wǎng)友回復(fù):
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容