相關標簽:dts系統,dts數字影院系統,調度仿真培訓系統 dts,惠比特交易和配種專區,夢三國交易專區,夢三國交易專區速秒,靈緹格力交易專區,中京交易市場下載專區,古幣銀元交易專區,
模型策略源碼: runmode:0; input:money(0,0,5,1); input:ratio(2,1,10,1); variable:trend=0; variable:callback=0; variable:stoplossprice=0; variable:takeprofitprice=0; variable:daytradecounter=0; if day>ref(day,1) then begin callback:=0; daytradecounter:=0; if close=open then trend:=0; if close>open then trend:=1; if close<open then trend:=-1; end if trend=0 then begin if close>open then trend:=1; if close<open then trend:=-1; end dist:=barslast(day>ref(day,1))+1; highest:=ref(hhv(high,dist),1); lowest:=ref(llv(low,dist),1); if trend=1 and low<=lowest then trend:=-1; if trend=-1 and high>=highest then trend:=1; dist1:=barslast(high<ref(high,1) and low<ref(low,1)); stoplossprice1:=ref(low,dist1); dist2:=barslast(high>ref(high,1) and low>ref(low,1)); stoplossprice2:=ref(high,dist2); if trend=1 and ref(high,1)<ref(high,3) and ref(high,2)<ref(high,3) and ref(high,3)=highest then callback:=1; if trend=-1 and ref(low,1)>ref(low,3) and ref(low,2)>ref(low,3) and ref(low,3)=lowest then callback:=-1; if holding=0 then begin myentryprice:=0; lots:=0; if daytradecounter=0 and dist>=4 and trend=1 and callback=1 and high>=highest+mindiff then myentryprice:=max(open,highest+mindiff); if myentryprice>0 then begin if dist1<=dist then stoplossprice:=stoplossprice1; else stoplossprice:=lowest; initialstopnum:=myentryprice-stoplossprice; takeprofitprice:=myentryprice+initialstopnum*ratio; if money=0 then begin lots:=1; end else begin mycash:=cash(0); lots1:=intpart(mycash/(myentryprice*multiplier*taccount(41))); lots2:=intpart(mycash*(money/100)/(initialstopnum*multiplier)); lots:=min(lots1,lots2); end end if lots>=1 then begin buy(1,lots,limitr,myentryprice); daytradecounter:=1; end end if holding=0 then begin myentryprice:=0; lots:=0; if daytradecounter=0 and dist>=4 and trend=-1 and callback=-1 and low<=lowest-mindiff then myentryprice:=min(open,lowest-mindiff); if myentryprice>0 then begin if dist2<=dist then stoplossprice:=stoplossprice2; else stoplossprice:=highest; initialstopnum:=stoplossprice-myentryprice; takeprofitprice:=myentryprice-initialstopnum*ratio; if money=0 then begin lots:=1; end else begin mycash:=cash(0); lots1:=intpart(mycash/(myentryprice*multiplier*taccount(41))); lots2:=intpart(mycash*(money/100)/(initialstopnum*multiplier)); lots:=min(lots1,lots2); end end if lots>=1 then begin buyshort(1,lots,limitr,myentryprice); daytradecounter:=1; end end if holding>0 then begin myexitprice:=0; lots:=holding; if stricmp(marketlabel,\'zj\')=0 then begin if time>=151500 then myexitprice:=open; end else begin if time>=150000 then myexitprice:=open; end if high>=takeprofitprice then myexitprice:=max(open,takeprofitprice); if low<=stoplossprice then myexitprice:=min(open,stoplossprice); if myexitprice>0 then sell(1,lots,limitr,myexitprice); end if holding<0 then begin myexitprice:=0; lots:=-holding; if stricmp(marketlabel,\'zj\')=0 then begin if time>=151500 then myexitprice:=open; end else begin if time>=150000 then myexitprice:=open; end if low<=takeprofitprice then myexitprice:=min(open,takeprofitprice); if high>=stoplossprice then myexitprice:=max(open,stoplossprice); if myexitprice>0 then sellshort(1,lots,limitr,myexitprice); end drawicon(holding<>0,stoplossprice,11); drawicon(holding<>0,takeprofitprice,10); 資產:asset,noaxis,linethick2; 點擊復制上述代碼粘貼到到公式管理器
{別忘了將本網告訴您身邊的朋友,向朋友傳達有用資料,也是一種人情,你朋友會感謝你的。}