請教nearBlack的用法,
以及在日線及5分線上皆是指最靠近的一根日黑K嗎?
還是如果用在5分K上則表示最近一根5分黑K (我編輯的訊號不是我想的)
因為我想判斷今日的5分K交易,要在最近的一根日黑K的低點往下20點做賣出,要如何寫?
不好意思nearblack是一個變數0.0
---------------------------------------------- 最近的一根日黑K 可能是昨天的貨前天的或大前天等(可能昨天收紅,但前天收黑,所以根據前天點位進場)
下面是往前一天的, if CloseD(1) < OpenD(1) then Sellshort next bar lowd(1)-20 stop; setexitonclose;
謝謝
if D <> D[1] then value1 = iff(opened(1) > close[1], Lowed(1)-20,0);
if value1 <> 0 then sellshort next bar value1 stop;
謝謝 令請教這與法錯在哪裡?
5分K 昨天黑K,今天開盤在昨低之上,跌破昨低-20時放空
if CloseD(1) < OpenD(1) and Opend(0)>lowd(1) then Sellshort next bar lowd(1)-20 stop; setexitonclose;
你的寫法不是只有前一天嗎
並不是你自已第一篇說的 要在最近的一根日黑K的低點
恩恩
1.關於大大給的程式碼,有些訊號在開盤時沒有低於前一天的綠K之下就放空了(這些訊號都在開盤時就放空)
2.可以請教iff的用法嗎?第一次看到,謝謝!
3.這個程式碼的問題訊號也和您給我的問題一樣,錯誤的訊號都在開盤時就放空了,不知道為什麼
1.3. 請確認你要的是最近一次日黑K,還是若前一為黑K 請先把中文的邏輯弄對,程式碼才有可能正確唷 差一個字,或是字的順序不同,意義就不同 請把有疑問的畫面或日期點標出來,才有辦法討論 不然會雞同鴨講
2. 如果第一個參數成立,就回傳第二個參數值,否則傳回第三個參數值
我先問第一個問題好了,關於您給我的程式碼,不好意思之前不清楚,我在表達一次
最近的一根日黑K, 今天開盤如果在日黑K之上,盤中如果跌破日黑K-20,則放空,收盤出場
最近的一根日紅K,今天開盤如果在日紅K之下,盤中突破日紅K+20,則做多,收盤出場
if D <> D[1] then value1 = iff(opend(1) > close[1], Lowd(1)-20,0); value2 = iff(opend(1) < close[1], hughd(1)+20,0); if value1 <> 0 then sellshort next bar value1 stop; if value2 <> 0 then buy next bar value1 stop;
setexitonclose;
但發現有的進場訊號都是錯的 先謝謝您的指教!!
if D <> D[1] then begin value1 = iff(opend(1) > close[1], Lowd(1)-20,0); value2 = iff(opend(1) < close[1], highd(1)+20,0); end;
if value1 <> 0 then sellshort next bar value1 stop; if value2 <> 0 then buy next bar value1 stop;
你少了紅字處
是,因為剛剛另外多加多單 ,應該要加then begin end;
此外,,進場訊號不對的問題還是一直存在
最近的一根日黑K
這是指 "若前日為黑K" ,還是指要 "向前找最近的一根黑K" 當基準 ?
中文看來是後者,但是程式看來是前者,我有點搞不懂了
另外,中文的整行看起來,你似乎是要兩階段判定,所以你少了開在那裡的判定
if D <> D[1] then begin value1 = iff(opend(1) > close[1] and open >Lowd(1), Lowd(1)-20,0); value2 = iff(opend(1) < close[1] and open <highd(1), highd(1)+20,0); end;
先謝謝你
是的 指要 "向前找最近的一根黑K" 當基準 ,我剛多加了變數規0進去,結果開盤就進場的問題還是一直存在
if D <> D[1] then begin value1 = iff(opend(1) > close[1] and open >Lowd(1), Lowd(1)-20,0); value2 = iff(opend(1) < close[1] and open <highd(1), highd(1)+20,0); end; if value1 <> 0 then sellshort next bar value1 stop; if value2 <> 0 then buy next bar value1 stop; setexitonclose; value1=0; value2=0;
if D <> D[1] then begin value1 = iff(opend(1) > close[1] , LowD(1)-20, value1); value2 = iff(opend(1) < close[1] , highd(1)+20, value2); end;
if T <= 1300 then begin if openD(0) > value1 then sellshort next bar value1 stop; if openD(0) < value2 then buy next bar value2 stop; end;