![]() |
總頁數 (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)
交易利潤
HIHI
請問一下
奇狐裡的函數有可以return contract profit這樣的東西嗎?
謝謝
回覆: 交易利潤
引用:
最初由 kaiserlai 發表
HIHI
請問一下
奇狐裡的函數有可以return contract profit這樣的東西嗎?
謝謝
CGJJ您好
我的想法是
假設我的進場點是5MA CROSS ABOVE 20MA就買進
停損點設30點
但是如果獲利超過30點,則停損縮窄為10點。
做空的話就是5MA CROSS BELOW 20MA,停損點的設置同上。
大概是這樣的概念。
謝謝!
引用:
最初由 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 i = 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 多空=-多進[i] then begin
進出[i]:=-多空*3; 多空:=-多空;
進價:=CC[i]; 控損:=30;
end else if 盈虧[i]<=-控損 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
總版主你好
這公式這樣沒錯
不過如果我的挺損點要用非常數請問怎麼寫?
比方說
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;
這兩行指令,但是因為對迴圈不熟所以還不曉得要放哪邊
麻煩您了!
引用:
最初由 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*3
如果獲利超過ATR*3
停損變成ATR
這樣才對
謝謝!
引用:
最初由 kaiserlai 發表
不好意思
應該是初使停損是ATR*3
如果獲利超過ATR*3
停損變成ATR
這樣才對
謝謝!
我本來的想法是隨著行情變化調整ATR(也就是曲線)
但是版主您的想法很有趣所以我想兩種都測看看,
而且這兩個的迴圈各應該怎麼寫我也非常好奇
可以跟您請教這兩種個別的寫法嗎?
引用:
最初由 kaiserlai 發表
我本來的想法是隨著行情變化調整ATR(也就是曲線)
但是版主您的想法很有趣所以我想兩種都測看看,
而且這兩個的迴圈各應該怎麼寫我也非常好奇
可以跟您請教這兩種個別的寫法嗎?
[進出] 這變數值代表意義如下:原碼:
CC:=C;
MA5:MA(C,5);
MA20:MA(C,20);
強出:=time>=134000;
限進:=time<=085000;
多進:=cross(MA5,MA20) and 強出=0 and 限進=0 or barpos=0;
空進:=cross(MA20,MA5) and 強出=0 and 限進=0 or barpos=0;
進出:C*0 NOAXIS;
多空:=0; 進價:=0; 盈虧:c*0 linethick;
for i = 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 強出[i] then begin
進出[i]:=多空*3; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=-多空*4; 多空:=-多空;
進價:=CC[i]; 進ATR:=ATR[i];
end else if 盈虧[i]<=-控損 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
方式2:
隨行情變化, 採用當前這根的ATR 值(曲線)
註: ATR 請自行帶入公式之中
[進出] 這變數值代表意義如下:原碼:
CC:=C;
MA5:MA(C,5);
MA20:MA(C,20);
強出:=time>=134000;
限進:=time<=085000;
多進:=cross(MA5,MA20) and 強出=0 and 限進=0 or barpos=0;
空進:=cross(MA20,MA5) and 強出=0 and 限進=0 or barpos=0;
進出:C*0 NOAXIS;
多空:=0; 進價:=0; 盈虧:c*0 linethick;
for i = 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 強出[i] then begin
進出[i]:=多空*3; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=-多空*4; 多空:=-多空;
進價:=CC[i];
end else if 盈虧[i]<=-控損 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
謝謝你!
版主你好
我剛才試驗了一下
發現他的停損不會跟移動
也就是說
當做多時,如果行情繼續走高
則停損點回持續走高
比方說
作多在7000
停損50點:6950回停損
如果行情走到7100,則停損也移到7050
請問這樣的話要怎麼改迴圈?
版主
不好意思
順便問一下
上面的公式沒有有加入強進、強出
強出:=time>=134000;
限進:=time<=085000;
的寫法該是怎麼樣?
因為想兩種都測試一下
謝謝!
引用:
最初由 kaiserlai 發表
版主你好
我剛才試驗了一下
發現他的停損不會跟移動
也就是說
當做多時,如果行情繼續走高
則停損點回持續走高
比方說
作多在7000
停損50點:6950回停損
如果行情走到7100,則停損也移到7050
請問這樣的話要怎麼改迴圈?
全部時間均為台灣時間, 現在時間為21:40 | 總頁數 (3): [1] 2 3 » 在這個頁面顯示本主題全部的 35 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.