![]() |
在這個頁面顯示本主題全部的 42 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 每天每15分鐘丟銅板決定買訊的公式,目的做資金管理與風險控制的測試用 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=13896)
每天每15分鐘丟銅板決定買訊的公式,目的做資金管理與風險控制的測試用
如何在沒有人能打敗大盤的基處理論下賺錢?????????
=============================
台指一分鐘, 可以留倉 沒有時間限制, 每天隨機進場交易最多三筆,,賺30點出場賠15點出場,如果到收盤沒出場就留倉
回覆: [求救][問題]公式如何寫???
引用:
最初由 taiwanyang121 發表
台指一分鐘, 可以留倉 沒有時間限制, 每天隨機進場交易最多三筆,,賺30點出場賠15點出場,如果到收盤沒出場就留倉
試解如下
如有錯誤 煩請版大協助
DD:=barslast(date<>ref(date,1) or barpos=0);
x01:=買訊;
x02:=barslast(x01);
x03:=ref(c,x02);//買成本
買停利:=x03+30;//賣訊
買停損:=x03-15;//賣訊
x11:=賣訊;
x12:=barslast(x11);
x13:=ref(c,x12);//賣成本
賣停利:=x13-30;
賣停損:=x13+15;
ck:=x01-x11;
x21:=barslast(ck<>ref(ck,1) or barpos=0));
x22:=ref(ck,x21);//1=買 0=空手 -1=賣
x23:=if(x22=1,(cross(c,買停利) and c>買停利) or (cross(賣停損,c) and c<賣停損),if(x22=-1,(cross(c,賣停損) and c>賣停損) or (cross(賣停利,c) and c<賣停利),0));
x24:=ck<>0 or x23;
x25:=sum(x24,x12+1)<=3;//每日三筆限制
訊號:if(x25,x24,0);
__________________
至誠能勝天下至偽
至拙能勝天下至巧
每天每15分鐘丟銅板決定買訊,有 for i=.... to ..... step 15 do begin 的語法???????
買訊:=c*0;
for i=1 to datacount do begin
買訊[i]:IF((RAND(2)-1)=1,1,0) linethick0 coloryellow;
end;
以上為每分鐘丟銅板決定買訊, 如何改為每15分鐘呢???奇狐好像沒有 for i=.... to ..... step 15 do begin 的語法?? i=barscount(c) 為何不行???
不管有沒有留倉, 只要當天有買進就不能超過3次的啦!!省一點手續費嘛!!!!
如何過濾掉有持單及當天有買進就不能超過3次的買訊呢?????
回覆: 每天每15分鐘丟銅板決定買訊,有 for i=.... to ..... step 15 do begin 的語法???????
引用:
最初由 taiwanyang121 發表
買訊:=c*0;
for i=1 to datacount do begin
買訊[i]:IF((RAND(2)-1)=1,1,0) linethick0 coloryellow;
end;
以上為每分鐘丟銅板決定買訊, 如何改為每15分鐘呢???奇狐好像沒有 for i=.... to ..... step 15 do begin 的語法???????
不管有沒有留倉, 只要當天有買進就不能超過3次的啦!!省一點手續費嘛!!!!
如何過濾掉有持單的買訊呢?????
回覆: 回覆: 每天每15分鐘丟銅板決定買訊,有 for i=.... to ..... step 15 do begin 的語法???????
引用:
最初由 cgjj 發表
for i=1 to datacount do begin
買訊[i]:IF((RAND(2)-1)=1,1,0) linethick0 coloryellow;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次, 範例
ck:=date<>ref(date,1);
sp:=barslast(ck)+1;
買訊:=買訊 and Sum(買訊,sp)<=3
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:=CK=1;
賣訊:=CK=-1;
//請留意過濾的優先次序, 放前放後差很多唷![]()
回覆: 回覆: 回覆: 每天每15分鐘丟銅板決定買訊,有 for i=.... to ..... step 15 do begin 的語法???????
引用:
最初由 taiwanyang121 發表
======================================
i=barscount(c) 為何不行???
應該是對了!!!原碼
買訊:=c*0;
for i=1 to datacount do begin
買訊[i]:=IF((RAND(2)-1)=1,1,0) colorwhite;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次, 範例
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 colorwhite;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
賣訊SP:=barslast(賣訊);
賣成本:ref(c,賣訊SP) linethick0 colorwhite;
盈虧:if(賣訊,賣成本-買成本,0) linethick0 colorwhite;
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
========================================
應該是對了!!!
可以使用TBS回測嗎???
我想知道
1.進場價用當跟的開 或低或收 或是用下一跟的開 或低或收 作進價??
2.出場價 同上??
可以在TBS上做得到回測條件的線則嗎???或是要在公式上作??
另外要在加上移動式的盈衰: 如我想將停利改為60,且當最大獲利>30, 如果檔超過15點則出場, 要如何修改???
隨便買,一年一定賺十倍的做法,超超超簡單
每天每15分鐘丟銅板決定買訊
使用台指一分鐘, 可以留倉 沒有時間限制, 每天隨機進場交易最多三筆,,賺30點出場賠15點出場,如果到收盤沒出場就留倉!!!!
測過無數次結果都一樣,如果你做台指期成本只要80000, 半年的時間一定獲利最少2500點 最多8000
獲利率=(200*(2500-95*4)/80000=530%
用80000的本錢半年賺424,000,一年賺848,000
如果你每次買十口, 一年一定賺848萬
回覆: 可以使用TBS回測嗎???
引用:
最初由 taiwanyang121 發表
我想知道
1.進場價用當跟的開 或低或收 或是用下一跟的開 或低或收 作進價??
2.出場價 同上??
可以在TBS上做得到回測條件的線則嗎???或是要在公式上作??
另外要在加上移動式的盈衰: 如我想將停利改為60,且當最大獲利>30, 如果檔超過15點則出場, 要如何修改???
版主前輩們能請教
版主前輩們能請教,真的一年能賺十倍嗎?????????有沒有意外???
原碼
買訊:=c*0;
for i=1 to datacount do begin
買訊[i]:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次, 範例
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
賣訊SP:=barslast(賣訊);
賣成本:ref(c,賣訊SP) linethick0 colorwhite;
盈虧:if(賣訊,賣成本-買成本,0) linethick0 colorwhite;
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
總交易次數:SUM(賣訊,0) linethick coloryellow ;
總交易盈虧:SUM(盈虧,0) linethick coloryellow ;
淨利一口:(總交易盈虧-總交易次數*4)*200 linethick0 coloryellow;
[請教]這一行要加在甚麼位置???
買訊:=c*0;
下單口數:=C-C+1 ;
期初資金:=300000;
for i=1 to datacount do begin
買訊[i]:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) linethick0 colorwhite;
盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
總交易次數:SUM(賣訊,0) linethick0 coloryellow ;
總交易損益:SUM(盈虧,0) linethick0 coloryellow ;
總盈餘:SUM(IF(盈虧>0,盈虧,0),0) linethick0 coloryellow;
總虧損:SUM(IF(盈虧<=0,盈虧,0),0)linethick0 coloryellow; //為0或負
淨利金額: (總交易損益-總交易次數*2)*200 linethick0 coloryellow;
賺錢次數:=SUM(盈虧>0,0) linethick0 coloryellow ;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) linethick0 coloryellow;
期望值:=IF(總交易次數>10,(總盈餘/總交易次數)*勝率+(總虧損/總交易次數)*(1-勝率)-2,0) linethick0 coloryellow;
目前可用資金:=IF(總交易次數<>0,期初資金+(總交易損益*200),期初資金) linethick0 coloryellow;
最大虧損:=IF(盈虧<最大虧損,盈虧,最大虧損) linethick0 coloryellow;
===============================
之前的OK
這一行要加在甚麼位置???
在公式最後一行下加入以下
下單口數那一行應該是不對,請教要如何放???
為何在解盤不會出現下單口數
==============================
下單口數:=ROUND(IF(總交易次數>10,((((總盈餘/總虧損)*勝率-1)/(總盈餘/總虧損))*目前可用資金)/(最大虧損*200),1)) linethick0 coloryellow;
VERTLINE(期望值<0) LINEDOT COLORWHITE PXUP20;
DRAWTEXT(期望值<0,HIGH,'重新調整交易策略') COLORWHITE PXUP40;
EXPLAINEX(C>0 ,'總交易次數:', 總交易次數, 0, 0) colorred;
EXPLAINEX(C>0 ,'總交易損益:', 總交易損益, 0, 0) colorred;
EXPLAINEX(C>0 ,'總盈餘:', 總盈餘, 0, 0) colorred;
EXPLAINEX(C>0,'總虧損:', 總虧損,0,0) colorred;
EXPLAINEX(C>0 ,'淨利金額:', 淨利金額, 0, 0) colorred;
EXPLAINEX(C>0 ,'賺錢次數:', 賺錢次數, 0, 0) colorred;
EXPLAINEX(C>0 ,'勝率:', 勝率, 0, 0) colorred;
EXPLAINEX(C>0 ,'期望值:', 期望值 ,0,0) colorred;
EXPLAINEX(C>0 ,'目前可用資金:', 目前可用資金, 0, 0) colorred;
EXPLAINEX(C>0 ,'最大虧損:', 最大虧損,0,0) colorred;
EXPLAINEX(C>0 ,'下單口數:', 下單口數,0,0) colorred;
真的不行要改寫成迴圈嗎???
沒有更好的方法嗎??
回覆: [請教]這一行要加在甚麼位置???
引用:
最初由 taiwanyang121 發表
買訊:=c*0;
下單口數:=C-C+1 ;
期初資金:=300000;
for i=1 to datacount do begin
買訊:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) linethick0 colorwhite;
盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
總交易次數:SUM(賣訊,0) linethick0 coloryellow ;
總交易損益:SUM(盈虧,0) linethick0 coloryellow ;
總盈餘:SUM(IF(盈虧>0,盈虧,0),0) linethick0 coloryellow;
總虧損:SUM(IF(盈虧<=0,盈虧,0),0)linethick0 coloryellow; //為0或負
淨利金額: (總交易損益-總交易次數*2)*200 linethick0 coloryellow;
賺錢次數:=SUM(盈虧>0,0) linethick0 coloryellow ;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) linethick0 coloryellow;
期望值:=IF(總交易次數>10,(總盈餘/總交易次數)*勝率+(總虧損/總交易次數)*(1-勝率)-2,0) linethick0 coloryellow;
目前可用資金:=IF(總交易次數<>0,期初資金+(總交易損益*200),期初資金) linethick0 coloryellow;
最大虧損:=IF(盈虧<最大虧損,盈虧,最大虧損) linethick0 coloryellow;
===============================
之前的OK
__________________
至誠能勝天下至偽
至拙能勝天下至巧
改好了!!就是有加碼的下單口數那一行要如何加???
買訊:=c*0;期初資金:=1000000;最大虧損:=0;保證金:=80000;
For i=1 to datacount do begin
買訊[i]:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) ;
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
//==========================================================================================================
總交易次數:=SUM(賣訊,0) ;
總交易損益:=SUM(盈虧,0) ;
總盈餘:=SUM(IF(盈虧>0,盈虧,0),0) ;
總虧損:=SUM(IF(盈虧<0, -盈虧,0),0) ; //為0或負
淨利金額:=(總交易損益-總交易次數*2)*200 ;
賺錢次數:=SUM(盈虧>0,0) ;
虧錢次數:=SUM(盈虧<0,0) ;
平均獲利:=總盈餘/賺錢次數;
平均虧損:=總虧損/虧錢次數;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) ;
期望值:=IF(總交易次數>10,(平均獲利)*勝率-(平均虧損*(1-勝率)),0) ;
目前可用資金:=IF(總交易次數<>0,期初資金+總交易損益*200 ,期初資金);
錢不夠:= IF( 目前可用資金<80000,1,0);
最大虧損:=LLV(盈虧,0);
KELLY:=(((平均獲利/平均虧損)+1)*勝率-1)/(平均獲利/平均虧損); ///////////資金管理模型 - Kelly Formula凱利公式 FK = ((WL + 1) * Pw - 1 ) / WL
下單口數:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
要參考後幾行程式中的數列 要如何做????
因為要先有盈虧才能算下單口數
10次交易以前每次下單為一口
又在第10次交易後又要開始參考下單口數下單?????想不出來如寫???
回覆: 改好了!!就是有加碼的下單口數那一行要如何加???
引用:
最初由 taiwanyang121 發表
買訊:=c*0;期初資金:=1000000;最大虧損:=0;保證金:=80000;
For i=1 to datacount do begin
買訊:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) ;
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
//==========================================================================================================
總交易次數:=SUM(賣訊,0) ;
總交易損益:=SUM(盈虧,0) ;
總盈餘:=SUM(IF(盈虧>0,盈虧,0),0) ;
總虧損:=SUM(IF(盈虧<0, -盈虧,0),0) ; //為0或負
淨利金額:=(總交易損益-總交易次數*2)*200 ;
賺錢次數:=SUM(盈虧>0,0) ;
虧錢次數:=SUM(盈虧<0,0) ;
平均獲利:=總盈餘/賺錢次數;
平均虧損:=總虧損/虧錢次數;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) ;
期望值:=IF(總交易次數>10,(平均獲利)*勝率-(平均虧損*(1-勝率)),0) ;
目前可用資金:=IF(總交易次數<>0,期初資金+總交易損益*200 ,期初資金);
錢不夠:= IF( 目前可用資金<80000,1,0);
最大虧損:=LLV(盈虧,0);
KELLY:=(((平均獲利/平均虧損)+1)*勝率-1)/(平均獲利/平均虧損); ///////////資金管理模型 - Kelly Formula凱利公式 FK = ((WL + 1) * Pw - 1 ) / WL
下單口數:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
引用:
[i]最初由 taiwanyang121 發表
因為要先有盈虧才能算下單口數
10次交易以前每次下單為一口
又在第10次交易後又要開始參考下單口數下單?????想不出來如寫???
__________________
至誠能勝天下至偽
至拙能勝天下至巧
請參倉考公式中的那行如何改成加碼的那一行??
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
//==========================================================================================================
請參倉考公式中的那行如何改成加碼的那一行??他在研加碼在後沒加到??
回覆: 請參倉考公式中的那行如何改成加碼的那一行??
引用:
最初由 taiwanyang121 發表
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
//==========================================================================================================
請參倉考公式中的那行如何改成加碼的那一行??他在研加碼在後沒加到??
__________________
至誠能勝天下至偽
至拙能勝天下至巧
舉例
一般情形是交易訊號出現時你會決定是試單(空手時) 或有單時的加碼, 不會去算當你空手時若發生試單的情況之前的的勝率與期望值對嗎???
所以當你空手發生交易訊號時你如果你的期望值變為負的表示你每交易一筆很容易虧損你會下單嗎???應該是減碼下試單??這裡指的不是加碼單的情況喔!!!
哪筆單子是 試單或是加碼單
從目前指標中看不出
只看指標內容
您的交易系統要由您決定
不想去猜不同的定義
__________________
至誠能勝天下至偽
至拙能勝天下至巧
問題是盈虧的計算式在你匴好下單口數之前
問題是盈虧的計算式在你匴好下單口數之前
======================================
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧????????
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
.....
...
....
下單口數A:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
下單口數:=IF(總交易次數<10 OR 下單口數A<2,1,下單口數A);
目前此公式都只有試單
所以都要參考下單口數
如果將後面一段搬到盈虧之前又會出現""盈虧未定義"
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) ;
//=======================================================
總交易次數:=SUM(賣訊,0) ;
總交易損益:=SUM(盈虧,0) ;
總盈餘:=SUM(IF(盈虧>0,盈虧,0),0) ;
總虧損:=SUM(IF(盈虧<0, -盈虧,0),0) ; //為0或負
淨利金額:=(總交易損益-總交易次數*2)*200 ;
賺錢次數:=SUM(盈虧>0,0) ;
虧錢次數:=SUM(盈虧<0,0) ;
平均獲利:=總盈餘/賺錢次數;
平均虧損:=總虧損/虧錢次數;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) ;
期望值:=IF(總交易次數>10,(平均獲利)*勝率-(平均虧損*(1-勝率)),0) ;
目前可用資金:=IF(總交易次數<>0,期初資金+總交易損益*200 ,期初資金);
錢不夠:= IF( 目前可用資金<80000,1,0);
最大虧損:=LLV(盈虧,0);
KELLY:=(((平均獲利/平均虧損)+1)*勝率-1)/(平均獲利/平均虧損); //資金管理模型 - Kelly Formula凱利公式 FK = ((WL + 1) * Pw - 1 ) / WL
下單口數A:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
下單口數:=IF(總交易次數<10 OR 下單口數A<2,1,下單口數A);
/////想在下一行改為 盈虧:if(賣訊,(賣成本-買成本)*下單口數,0) linethick0 coloryellow;
///可以算出加碼的盈虧????????
盈虧:if(賣訊,(賣成本-買成本)*下單口數,0) linethick0 coloryellow;
//==============================================================
如果改成迴圈
For I=1 to Datacount do begin
If 在倉口數=0 and 多空=0 then begin //如果空手且觀望時出現訊號時計算調整風控與資金
For j=1 to i do begin
總交易次數[i]:if (賣訊[j]<>0,總交易次數[i]+1,總交易次數[i]) linethick0 coloryellow ;
總賺錢次數[i]:if (盈虧[j]>0,賺錢次數[i]+1,賺錢次數[i]) linethick0 coloryellow ;
總虧錢次數[i]:總交易次數[i]-總賺錢次數[i];
總盈餘[i]:if(盈虧[j]>0,總盈餘[i]+盈虧[j],總盈餘[i]) linethick0 coloryellow;
總虧損[i]:if(盈虧[j]<0,總虧損[i]+盈虧[j],總虧損[i])linethick0 coloryellow; //為負
總交易損益[i]:總盈餘[i]+總虧損[i] linethick0 coloryellow ;
end;
...
..
..
會很麻煩
回覆: 問題是盈虧的計算式在你匴好下單口數之前
引用:
最初由 taiwanyang121 發表
目前此公式都只有試單
問題是盈虧的計算式在你匴好下單口數之前
======================================
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧????????
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
.....
...
....
下單口數A:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
下單口數:=IF(總交易次數<10 OR 下單口數A<2,1,下單口數A);
所以都要參考下單口數
引用:
最初由 taiwanyang121 發表
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) ;
//=======================================================
總交易次數:=SUM(賣訊,0) ;
總交易損益:=SUM(盈虧,0) ;
總盈餘:=SUM(IF(盈虧>0,盈虧,0),0) ;
總虧損:=SUM(IF(盈虧<0, -盈虧,0),0) ; //為0或負
淨利金額:=(總交易損益-總交易次數*2)*200 ;
賺錢次數:=SUM(盈虧>0,0) ;
虧錢次數:=SUM(盈虧<0,0) ;
平均獲利:=總盈餘/賺錢次數;
平均虧損:=總虧損/虧錢次數;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) ;
期望值:=IF(總交易次數>10,(平均獲利)*勝率-(平均虧損*(1-勝率)),0) ;
目前可用資金:=IF(總交易次數<>0,期初資金+總交易損益*200 ,期初資金);
錢不夠:= IF( 目前可用資金<80000,1,0);
最大虧損:=LLV(盈虧,0);
KELLY:=(((平均獲利/平均虧損)+1)*勝率-1)/(平均獲利/平均虧損); //資金管理模型 - Kelly Formula凱利公式 FK = ((WL + 1) * Pw - 1 ) / WL
下單口數A:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
下單口數:=IF(總交易次數<10 OR 下單口數A<2,1,下單口數A);
/////想在下一行改為 盈虧:if(賣訊,(賣成本-買成本)*下單口數,0) linethick0 coloryellow;
///可以算出加碼的盈虧????????
盈虧:if(賣訊,(賣成本-買成本)*下單口數,0) linethick0 coloryellow;
//==============================================================
引用:
最初由 taiwanyang121 發表
For I=1 to Datacount do begin
If 在倉口數=0 and 多空=0 then begin //如果空手且觀望時出現訊號時計算調整風控與資金
For j=1 to i do begin
總交易次數[i]:if (賣訊[j]<>0,總交易次數[i]+1,總交易次數[i]) linethick0 coloryellow ;
總賺錢次數[i]:if (盈虧[j]>0,賺錢次數[i]+1,賺錢次數[i]) linethick0 coloryellow ;
總虧錢次數[i]:總交易次數[i]-總賺錢次數[i];
總盈餘[i]:if(盈虧[j]>0,總盈餘[i]+盈虧[j],總盈餘[i]) linethick0 coloryellow;
總虧損[i]:if(盈虧[j]<0,總虧損[i]+盈虧[j],總虧損[i])linethick0 coloryellow; //為負
總交易損益[i]:總盈餘[i]+總虧損[i] linethick0 coloryellow ;
end;
...
..
..
會很麻煩
__________________
至誠能勝天下至偽
至拙能勝天下至巧
誰有控可以將最近的元碼改成如下???
如果BBI=EMA 5,10,25,50 這四條均線的均價 ,
當EMA200 均線 小於 BBI 則 隨機指下多單
若大於 BBI 指下空單 其他條件相同
回覆: 誰有控可以將最近的元碼改成如下???
引用:
最初由 taiwanyang121 發表
如果BBI=EMA 5,10,25,50 這四條均線的均價 ,
當EMA200 均線 小於 BBI 則 隨機指下多單
若大於 BBI 指下空單 其他條件相同
__________________
至誠能勝天下至偽
至拙能勝天下至巧
回覆: 回覆: 誰有控可以將最近的元碼改成如下???
好像不行 訊號不見
BBI 在EMA200上只下多單
BBI 在EMA200下只下空單
其他條件不變
==============================
買訊:=c*0;期初資金:=1000000;最大虧損:=0;保證金:=80000;
M1:=EMA(C,5); M2:=EMA(C,10); M3:=EMA(C,25); M4:=EMA(C,50); M5:EMA(C,200);
BBI: (M1+M2+M3+M4)/4;
X01:=CROSS(BBI,EMA(C,200));
X02:=BARSLAST(X01);
X03:=REF(BARPOS,X02);
X11:=CROSS(EMA(C,200),BBI);
X12:=BARSLAST(X11);
X13:=REF(BARPOS,X12);
X21:=IF(X12>X02,1,0);
For i=1 to datacount do begin
IF X21[i] THEN BEGIN
買訊[i]:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
END;
end;
//買進不超過3次
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) ;
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
//==========================================================================================================
總交易次數:=SUM(賣訊,0) ;
總交易損益:=SUM(盈虧,0) ;
總盈餘:=SUM(IF(盈虧>0,盈虧,0),0) ;
總虧損:=SUM(IF(盈虧<0, -盈虧,0),0) ; //為0或負
淨利金額:=(總交易損益-總交易次數*2)*200 ;
賺錢次數:=SUM(盈虧>0,0) ;
虧錢次數:=SUM(盈虧<0,0) ;
平均獲利:=總盈餘/賺錢次數;
平均虧損:=總虧損/虧錢次數;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) ;
期望值:=IF(總交易次數>10,(平均獲利)*勝率-(平均虧損*(1-勝率)),0) ;
目前可用資金:=IF(總交易次數<>0,期初資金+總交易損益*200 ,期初資金);
錢不夠:= IF( 目前可用資金<80000,1,0);
最大虧損:=LLV(盈虧,0);
KELLY:=(((平均獲利/平均虧損)+1)*勝率-1)/(平均獲利/平均虧損); //資金管理模型 - Kelly Formula凱利公式 FK = ((WL + 1) * Pw - 1 ) / WL
下單口數A:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
下單口數:=IF(總交易次數<10 OR 下單口數A<2,1,下單口數A);
EXPLAINEX(C>0 ,'總交易次數:', 總交易次數, 0, 0) colorred;
EXPLAINEX(C>0 ,'賺錢次數:', 賺錢次數, 0, 0) colorred;
EXPLAINEX(C>0 ,'虧錢次數:', 虧錢次數, 0, 0) colorred;
EXPLAINEX(C>0 ,'總交易損益:', 總交易損益, 0, 0) colorred;
EXPLAINEX(C>0 ,'總盈餘:', 總盈餘, 0, 0) colorred;
EXPLAINEX(C>0,'總虧損:', 總虧損,0,0) colorred;
EXPLAINEX(C>0 ,'平均獲利:', 平均獲利, 2, 0) colorred;
EXPLAINEX(C>0,'平均虧損:', 平均虧損,2,0) colorred;
EXPLAINEX(C>0 ,'淨利金額:', 淨利金額, 2, 0) colorred;
EXPLAINEX(C>0 ,'勝率:', 勝率, 2, 0) colorred;
EXPLAINEX(C>0 ,'期望值:', 期望值 ,2,0) colorred;
EXPLAINEX(C>0 ,'目前可用資金:', 目前可用資金, 0, 0) colorred;
EXPLAINEX(C>0 ,'最大虧損:', 最大虧損,0,0) colorred;
EXPLAINEX(C>0 ,'KELLY:', KELLY, 4,0) colorred;
EXPLAINEX(C>0 ,'下單口數:', 下單口數, 2,0) colorred;
EXPLAINEX(C>0 ,'錢不夠:', 錢不夠,0,0) colorred;
拍謝 有些細節沒注意到
解盤的值會都成為零 主因您使用的主軸200 對分鐘K來說 有些大了
我在一分鐘週期 將200改為100就有顯示了
M1:=EMA(C,5); M2:=EMA(C,10); M3:=EMA(C,25); M4:=EMA(C,50); M5:EMA(C,200);
BBI: (M1+M2+M3+M4)/4;
X01:=CROSS(BBI,M5);
VERTLINE(X01);
X02:=BARSLAST(X01);
X03:=REF(BARPOS,X02);
X11:=CROSS(M5,BBI);
X12:=BARSLAST(X11);
X13:=REF(BARPOS,X12);
For i=700 to datacount do begin
IF M5[i]<BBI[i] THEN BEGIN
買訊[i]:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
// IF i>=X13[i] THEN BREAK; <<---- 刪除
END;
end;
__________________
至誠能勝天下至偽
至拙能勝天下至巧
實驗結果證明若用均線看到多頭作多一定虧錢啦
如果看到多頭時作多已經來不及了!!!!
發現問題??請教總版主大大
買訊:=c*0;期初資金:=1000000;最大虧損:=0;保證金:=80000;
For i=1 to datacount do begin
買訊[i]:=IF((RAND(2)-1)=1,1,0) ;
i:=i+15; //作用相等於 Step 15
end;
//買進不超過3次
每日開盤:=date<>ref(date,1) or barpos=1;
每日開盤SP:=barslast(每日開盤);
買訊:=買訊 and Sum(買訊,每日開盤SP+1)<=3 ;
買訊SP:=barslast(買訊);
買成本:ref(c,買訊SP) linethick0 colorwhite;
買停利:=買成本+30;
買停損:=買成本-15;
賣訊:=if ( (買停利<high and 買停利>low) or (買停損<high and 買停損>low),1,0);
//此段就已可過濾掉已有持單的買訊
CK:=買訊-賣訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
買訊:CK=1 coloryellow;
賣訊:CK=-1 colormagenta;
賣訊SP:=barslast(賣訊);
賣成本:=ref(c,賣訊SP) ;
/////想在下一行改為 盈虧:=IF(下單口數>1,if(賣訊,(賣成本-買成本)*下單口數,0) ,if(賣訊,(賣成本-買成本),0) ) linethick0 coloryellow;
///可以算出加碼的盈虧????????
盈虧:if(賣訊,(賣成本-買成本),0) linethick0 coloryellow;
//==========================================================================================================
總交易次數:=SUM(賣訊,0) ;
總交易損益:=SUM(盈虧,0) ;
總盈餘:=SUM(IF(盈虧>0,盈虧,0),0) ;
總虧損:=SUM(IF(盈虧<0, -盈虧,0),0) ; //為0或負
淨利金額:=(總交易損益-總交易次數*2)*200 ;
賺錢次數:=SUM(盈虧>0,0) ;
虧錢次數:=SUM(盈虧<0,0) ;
平均獲利:=總盈餘/賺錢次數;
平均虧損:=總虧損/虧錢次數;
勝率:=IF(總交易次數>10, 賺錢次數/總交易次數,0) ;
期望值:=IF(總交易次數>10,(平均獲利)*勝率-(平均虧損*(1-勝率)),0) ;
目前可用資金:=IF(總交易次數<>0,期初資金+總交易損益*200 ,期初資金);
錢不夠:= IF( 目前可用資金<80000,1,0);
最大虧損:=LLV(盈虧,0);
KELLY:=(((平均獲利/平均虧損)+1)*勝率-1)/(平均獲利/平均虧損); //資金管理模型 - Kelly Formula凱利公式 FK = ((WL + 1) * Pw - 1 ) / WL
下單口數A:=ROUND( IF( 總交易次數>10 AND (KELLY*目前可用資金)/保證金>1 ,(KELLY*目前可用資金)/保證金,1) ) ;
下單口數:=IF(總交易次數<10 OR 下單口數A<2,1,下單口數A);
1. 如果有重複買訊, 雖然下面以過濾到有持單的買訊但是買成本在過濾之前會變動如何解決????
??????
如何解決????
1. 如果有重複買訊, 雖然下面以過濾到有持單的買訊但是買成本在過濾之前會變動如何解決????
取第一次買訊的成本?
如是
x01:=sum(買訊,barslast(賣訊)+1)=1;
x02:=x01 and ref(x01,1)=0;
__________________
至誠能勝天下至偽
至拙能勝天下至巧
還有一個問題
就是當最號一行
下單口數:=IF(總交易次數<5 OR 下單口數A<2,1,下單口數A);
算出下單口數後如何在下次出現買訊後的賣訊時用他作為計算盈虧??
我想了兩天了
一定要改為FOR LOOP 嗎??
回覆: 我想了兩天了
引用:
最初由 taiwanyang121 發表
一定要改為FOR LOOP 嗎??
請教版主
謝謝您的解答 但問題不是那個
當公式執行到最後一行
下單口數:=IF(總交易次數<5 OR 下單口數A<2,1,下單口數A);
因為前面的是用一口在計算盈虧 當交易超過十次後算出的勝率與期望值會開始楷變下單口數可是前面還是用一口計算盈虧
我要如何讓他改變下單口數 或不同口數的計算盈虧
希望我表達的你能明白????
回覆: 請教版主
引用:
最初由 taiwanyang121 發表
謝謝您的解答 但問題不是那個
當公式執行到最後一行
下單口數:=IF(總交易次數<5 OR 下單口數A<2,1,下單口數A);
因為前面的是用一口在計算盈虧 當交易超過十次後算出的勝率與期望值會開始楷變下單口數可是前面還是用一口計算盈虧
我要如何讓他改變下單口數 或不同口數的計算盈虧
希望我表達的你能明白????
全部時間均為台灣時間, 現在時間為06:59 | 在這個頁面顯示本主題全部的 42 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.