要克服這個問題,讓實際上的 position 已經變化後馬上可以在圖表上正確的顯示出來,就只好使用"指標"來做這件事情了,因為我不想因為部位資訊的顯示把策略啟用 IOG 模式。
建立一個指標名稱 _ShowPosition,程式碼內容如下:
text_delete(Value95);
Value95=TEXT_New(D, T, H,"");
if i_marketposition>0 then begin
TEXT_SetString(Value95, "strong");
TEXT_SetColor(Value95, Red);
end;
if i_marketposition<0 begin then
TEXT_SetString(Value95, "weak");
TEXT_SetColor(Value95, green);
end;
if i_marketposition=0 then begin
TEXT_SetString(Value95, "even");
TEXT_SetColor(Value95, lightgray);
end;
TEXT_SetStyle(Value95, 1, 1);
TEXT_SetSize(Value95,14);
TEXT_Setlocation(Value95,D,T,GetAppInfo(aiLowestDispValue));
效果就如下圖,在圖表的右下角顯示著。當你策略是多單的時候,會顯示 紅色的strong、空單時顯示 綠色的weak、空手時顯示 白色的even。當然你可以因應你自己的需要做不同的變化,只要去修改以上程式碼內那三段被 if ... then 包起來的內容就可以了,就是桃紅色的部份。
通常這樣的小伎倆只是為了讓人可以很方便快速的看到自己策略的狀態,對於實質交易面,其實沒什麼幫助啦^^