奇狐社區論壇 總頁數 (3): « 1 2 [3]
在這個頁面顯示本主題全部的 35 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 交易利潤_[多空交易範例] (http://www.chiefox.com.tw/bbs/showthread.php?threadid=13489)


由 cgjj 在 2010-05-10 12:22 發表:

引用:
最初由 kaiserlai 發表
版主
我發現控損價的值會根據當跟K線變動
所以控損價的邏輯應該是根據前一跟K線的CLOSE來減去ATR才對
請問一下要怎麼改?

另外不好意思一直麻煩您
請問有甚麼書或網站有在解說這個迴圈語法嗎?
PS:我本身會VBA,但是奇狐寫法我還不太會



依據前述
---------------------------------------------------------------------------------------------------
停損點應該要考慮行情位置
假如8000買進,漲到8100最高
那應該是以8100(也就是從買進到目前的最高點)當基準點
減去ATR,這樣才對
---------------------------------------------------------------------------------------------------
若當下行情是這波最高位置, 就會發生隨當根K線變動
若您要當根不列入計算
可試著將這行
if CC[i]*多空>進HL*多空 then 進HL:=CC[i];
改為
if CC[i-1]*多空>進HL*多空 then 進HL:=CC[i-1];


VBA 的陣列 CC(i) 就是奇狐中的 CC[i] , K棒資料就是陣列型態
VBA 中 i 自零數起, 奇狐中 i 自壹數起
相關教學可見此
http://www.chiefox.com.tw/bbs/forum...p?s=&forumid=46


由 soromance 在 2010-11-26 15:35 發表:

引用:
最初由 cgjj 發表
方式2:
隨行情變化, 採用當前這根的ATR 值(曲線)
註: ATR 請自行帶入公式之中
原碼:

CC
:=C;
MA5:MA(C,5);
MA20:MA(C,20);
強出:=time>=134000;
限進:=time<=085000;
多進:=cross(MA5,MA20) and 強出=and 限進=or barpos=0;
空進:=cross(MA20,MA5) and 強出=and 限進=or barpos=0;
進出:C*0 NOAXIS;
多空:=0進價:=0盈虧:c*0 linethick;
for 
1 to datacount do begin
  
if 多空=0 then begin
    多空
:=多進[i]-空進[i]; 進出[i]:=多空;
    if 
多空<>0 then 進價:=CC[i];
  
end else if 多空<>0 then begin
    盈虧
[i]:=(CC[i]-進價)*多空;    
    if 
盈虧[i]>ATR[i]*3 then begin
      控損
:=ATR[i];
    
end else begin
      控損
:=ATR[i]*3;
    
end;
    if 
強出[ithen begin
      進出
[i]:=多空*3多空:=0;
    
end else if 多空=空進[i] or 多空=-多進[ithen begin
      進出
[i]:=-多空*4多空:=-多空;
      
進價:=CC[i];
    
end else if 盈虧[i]<=-控損 then begin
      進出
[i]:=多空*2多空:=0;
    
end;
  
end;
end;

[進出] 這變數值代表意義如下:
1.多單進場, 2.多控損出 , 3.多強出 , 4.空轉多
-1.空單進場, -2.空控損出, -3.空強出 , -4.多轉空



版主您好:

請問一下,在停損例子中,有用到:

進出:C*0 NOAXIS;
多空:=0; 進價:=0; 盈虧:c*0 linethick;

為何要 進出:C*0 以及 盈虧: C*0 這樣的寫法呢?
不是很瞭解..

謝謝您的解答.. ^^


由 cgjj 在 2010-11-26 16:02 發表:

引用:
最初由 soromance 發表
版主您好:

請問一下,在停損例子中,有用到:

進出:C*0 NOAXIS;
多空:=0; 進價:=0; 盈虧:c*0 linethick;

為何要 進出:C*0 以及 盈虧: C*0 這樣的寫法呢?
不是很瞭解..

謝謝您的解答.. ^^



創造一個與K棒同等長度的零值數列
100根K棒, 數列就有100個元素


由 soromance 在 2010-11-26 19:35 發表:

引用:
最初由 cgjj 發表
創造一個與K棒同等長度的零值數列
100根K棒, 數列就有100個元素



嗯,算是宣告陣列的意思嗎?
如果是如此的話,我們在程式中仍有看到

多進[i]、空進[i]、CC[i]、以及ATR[i]等,
為什麼這些參數就不需要創造與K棒等長度的零值數列呢?

不好意思,不是學程式出身的,問比較基本的問題。

Soro


由 cgjj 在 2010-11-29 09:26 發表:

引用:
最初由 soromance 發表
嗯,算是宣告陣列的意思嗎?
如果是如此的話,我們在程式中仍有看到

多進[i]、空進[i]、CC[i]、以及ATR[i]等,
為什麼這些參數就不需要創造與K棒等長度的零值數列呢?

不好意思,不是學程式出身的,問比較基本的問題。

Soro



因為 多進, 空進, CC, ATR 這四個變數
在帶入迴圈前, 其本身存的內容就已經是數列型態了


全部時間均為台灣時間, 現在時間為23:43 總頁數 (3): « 1 2 [3]
在這個頁面顯示本主題全部的 35 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.