奇狐社區論壇
在這個頁面顯示本主題全部的 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)


由 Markchu7 在 2013-03-13 16:44 發表:

[求救]多空交易寫法

研究了論壇上多空交易的寫法還是不太懂(沒有學過程式撰寫,所以搞不懂迴圈),想要套用又不盡相同,能否請求協助?如下:
多進(多單進場已自行完成);
空進(空單進場已自行完成);
空進價:REF(C,BARSLAST(空進));
空停損:空進價+15;
多進價:REF(C,BARSLAST(多進));
多停損:多進價-15;
請求協助:
1.一次進場2口部位;
2.30點停利1口;
3.停損,現有部位出場,並保持空手.
4.反向訊號,現有部位出場,並反手進場2口.
5.同向訊號忽略.
感謝!


由 cgjj 在 2013-03-15 17:33 發表:

回覆: [求救]多空交易寫法

引用:
最初由 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=-進場[ithen 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(多空)*2StopS:=1;
      
end else if 盈虧<=-控損值 then begin
        進出
[i]:=SGN(多空)*3多空:=0;
      
end;
    
end;
  
end;
  
DoBS[i]:=多空;
end;



[進出] 這變數值代表
1.多進, 2.多停利, 3.多控損, 4.多轉空
-1.空進, -2.空停利, -3.空控損, -4.空轉多

[DoBS] 為該根動作完後的口數


由 Markchu7 在 2013-03-15 20:17 發表:

感謝指導,好好研讀,若有不懂,再行請教!感恩!


由 Markchu7 在 2013-03-16 01:29 發表:

感謝總版主的指導!經研讀後,再請解惑!
盈虧:=(CC[i]-進價)*NowDir;
1.以上源碼是以'收'作計算(不知對否?),能否改為以'高','低'做計算?
2.期貨以點數停利,控損很OK!但股票若是改採百分比(停利5%,控損2.5%),或是HHV(H,3) AND LLV(L,3)來做計算,要如何寫?再次有勞總版主,感恩!


由 cgjj 在 2013-03-19 10:24 發表:

引用:
最初由 Markchu7 發表
感謝總版主的指導!經研讀後,再請解惑!
盈虧:=(CC[i]-進價)*NowDir;
1.以上源碼是以'收'作計算(不知對否?),能否改為以'高','低'做計算?
2.期貨以點數停利,控損很OK!但股票若是改採百分比(停利5%,控損2.5%),或是HHV(H,3) AND LLV(L,3)來做計算,要如何寫?再次有勞總版主,感恩!



以HL計盈虧, 範例如下:

原碼:

多進
:=多進 or barpos=0;
空進:=空進 or barpos=0;
進場:=多進-空進;
停利值:=30;
控損值:=15;
CC:=CHH:=HLL:=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=-進場[ithen 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(多空)*2StopS:=1;
      
end;
    
end;
  
end;
  
DoBS[i]:=多空;
end;



把點數換算成%數是不難的
給您自己試著換算看看


由 Markchu7 在 2013-03-19 12:31 發表:

感謝總版主,好好研讀去!


全部時間均為台灣時間, 現在時間為11:51
在這個頁面顯示本主題全部的 6 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.