 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 lung 發表
版主好:
小弟愚昧,套用後 沒有出現訊號,引用錯誤,
故再請教:
DoBS:C*0 NOAXIS COLORMAGENTA; //用開盤價做
{訊號進出: 1.多進, 2.空轉多, 3.多出, 4.多強出}
{ -1.空進,-2.多轉空,-3.空出,-4.空強出}
DoXX:DoBS NOAXIS COLOR0066FF; //用收盤價控
{控盈止損: 1.多控衰點, 2.多控衰%, 3.多停損}
{ -1.空控衰點,-2.空控衰%,-3.空停損}
持倉:DoBS linethick color777777; //該根最終持倉
多空:=0; //正:多, 負:空, 零:無
上面 DoBS: DoXX: 持倉: 三項公式提示要加 =
DoBS: DoXX: 持倉: 三項加上 =
引用多空進出
ENTERLONG: 多空=1 ; {多頭買入}
EXITLONG: 多空=2 or 多空=3 or 多空=4 ;
ENTERSHORT: 多空=-1; {空頭買入}
EXITSHORT: 多空=-2 or 多空=-3 or 多空=-4;
請問正確用法
謝謝
放在[技術指標]型態的公式中跑即可
不要放在[交易系統]型態的公式中
整合後
進出場是依據 DoBS 和 DoXX 變數
並非 "多空" 這個變數
|
|
向版主報告此篇 |  |
|
2016-03-23 14:31 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
版主你好:
經反覆測試、詳細比對,
兩組買賣訊,多進1、多進2、多出1、多出2 ,
進場依條件一口累計一口,滿倉二口。
DoBS 、持倉 都能對應正常無誤,
DoXX 也可執行出場,
有一情況是這樣,
二口單進場的時間不一樣,如BS1第二口剛進場後,
如因條件觸發,二口單會同時間出場,
而BS5的MIN5 趨勢還非常好,
卻只能空手,錯失行情,空方趨勢亦同,
兩口單原意只是加減碼,
未事先說明清楚,深表歉意。
請教 有可能依前後進場時間設定 DoXX 嗎?
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-24 22:28 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
版主您好:
同上,
假設第二口盈衰達標或是停損達標時,
第一口獲利60點且盈衰尚未達標,
此時二口單會同時間出場,
DoXX 是盈衰達標或是停損達標時產生之動作。
所以
請教版主 :
有可能依前後進場時間或其他方式,設定盈衰達標 嗎?
謝謝
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-25 15:31 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
盈虧值已理解,風險(控損)也是很重要的,
感謝版主細心指導
祝: 平安喜樂
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-25 17:07 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
版主您好:
請教:
公式放在[技術指標]型態的公式中,
事前在盤中觀察無誤,
這2日直接使用,
發現DoBS、DoXX
有時會在同根K棒重複進出,
後來測試只用多進1多出1空進1空出1一組訊號,
確認進出訊號有加REF(X,N)
情況亦同,
引用
ENTERLONG: DoBS=1 or DoBS=2 ; {多頭買入}
EXITLONG: DoBS=3 or DoBS=4 or DoXX=1 or DoXX=2 or DoXX=3 ; {多頭賣出}
ENTERSHORT: DoBS=-1 or DoBS=-2 ; {空頭買入}
EXITSHORT: DoBS=-3 or DoBS=-4 or DoXX=-1 or DoXX=-2 or DoXX=-3; {空頭賣出}
接口
NowPo:= 數字轉化為字符串(NowPoInt,0);
NowPO:= 條件函數(ENTERLONG,'1', NowPO);
NowPO:= 條件函數(ENTERSHORT,'-1', NowPO);
NowPO:= 條件函數(EXITSHORT,'1', NowPO);
也試過引用
持倉[i]:=多空;
接口
NowPo:= NUMTOSTR(NowPoInt,0); //空倉
NowPO:= IF(持倉=0,'0', NowPO);
NowPO:= IF(持倉=1,'1', NowPO);
NowPO:= IF(持倉=2,'2', NowPO);
NowPO:= IF(持倉=-1,'-1', NowPO);
NowPO:= IF(持倉=-2,'-2', NowPO);
請問在引用及接口有問題嗎?
謝謝
lung 附帶上了此圖片:
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-29 13:31 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 lung 發表
版主您好:
請教:
公式放在[技術指標]型態的公式中,
事前在盤中觀察無誤,
這2日直接使用,
發現DoBS、DoXX
有時會在同根K棒重複進出,
後來測試只用多進1多出1空進1空出1一組訊號,
確認進出訊號有加REF(X,N)
情況亦同,
引用
ENTERLONG: DoBS=1 or DoBS=2 ; {多頭買入}
EXITLONG: DoBS=3 or DoBS=4 or DoXX=1 or DoXX=2 or DoXX=3 ; {多頭賣出}
ENTERSHORT: DoBS=-1 or DoBS=-2 ; {空頭買入}
EXITSHORT: DoBS=-3 or DoBS=-4 or DoXX=-1 or DoXX=-2 or DoXX=-3; {空頭賣出}
接口
NowPo:= 數字轉化為字符串(NowPoInt,0);
NowPO:= 條件函數(ENTERLONG,'1', NowPO);
NowPO:= 條件函數(ENTERSHORT,'-1', NowPO);
NowPO:= 條件函數(EXITSHORT,'1', NowPO);
也試過引用
持倉[i]:=多空;
接口
NowPo:= NUMTOSTR(NowPoInt,0); //空倉
NowPO:= IF(持倉=0,'0', NowPO);
NowPO:= IF(持倉=1,'1', NowPO);
NowPO:= IF(持倉=2,'2', NowPO);
NowPO:= IF(持倉=-1,'-1', NowPO);
NowPO:= IF(持倉=-2,'-2', NowPO);
請問在引用及接口有問題嗎?
謝謝
DOBS 和 DOXX 是不相同的
DOBS
是原買賣訊號,整合後的買賣訊號
帶入前,訊號就已處理為取前一根(訊號不會浮動)
DOXX
是控衰停損,是依據該根收盤價計算是否達到
達到就執行控衰停損
撰寫的出發點,是基於評測績效,而非下單
盤中該根K棒尚未完成前,收盤價是會浮動的
故 DOXX 可能會一下成立一下不成立
您把 DOXX 直接帶入給下單,就有可能發生您講的情況
|
|
向版主報告此篇 |  |
|
2016-03-29 14:25 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
版主您好:
請教:
一、
DOXX的起始條件是
if 多空<>0 then begin
Now盈虧:=CC[i]*多空-進本;
if Now盈虧<=-控損點數 then begin
多空:=0; 累停損次:=累停損次+1; DoXX[i]:=NowDir*3;
end else begin …………
盤中該根K棒尚未完成前,收盤價會浮動
故 DOXX 可能會一下成立
就會平倉
“ 多空:=0 “
一下不成立,再成立時
已不符合 if “多空 <>0 “ then begin….
理應同根K棒不會重複進出?
二、
就交易公式而言,非評測,
能實現多訊或空訊皆為次一根,停損或停利皆為當根嗎?
可以給予協助修改或公式範例嗎?
謝謝
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-29 15:11 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
版主您好:
請教
開盤價是不會變動的
形同下一根是嗎?
謝謝
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-29 15:54 |
|
|
|  |
 |
