只要當日收盤價高于前一日最高價且總(BKVOL)手數小余5,就一直加倉,每次加一手
LH:REF(HIGH,1);
BKVOL<5&&CROSSUP(CLOSE,LH),BK(1);
我在測試的時候只加了一次倉就停了。不會一直加倉,不知道問題出在哪里,請老師指點,謝謝!
您是在什么周期上使用?如果是分鐘周期您可以在模型中加入一句MONO_SIGNAL試一下
模型寫該函數模型一根K線上只支持一個信號,一根K線上信號固定后不會再出其他信號。沒寫該函數默認模型支持一根K線多個信號。
非過濾模型寫該函數支持同一指令行連續發;不寫該函數同一根K線上、不同根K線上同一指令行均不可連續發
用法:
過濾模型、非過濾模型、公式條件單模型,如果要實現一根K線上只有一個信號的效果,需要編寫中加入MONO_SIGNAL函數。
加入MONO_SIGNAL函數限制的是一根K線上存在的信號個數,一根K線上只能有一個信號;不限制信號忽閃的次數
例:
1、
CLOSE>OPEN,BPK;
CLOSE<OPEN,SPK;
AUTOFILTER;
MONO_SIGNAL;
編寫了MONO_SIGNAL的過濾模型,一根K線上只支持一個信號
當根K線上滿足了CLOSE>OPEN并且BPK發出,并且已經確認固定,當根K線后續又滿足了CLOSE<OPEN的條件也不會再發出SPK信號,需要等到下根K線再查找滿足條件的信號
2、
CLOSE>OPEN,BK(1);
CLOSE<OPEN,SP(1);
MONO_SIGNAL;
(1)編寫了MONO_SIGNAL的非過濾模型,一根K線上只支持一個信號,例如當根K線上滿足了CLOSE>OPEN并且BK信號已經確認固定,即使當根K線后續又滿足了CLOSE<OPEN的條件也不會再發出SP信號,需要等到下根K線再查找滿足條件的信號
(2)編寫了MONO_SIGNAL的非過濾模型,支持同一指令行連續發,即當根K線滿足CLOSE>OPEN,發出BK信號,下根K線又滿足CLOSE>OPEN的條件,可以繼續發出BK信號
3、
CLOSE>OPEN,BK(1);
CONDITION_ORDER;
MONO_SIGNAL;
編寫了MONO_SIGNAL的公式條件模型,一根K線上只支持一個信號,且每個指令行只執行一次,全部指令行執行完畢后模型自動停止
注意:不編寫MONO_SIGNAL函數,要實現多信號的模型:
(1)在模組加載中需要選擇出信號立即下單,不進行信號復核、出信號N秒確認下單,不進行信號復核、K線走完前N秒確認信號下單,不進行復核這三個選項,信號發出并且為穩定信號時查找下一個滿足條件的信號
(2)效果測試需要選擇出信號立即下單,不進行復核
不對啊!老師,我是要一直加倉啊。
MONO_SIGNAL函數是限制只能加倉一次啊。
是否我理解錯了啊,老師能不能直接把代碼編好發給我啊。
我是要寫一個模型
在14點50分之后 如果當時價格高于前一日最高價,且總【多倉】手數小余5,則每次做多加倉一手,每日只加倉一次。
在14點50分之后 如果當時價格低于前一日最低價,則平全部多倉。再做空一手。
在14點50分之后 如果當時價格低于前一日最低價,且總【空倉】手數小余5,則每次做空加倉一手,每日只加倉一次。
在14點50分之后 如果當時價格高于前一日最高價,則平全部空倉。再做多一手。
求代碼,關鍵是要根據趨勢逐步加倉。辛苦老師了,謝謝!
請參考2樓的問題,您是在什么周期上使用?