奇狐社區論壇 總頁數 (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)


由 kaiserlai 在 2010-04-21 12:15 發表:

交易利潤

HIHI
請問一下
奇狐裡的函數有可以return contract profit這樣的東西嗎?

謝謝


由 cgjj 在 2010-04-22 11:43 發表:

回覆: 交易利潤

引用:
最初由 kaiserlai 發表
HIHI
請問一下
奇狐裡的函數有可以return contract profit這樣的東西嗎?

謝謝



要麻煩您說明清楚何謂 return contract profit

每套分析軟體運算結構方法不盡相同
隨之處理的流程與方式自然也會不一樣

建議您最好針對您想做內容的提問
而非去問有無相似這樣的東西

因為同樣的東西或是名稱相等的函數
有可能會因為軟體運算流程方式不同
因而產生出不一樣的運算結果


由 kaiserlai 在 2010-04-23 17:26 發表:

CGJJ您好
我的想法是
假設我的進場點是5MA CROSS ABOVE 20MA就買進
停損點設30點
但是如果獲利超過30點,則停損縮窄為10點。
做空的話就是5MA CROSS BELOW 20MA,停損點的設置同上。

大概是這樣的概念。

謝謝!


由 cgjj 在 2010-04-26 18:11 發表:

引用:
最初由 kaiserlai 發表
CGJJ您好
我的想法是
假設我的進場點是5MA CROSS ABOVE 20MA就買進
停損點設30點
但是如果獲利超過30點,則停損縮窄為10點。
做空的話就是5MA CROSS BELOW 20MA,停損點的設置同上。

大概是這樣的概念。

謝謝!



對看看是為您要的結果
原碼:

CC
:=C;
MA5:MA(C,5);
MA20:MA(C,20);
多進:=cross(MA5,MA20) or barpos=0;
空進:=cross(MA20,MA5) 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 begin
      進價
:=CC[i]; 控損:=30;
    
end;
  
end else if 多空<>0 then begin
    盈虧
[i]:=(CC[i]-進價)*多空;
    if 
盈虧[i]>30 then 控損:=10;
    if 
多空=空進[i] or 多空=-多進[ithen begin
      進出
[i]:=-多空*3多空:=-多空
      
進價:=CC[i]; 控損:=30;
    
end else if 盈虧[i]<=-控損 then begin
      進出
[i]:=多空*2多空:=0;
    
end;
  
end;
end;


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


由 kaiserlai 在 2010-04-27 15:26 發表:

總版主你好
這公式這樣沒錯
不過如果我的挺損點要用非常數請問怎麼寫?
比方說
1.
假設我的進場點是5MA CROSS ABOVE 20MA就買進
停損點設ATR(average true range)
但是如果獲利超過ATR的3倍,則停損縮窄為ATR
做空的話就是5MA CROSS BELOW 20MA,停損點的設置同上。

以及
2.
假設我要加入當沖強制平倉
8:50後才引發買賣訊
13:40強制出場
請問該怎麼寫?
我搜索了一下論壇
發現應該加入

強出:=time>=134000;
限進:=time<=085000;

這兩行指令,但是因為對迴圈不熟所以還不曉得要放哪邊

麻煩您了!


由 cgjj 在 2010-04-28 09:09 發表:

引用:
最初由 kaiserlai 發表
總版主你好
這公式這樣沒錯
不過如果我的挺損點要用非常數請問怎麼寫?
比方說
1.
假設我的進場點是5MA CROSS ABOVE 20MA就買進
停損點設ATR(average true range)
但是如果獲利超過ATR的3倍,則停損縮窄為ATR
做空的話就是5MA CROSS BELOW 20MA,停損點的設置同上。

以及
2.
假設我要加入當沖強制平倉
8:50後才引發買賣訊
13:40強制出場
請問該怎麼寫?
我搜索了一下論壇
發現應該加入

強出:=time>=134000;
限進:=time<=085000;

這兩行指令,但是因為對迴圈不熟所以還不曉得要放哪邊

麻煩您了!




停損點設ATR(average true range)
但是如果獲利超過ATR的3倍,則停損縮窄為ATR

這樣豈不是獲利有無超過ATR的3倍, 都是用 ATR 這個值了嗎


由 kaiserlai 在 2010-04-28 09:15 發表:

不好意思
應該是初使停損是ATR*3
如果獲利超過ATR*3
停損變成ATR

這樣才對
謝謝!


由 cgjj 在 2010-04-28 09:46 發表:

引用:
最初由 kaiserlai 發表
不好意思
應該是初使停損是ATR*3
如果獲利超過ATR*3
停損變成ATR

這樣才對
謝謝!



停損計算之ATR, 是進場那根的 ATR 值嗎? (水平線)
還是隨行情變化, 採用當前這根的ATR 值? (曲線)


由 kaiserlai 在 2010-04-28 09:51 發表:

我本來的想法是隨著行情變化調整ATR(也就是曲線)
但是版主您的想法很有趣所以我想兩種都測看看,
而且這兩個的迴圈各應該怎麼寫我也非常好奇
可以跟您請教這兩種個別的寫法嗎?


由 cgjj 在 2010-04-28 10:32 發表:

引用:
最初由 kaiserlai 發表
我本來的想法是隨著行情變化調整ATR(也就是曲線)
但是版主您的想法很有趣所以我想兩種都測看看,
而且這兩個的迴圈各應該怎麼寫我也非常好奇
可以跟您請教這兩種個別的寫法嗎?



方式1:
停損計算之ATR, 是進場那根的 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 begin
      進價
:=CC[i]; 進ATR:=ATR[i];
    
end;
  
end else if 多空<>0 then begin
    盈虧
[i]:=(CC[i]-進價)*多空;    
    if 
盈虧[i]>ATR[i]*3 then begin
      控損
:=進ATR;
    
end else begin
      控損
:=進ATR*3;
    
end;
    if 
強出[ithen begin
      進出
[i]:=多空*3多空:=0;
    
end else if 多空=空進[i] or 多空=-多進[ithen begin
      進出
[i]:=-多空*4多空:=-多空;
      
進價:=CC[i]; 進ATR:=ATR[i];
    
end else if 盈虧[i]<=-控損 then begin
      進出
[i]:=多空*2多空:=0;
    
end;
  
end;
end;

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


由 cgjj 在 2010-04-28 10:38 發表:

方式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.多轉空


由 kaiserlai 在 2010-04-28 10:46 發表:

謝謝你!


由 kaiserlai 在 2010-04-28 15:04 發表:

版主你好
我剛才試驗了一下
發現他的停損不會跟移動
也就是說
當做多時,如果行情繼續走高
則停損點回持續走高

比方說
作多在7000
停損50點:6950回停損
如果行情走到7100,則停損也移到7050

請問這樣的話要怎麼改迴圈?


由 kaiserlai 在 2010-04-28 18:06 發表:

版主
不好意思
順便問一下
上面的公式沒有有加入強進、強出

強出:=time>=134000;
限進:=time<=085000;

的寫法該是怎麼樣?

因為想兩種都測試一下
謝謝!


由 cgjj 在 2010-04-29 00:15 發表:

引用:
最初由 kaiserlai 發表
版主你好
我剛才試驗了一下
發現他的停損不會跟移動
也就是說
當做多時,如果行情繼續走高
則停損點回持續走高

比方說
作多在7000
停損50點:6950回停損
如果行情走到7100,則停損也移到7050

請問這樣的話要怎麼改迴圈?



方式一 不會跟著移動
方式二 會跟著ATR移動


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


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

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