![]() |
在這個頁面顯示本主題全部的 6 個文章 |
奇狐社區論壇 (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=17575)
[求救]多空交易寫法
研究了論壇上多空交易的寫法還是不太懂(沒有學過程式撰寫,所以搞不懂迴圈),想要套用又不盡相同,能否請求協助?如下:
多進(多單進場已自行完成);
空進(空單進場已自行完成);
空進價:REF(C,BARSLAST(空進));
空停損:空進價+15;
多進價:REF(C,BARSLAST(多進));
多停損:多進價-15;
請求協助:
1.一次進場2口部位;
2.30點停利1口;
3.停損,現有部位出場,並保持空手.
4.反向訊號,現有部位出場,並反手進場2口.
5.同向訊號忽略.
感謝!
回覆: [求救]多空交易寫法
引用:
最初由 Markchu7 發表
研究了論壇上多空交易的寫法還是不太懂(沒有學過程式撰寫,所以搞不懂迴圈),想要套用又不盡相同,能否請求協助?如下:
多進(多單進場已自行完成);
空進(空單進場已自行完成);
空進價:REF(C,BARSLAST(空進));
空停損:空進價+15;
多進價:REF(C,BARSLAST(多進));
多停損:多進價-15;
請求協助:
1.一次進場2口部位;
2.30點停利1口;
3.停損,現有部位出場,並保持空手.
4.反向訊號,現有部位出場,並反手進場2口.
5.同向訊號忽略.
感謝!
原碼:
多進:=多進 or barpos=0;
空進:=空進 or barpos=0;
進場:=多進-空進;
停利值:=30;
控損值:=15;
CC:=C; 進出:C*0 linethick;
DoBS:C*0 NOAXIS;
多空:=0; //n.多 -n.空 0.無
for i=1 to datacount do begin
if 多空=0 then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=CC[i]; 進出[i]:=SGN(多空); StopS:=0;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if NowDir=-進場[i] then begin
多空:=-NowDir*2; //反手
進價:=CC[i]; StopS:=0; 進出[i]:=-SGN(多空)*4;
end else begin
盈虧:=(CC[i]-進價)*NowDir;
if 盈虧>=停利值 and StopS=0 then begin
多空:=多空-NowDir; 進出[i]:=SGN(多空)*2; StopS:=1;
end else if 盈虧<=-控損值 then begin
進出[i]:=SGN(多空)*3; 多空:=0;
end;
end;
end;
DoBS[i]:=多空;
end;
感謝指導,好好研讀,若有不懂,再行請教!感恩!
感謝總版主的指導!經研讀後,再請解惑!
盈虧:=(CC[i]-進價)*NowDir;
1.以上源碼是以'收'作計算(不知對否?),能否改為以'高','低'做計算?
2.期貨以點數停利,控損很OK!但股票若是改採百分比(停利5%,控損2.5%),或是HHV(H,3) AND LLV(L,3)來做計算,要如何寫?再次有勞總版主,感恩!
引用:
最初由 Markchu7 發表
感謝總版主的指導!經研讀後,再請解惑!
盈虧:=(CC[i]-進價)*NowDir;
1.以上源碼是以'收'作計算(不知對否?),能否改為以'高','低'做計算?
2.期貨以點數停利,控損很OK!但股票若是改採百分比(停利5%,控損2.5%),或是HHV(H,3) AND LLV(L,3)來做計算,要如何寫?再次有勞總版主,感恩!
原碼:
多進:=多進 or barpos=0;
空進:=空進 or barpos=0;
進場:=多進-空進;
停利值:=30;
控損值:=15;
CC:=C; HH:=H; LL:=L;
進出:C*0 linethick;
DoBS:C*0 NOAXIS;
多空:=0; //n.多 -n.空 0.無
for i=1 to datacount do begin
if 多空=0 then begin
多空:=進場[i]*2;
if 多空<>0 then begin
進價:=CC[i]; 進出[i]:=SGN(多空); StopS:=0;
end;
end else if 多空<>0 then begin
NowDir:=SGN(多空);
if NowDir=-進場[i] then begin
多空:=-NowDir*2; //反手
進價:=CC[i]; StopS:=0; 進出[i]:=-SGN(多空)*4;
end else begin
損HL:=LL[i]*(NowDir=1)+HH[i]*(NowDir=-1);
盈HL:=HH[i]*(NowDir=1)+LL[i]*(NowDir=-1);
Max盈:=(盈HL-進價)*NowDir;
Max虧:=(損HL-進價)*NowDir;
if Max虧<=-控損值 then begin
進出[i]:=SGN(多空)*3; 多空:=0;
end else if Max盈>=停利值 and StopS=0 then begin
多空:=多空-NowDir; 進出[i]:=SGN(多空)*2; StopS:=1;
end;
end;
end;
DoBS[i]:=多空;
end;
感謝總版主,好好研讀去!
全部時間均為台灣時間, 現在時間為11:51 | 在這個頁面顯示本主題全部的 6 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.