lung
初級會員
註冊日期: Nov 2015
來 自:
文章數量: 17 |
版主您好:
有參考主題“ 求助 二口單交易“
引用:
最初由 cgjj 發表
盤中當根之 L 只會越來越低或保持原位不動
盤中當根之 H 只會越來越高或保持原位不動
只要價達到停損條件, 即使該K棒尚未終了
停損這訊號狀態是不會再變動的了
該根K棒最終之HL, 並非 "停損之出場價"
在該根停損訊號剛成立的那一刻就出場了
而非等到該根K棒行情終了才出場
程式是決定停損訊號, 並未決定停損之出場價
停損之出場價: 您要用HL去算, 或是用進場價-18點算
那是您後面接的程式算績效時自行去決定的
對於停損訊號處理而言, 應該並無誤差
…………………………
依據前一根的進場訊號是否成立
決定這一根是否進場(開盤進場故用開盤價)
所以根本不需去求 "條件觸發時買進價位"
因為它是下根開盤進場
所以價位就是下根 "開盤價", 根本不需要另做計算
…………………………
請教:
DoBS是下一根 "開盤價"
進場價是ok的,
停損利可以以上述方式協助完成嗎
“ 只要價達到停損條件, 即使該K棒尚未終了 “
“ 停損這訊號狀態是不會再變動的了 “
如因2組訊號限制,改為1組訊號也可,
畢竟停損利在同根K棒重複進出,
那也只能純欣賞了。
望 版大幫助了
感恩
__________________
lung
|
|
向版主報告此篇 |  |
|
2016-03-29 19:35 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 lung 發表
版主您好:
有參考主題“ 求助 二口單交易“
請教:
DoBS是下一根 "開盤價"
進場價是ok的,
停損利可以以上述方式協助完成嗎
“ 只要價達到停損條件, 即使該K棒尚未終了 “
“ 停損這訊號狀態是不會再變動的了 “
如因2組訊號限制,改為1組訊號也可,
畢竟停損利在同根K棒重複進出,
那也只能純欣賞了。
望 版大幫助了
感恩
那樣規則會變成是以下這樣,與收盤價就無關係了...
做多時用 L價 算損(含盈衰)
做空時用 H價 算損(含盈衰)
做多時用 H價 算Max盈利
做空時用 L價 算Max盈利
處理範例如下:
原碼: MA05:=MA(CLOSE,5); MA15:=MA(CLOSE,15);
M1:=CROSS(MA05,MA15); M2:=CROSS(MA15,MA05);
方向:=BARSLAST(M1-M2);
BS_CT:=BARSLAST(方向=1);
BS1:=REF(O, BS_CT);
BS5:="515BS.BSLINE#MIN5";
BS30:="515BS.BSLINE#MIN30";
始作Time:=085000; 限進Time:=123500;
強出:=time>=133500;
滿倉:=2; 控損點數:=15; 限停損次:=3;
控盈始1:=20; 控衰點數:=12;
控盈始2:=60; 控衰%數:=30;
//篩選決定進出訊號,並處理為次根
DoCK:=Time>=始作Time and Time<限進Time;
多進1:=ref(C>BS30 and cross(C,BS1),1) and DoCK or barpos=0;
多進2:=ref(C>BS30 and cross(C,BS5),1) and DoCK or barpos=0;
多出1:=ref(C>BS30 and cross(BS1,C),1) or barpos=0;
多出2:=ref(C>BS30 and cross(BS5,C),1) or barpos=0;
空進1:=ref(C<BS30 and cross(BS1,C),1) and DoCK or barpos=0;
空進2:=ref(C<BS30 and cross(BS5,C),1) and DoCK or barpos=0;
空出1:=ref(C<BS30 and cross(C,BS1),1) or barpos=0;
空出2:=ref(C<BS30 and cross(C,BS5),1) or barpos=0;
//彙整進出場訊號
進場:=(多進1+多進2)-(空進1+空進2) linethick coloryellow;
多出:=多出1+多出2 linethick colorred;
空出:=空出1+空出2 linethick colorgreen;
DoBS:C*0 NOAXIS COLORMAGENTA; //用開盤價做
{訊號進出: 1.多進, 2.空轉多, 3.多出, 4.多強出}
{ -1.空進,-2.多轉空,-3.空出,-4.空強出}
DoXX:DoBS NOAXIS COLOR0066FF; //用收盤價控
{控盈止損: 1.多控衰點, 2.多控衰%, 3.多停損}
{ -1.空控衰點,-2.空控衰%,-3.空停損}
持倉:DoBS linethick color777777; //該根最終持倉
多空:=0; //正:多, 負:空, 零:無
Max盈利:=0; OO:=O; HH:=H; LL:=L;
StDE:=date<>ref(date,1) or barpos=1;
for i=1 to datacount do begin
if StDE[i] then 累停損次:=0;
if 多空=0 then begin
if 累停損次<限停損次 then 多空:=進場[i];
if 多空<>0 then begin
進本:=OO[i]*多空; NowDir:=SGN(多空); 盈控:=0; Max盈利:=0; DoBS[i]:=NowDir;
end;
end else begin
Old多空:=多空;
if 強出[i] then begin
多空:=0; DoBS[i]:=NowDir*4;
end else if NowDir=SGN(進場[i]) and ABS(多空)<滿倉 then begin //同向
多空:=多空+進場[i];
if ABS(多空)>滿倉 then 多空:=滿倉*NowDir;
進本:=進本+OO[i]*(多空-Old多空);
if Old多空<>多空 then DoBS[i]:=NowDir;
end else if NowDir=-SGN(進場[i]) then begin //反手
多空:=進場[i]; 進本:=OO[i]*多空;
NowDir:=SGN(多空); 盈控:=0; Max盈利:=0; DoBS[i]:=NowDir*2;
end else if NowDir=1 and 多出[i]>0 then begin //多出
多空:=多空-多出[i]; DoBS[i]:=3; if 多空<0 then 多空:=0;
進本:=進本-(Old多空-多空)*OO[i];
end else if NowDir=-1 and 空出[i]>0 then begin //空出
多空:=多空+空出[i]; DoBS[i]:=-3; if 多空>0 then 多空:=0;
進本:=進本-(Old多空-多空)*OO[i];
end;
end;
if 多空<>0 then begin
利HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈虧H:=利HL*多空-進本;
盈虧L:=損HL*多空-進本;
if 盈虧L<=-控損點數 then begin
多空:=0; 累停損次:=累停損次+1; DoXX[i]:=NowDir*3;
end else begin
if 盈虧H>Max盈利 then Max盈利:=盈虧H;
if 盈控=0 and 盈虧H>控盈始1 then 盈控:=1;
if 盈控=1 and 盈虧H>控盈始2 then 盈控:=2;
盈衰:=Max盈利-盈虧L;
if 盈控=1 then begin
if 盈衰>=控衰點數 then begin //停利1
多空:=0; DoXX[i]:=NowDir;
end;
end else if 盈控=2 then begin
if 盈衰>=Max盈利*(控衰%數/100) then begin //停利2
多空:=0; DoXX[i]:=NowDir*2;
end;
end;
end;
end;
持倉[i]:=多空;
end;
|
|
向版主報告此篇 |  |
|
2016-03-30 11:26 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|