1. 到了停損點沒有賣出
2.我在手機賣出或是買進,但是執行中的策略沒有即時更新目前的部位,這要如何是好?
我的設定是
指定組合:1101內有10支觀察股票
自動加入商品:啟用
執行頻率:日-原始值
逐筆洗價:啟用
策略部位計算地點:不指定,筆數:100
交易帳號:已啟用
策略部位:依庫存
{
多單移動停利(點)
設定停損點(如果不設定的話, 請把loss_point設定成0), 以及停利點, 跟回跌點數
價格下跌到停損時出場
價格上漲到停利點後啟動移動停利, 如果價格繼續上漲, 則繼續持有, 如果價格回檔超過回跌點數時, 則停利出場
}
以下是程式
input:profit_percent(3,"停利(%)");
input:profit_drawback_percent(1,"停利回跌(%)");
input:loss_percent(2, "停損(%)");
var:intrabarpersist profit_point(0); //停利點數
var:intrabarpersist profit_drawback_point(0); //回檔停利點數
var:intrabarpersist loss_point(0); //停損點數
var: intrabarpersist max_profit_point(0); { 啟動停利後最大獲利點 }
if Position > 0 then
begin
if profit_point=0 then
begin
profit_point=FilledAvgPrice*(1+(0.01*profit_percent));
profit_drawback_point=profit_point*(1-(0.01*profit_drawback_percent));
loss_point=FilledAvgPrice*(1-(0.01*loss_percent));
end;
//如果低於成本價2%時要停損
if Close <= loss_point then
begin
if (FilledAvgPrice-close)*Position > 5000 then SetPosition(0); { 停損:單一檔最大損失2%且金額大於5000元 }
max_profit_point = 0;
print("1當天最高價位:",q_dailyhigh);
print("1目前價位:",close);
print("1成本價::",FilledAvgPrice);
print("1停利價位:",profit_point);
print("1停損價位:",loss_point);
print("1目前部位:",position);
print("停損賣出");
end
else
begin
{ 判斷是否要啟動停利:當close大於停利點時,啟動停利作業max_profit_point<>0 }
if max_profit_point = 0 and Close >= profit_point then
begin
max_profit_point = close; //最高點停利點往上移到本日最高,下一行重算獲利回跌點1%
profit_drawback_point=max_profit_point*(1-(0.01*profit_drawback_percent));
print("2當天最高價位:",q_dailyhigh);
print("2目前價位",close);
print("2成本價::",FilledAvgPrice);
print("2停利價位:",profit_drawback_point);
print("2停損價位:",loss_point);
print("2目前部位:",position);
end;
if max_profit_point <> 0 then {已經啟動停利}
begin
if Close <= profit_drawback_point then
begin
SetPosition(0); { 停利賣出 }
print("停利賣出");
max_profit_point = 0;
print("3當天最高價位:",q_dailyhigh);
print("3目前價位",close);
print("3成本價::",FilledAvgPrice);
print("3目前最高點:",max_profit_point);
print("3獲利回吐價位:",profit_drawback_point);
print("3停利價位:",profit_point);
print("3停損價位:",loss_point);
print("3目前部位:",position);
end
else
if Close > max_profit_point then
begin
{ 移動最大獲利點 }
max_profit_point = Close;
profit_drawback_point=max_profit_point*(1-(0.01*profit_drawback_percent));
print("4當天最高價位:",q_dailyhigh);
print("4目前價位",close);
print("4成本價::",FilledAvgPrice);
print("4目前最高點:",max_profit_point);
print("4獲利回吐價位:",profit_drawback_point);
print("4停利價位:",profit_point);
print("4停損價位:",loss_point);
print("4目前部位:",position);
end;
end;
end;
end;
1 評論