 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18211 |
|
回覆: 請教版主大大.................
引用: 最初由 trtc516 發表
不好意思!又要再次麻煩版主大大幫忙解疑了,因為小弟想了5天都寫不出來..................................
假設flag=1------->買1口
flag=0,-------->平倉
flag=-1--------->,空1口
flag=0,---------->平倉
假設 A>B------> flag=1(買1口)
50點停利----------->flag=0(停利平倉),直到A<B才再flag=-1(空1 口)
若未到50點跌下來,造成A<B------>flag=-1(反空1 口)
50點停利----------->flag=0(停利平倉)
若未到50點反漲上去,造成A>B------>flag=1(反買1 口)
感謝.感謝.感謝大大...........................
原碼:
多進:=A>B or barpos=0;
空進:=A<B or barpos=0;
進出:C*0;
多空:=0; //1.多 -1.空 0.無
控利:=50; 進價:=0; CC:=C;
進向:=多進-空進;
盈虧:c*0 linethick;
for i= 1 to datacount do begin
if 多空=0 then begin
多空:=進向[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 多空<>進向[i] and 進向[i]<>0 then begin
進出[i]:=-多空*3; 多空:=-多空;
end else if 盈虧[i]>=控利 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
[進出] 這變數值代表意義如下:
1.多單進場, 2.多控利出, 3.空轉多
-1.空單進場,-2.空控利出,-3.多轉空
//關鍵字:交易系統範例
|
|
向版主報告此篇 |  |
|
2009-11-04 11:46 |
|
|
|  |
 |
trtc516
中級會員
註冊日期: Oct 2005
來 自: 台北市
文章數量: 82 |
|
感謝版主大大!!
不好意思!!看不懂程式,所以就照樣KEY入,但.電腦只會判別0,1,-1
所以小弟最後加上下列式子,但............都沒資料顯示???
FLAG:=if(進出=1,1,FLAG);
FLAG:=if(進出=2,0,FLAG);
FLAG:=if(進出=3,-1,FLAG);
FLAG:=if(進出=-1,-1,FLAG);
FLAG:=if(進出=-2,0,FLAG);
FLAG:=if(進出=-3,1,FLAG);
[進出] 這變數值代表意義如下:
1.多單進場, 2.多控利出, 3.空轉多
-1.空單進場,-2.空控利出,-3.多轉空
|
|
向版主報告此篇 |  |
|
2009-11-04 20:02 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18211 |
|
回覆: 感謝版主大大!!
引用: 最初由 trtc516 發表
不好意思!!看不懂程式,所以就照樣KEY入,但.電腦只會判別0,1,-1
所以小弟最後加上下列式子,但............都沒資料顯示???
FLAG:=if(進出=1,1,FLAG);
FLAG:=if(進出=2,0,FLAG);
FLAG:=if(進出=3,-1,FLAG);
FLAG:=if(進出=-1,-1,FLAG);
FLAG:=if(進出=-2,0,FLAG);
FLAG:=if(進出=-3,1,FLAG);
[進出] 這變數值代表意義如下:
1.多單進場, 2.多控利出, 3.空轉多
-1.空單進場,-2.空控利出,-3.多轉空
這三行是給您的說明不是公式, 不需加入
[進出] 這變數值代表意義如下:
1.多單進場, 2.多控利出, 3.空轉多
-1.空單進場,-2.空控利出,-3.多轉空
另外
FLAG:=if(進出=1,1,FLAG);
FLAG:=if(進出=2,0,FLAG);
FLAG:=if(進出=3,-1,FLAG);
FLAG:=if(進出=-1,-1,FLAG);
FLAG:=if(進出=-2,0,FLAG);
FLAG:=if(進出=-3,1,FLAG);
您自己用這六行程式, 依據 [進出] 這個變數, 設定 FLAG 變數結果為 0,1,-1
這是您自己創造的最終結果呀 <== 電腦只會判別0,1,-1
不懂您所謂的 " 沒資料顯示" 所指為何 ??
|
|
向版主報告此篇 |  |
|
2009-11-05 10:02 |
|
|
|  |
 |
trtc516
中級會員
註冊日期: Oct 2005
來 自: 台北市
文章數量: 82 |
|
感謝版主大大!!
感謝版主大大!!
因為我有輸出flag 來檢視結果,但都沒圖形顯示???
MA1:=MA(C,90);
多進:=C>MA1 or barpos=0;
空進:= C<MA1 or barpos=0;
進出:=C*0;
多空:=0; //1.多 -1.空 0.無
控利:=30; 進價:=0; CC:=C;
進向:=多進-空進;
盈虧:=c*0 ;
for i= 1 to datacount do begin
if 多空=0 then begin
多空:=進向[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 多空<>進向[i] and 進向[i]<>0 then begin
進出[i]:=-多空*3; 多空:=-多空;
end else if 盈虧[i]>=控利 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
Flag:=if(進出=1,1,Flag);
Flag:=if(進出=2,0,Flag);
Flag:=if(進出=3,-1,Flag);
Flag:=if(進出=-1,-1,Flag);
Flag:=if(進出=-2,0,Flag);
Flag:=if(進出=-3,1,Flag);
StickLine(Flag=1,-1,1,7,0),Colorred;
StickLine(Flag=-1,-1,1,7,0),Colorgreen;
StickLine(Flag=0,-1,1,7,0),Coloryellow;
|
|
向版主報告此篇 |  |
|
2009-11-05 20:40 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18211 |
|
問題在於
Flag 變數您尚未定義, 就取用它
Flag:=if(進出=1,1,Flag);
Flag:=if(進出=2,0,Flag);
Flag:=if(進出=3,-1,Flag);
Flag:=if(進出=-1,-1,Flag);
Flag:=if(進出=-2,0,Flag);
Flag:=if(進出=-3,1,Flag);
改為下面這樣即可解決問題
Flag:=C*0;
Flag:=if(進出=1,1,Flag);
Flag:=if(進出=2,0,Flag);
Flag:=if(進出=3,-1,Flag);
Flag:=if(進出=-1,-1,Flag);
Flag:=if(進出=-2,0,Flag);
Flag:=if(進出=-3,1,Flag);
|
|
向版主報告此篇 |  |
|
2009-11-06 09:06 |
|
|
|  |
 |
trtc516
中級會員
註冊日期: Oct 2005
來 自: 台北市
文章數量: 82 |
|
感謝版主大大.................
MA1:=MA(C,30);
多進:=C>MA1 or barpos=0;
空進:=C<MA1 or barpos=0;
進出:C*0;
多空:=0; //1.多 -1.空 0.無
控利:=50; 進價:=0; CC:=C;
進向:=多進-空進;
盈虧:c*0 linethick;
for i= 1 to datacount do begin
if 多空=0 then begin
多空:=進向[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 多空<>進向[i] and 進向[i]<>0 then begin
進出[i]:=-多空*3; 多空:=-多空; 進價:=CC[i];
end else if 盈虧[i]>=控利 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
Flag:=c*0;
Flag:=if(進出=1,1,Flag);
Flag:=if(進出=2,0,Flag);
Flag:=if(進出=3,-1,Flag);
Flag:=if(進出=-1,-1,Flag);
Flag:=if(進出=-2,0,Flag);
Flag:=if(進出=-3,1,Flag);
StickLine(Flag=1,-2,2,7,0),Colorred;
StickLine(Flag=-1,-2,2,7,0),Colorgreen;
StickLine(Flag=0,-2,2,7,0),Coloryellow;
|
| 最後由 trtc516 在 2009-11-10 01:16 編輯 |
向版主報告此篇 |  |
|
2009-11-10 00:38 |
|
|
|  |
 |
trtc516
中級會員
註冊日期: Oct 2005
來 自: 台北市
文章數量: 82 |
|
不好意思!麻煩版主大大..................................
不好意思!麻煩版主大大..................................
原由:
假設flag=1------->買1口
flag=0,-------->平倉
flag=-1--------->,空1口
flag=0,---------->平倉
假設 C>MA1------> flag=1(買1口)
50點停利----------->flag=0(停利平倉),直到C<MA1才再flag=-1(空1 口)
若未到50點跌下來,造成C<MA1------>flag=-1(反空1 口)
50點停利----------->flag=0(停利平倉)
若未到50點反漲上去,造成C>MA1------>flag=1(反買1 口)
因為我有輸出flag 來檢視結果,但結果如上圖顯示,都不對,小弟不知錯在哪裡???
Flag:=if(進出=1,1,Flag);
Flag:=if(進出=2,0,Flag);
Flag:=if(進出=3,-1,Flag);
Flag:=if(進出=-1,-1,Flag);
Flag:=if(進出=-2,0,Flag);
Flag:=if(進出=-3,1,Flag);
StickLine(Flag=1,-1,1,7,0),Colorred;
StickLine(Flag=-1,-1,1,7,0),Colorgreen;
StickLine(Flag=0,-1,1,7,0),Coloryellow;
|
|
向版主報告此篇 |  |
|
2009-11-11 00:22 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18211 |
|
[進出] 這變數值代表意義如下:
1.多單進場, 2.多控利出, 3.空轉多
-1.空單進場,-2.空控利出,-3.多轉空
您設反了
Flag:=if(進出=3,-1,Flag);
Flag:=if(進出=-3,1,Flag);
要改為
Flag:=if(進出=3,1,Flag);
Flag:=if(進出=-3,-1,Flag);
|
|
向版主報告此篇 |  |
|
2009-11-12 18:32 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|