tengallen 發表於 22-9-12 20:17

新手教學指導

各位大大, 小弟新手, 有個地方一直無法突破也找不到教學範例.


先滿足 CONDITION1, 但需達到 CONDITION 2 時, 再下多單
Condition2 (下圖是 KD指標) = Crosses_above (slowK, 20)

如使用 if condition 1 and condition2 then.....
不會有任何進場訊號, 因為 condition1 與 condition2 不會同時達到

到底要怎麼寫, 才可以觸發多單訊號?!@?

麻煩給小弟一些提示

Option 發表於 22-9-13 20:41

if condition1 then begin
if condition2 then buy ...;
end;

hackerlan7 發表於 22-9-28 17:00

本帖最後由 hackerlan7 於 22-9-28 17:02 編輯

簡單呀
你自己也說了
condition1 condition2 不會同時成立
你的需求也很明確 condition1 要先成立
有就是大趨勢要先成立
再來判斷買賣訊號 condition2

所以 condition1成立時 我們要把這狀態儲存起來
不然下一根K棒出來 又不成立了。

寫一個Flag 當作開關   
0 = condition1 不成立
1 = condition1 成立

程式碼如下:

var:Flag(0);
if marketposition=0 and condition1 then Flag=1;
//Buy Entryif marketposition=0 and Flag=1and condition2 then         buy ("Buy Entry") next bar at market;

然後出場 要把狀態歸零唷
你可以寫進場 就歸零 或出場

當有部位時 且Flag=1 就歸零 Flagifmarketposition<>0 and Flag=1 then Flag=0;





tengallen 發表於 22-9-15 12:10

Option 發表於 22-9-13 20:41
if condition1 then begin
if condition2 then buy ...;
end;

謝謝回覆,等會試試

tengallen 發表於 22-9-15 17:49

Option 發表於 22-9-13 20:41
if condition1 then begin
if condition2 then buy ...;
end;

還是無法觸發 多單訊號

condition1 = crosses_above (Bvaru,Kvaru) andcrosses_below(Bvard,Kvard);
condition2 = crosses_above (Svark,20) ;

//Buy Entry
if marketposition=0 and condition1 then begin
        if condition2 thenbuy ("Buy Entry") next bar at market;
end;


請問錯在哪裡?

tengallen 發表於 22-9-15 23:41

補充說明
Bvar 布林通道, Kvar Keltner通道, Value1 KD值

還是無法觸發 多單訊號

Bvar0 = AverageFC( BollingerPrice, Length ) ;
Bvar1 = StandardDev( BollingerPrice, Length, 1 ) ;
Bvaru = Bvar0 + NumDevsUp * Bvar1 ;
Bvard = Bvar0 + NumDevsDn * Bvar1 ;
Kvar0 = AverageFC( Price, Length ) ;
Kvar1 = NumATRs * AvgTrueRange( Length ) ;
Kvaru = Kvar0 + Kvar1 ;
Kvard = Kvar0 - Kvar1 ;

Value1 = Stochastic_( PriceH, PriceL, PriceC, StochLength, SmoothingLength1,
SmoothingLength2, SmoothingType, Svar0, Svar1, Svark, Svard ) ;

condition1 = crosses_above (Bvaru,Kvaru) andcrosses_below(Bvard,Kvard);
condition2 = crosses_above (Svark,20) ;

//Buy Entry
if marketposition=0 and condition1 then begin
      if condition2 thenbuy ("Buy Entry") next bar at market;
end;


請問錯在哪裡?

我非人 發表於 22-9-16 04:30

不確定是不是多了一個if 出來?

Jaa 發表於 22-9-23 13:28

condition1 = crosses_above (Bvaru,Kvaru) and crosses_below(Bvard,Kvard);
應該是不會穿越上跟穿越下一起出現

tengallen 發表於 22-9-23 17:58

Jaa 發表於 22-9-23 13:28
condition1 = crosses_above (Bvaru,Kvaru) andcrosses_below(Bvard,Kvard);
應該是不會穿越上跟穿越下一 ...

剛測試改成 or 也是無法觸發多單....................

頁: [1]
查看完整版本: 新手教學指導