Viele Menschen, wenn sie anfänglich mit programmatisiertem Handel in Berührung kommen, wählen die Optimierung der Parameter, um die Parameter auszuwählen. Schrittweise werden die Parameter oft von den Handlern selbst angepasst, wenn sich die Umgebung ändert. Obwohl nicht alle Parameter ständig angepasst werden müssen, kann dies das Programm flexibler machen, wenn wir die Parameter in unserem Programm anpassen, wenn sich die Umgebung ändert.
In welchen Märkten ist es dann leichter, mit einer solchen Brechungsstrategie Geld zu verdienen? Natürlich ist es einfacher, mit einer offensichtlichen Brechungsstrategie oder einer breiten Brechungsstrategie Geld zu verdienen. Aber wenn wir einmal auf eine Brechungsstrategie stoßen, kann es ein Problem sein, wie viele Brechungssignale sich wiederholen.
Was ist das für ein Problem, wenn man in der programmatisierten Handelsplattform dieses N sieht? Wir können N auf 5 setzen, wenn der Trend jetzt offensichtlich ist, dann gehen wir schneller ein. Aber wenn der Trend nicht offensichtlich ist, dann ist es sehr problematisch.
Zunächst ist es der Trend, ob die sehr offensichtlichen die Größe von N bestimmen. Wenn der Trend offensichtlich ist, dann ist der Index relativ viel schwanker. Im Gegensatz dazu, wenn der Trend rund ist, dann ist der Index in einem bestimmten Bereich ordnungsgemäß, also schwankt er relativ wenig.
Wenn wir zunächst N auf 20 setzen, können wir die Standardabweichung von 20 K-Stäbchen berechnen, die wir hier als V20 bezeichnen. Wenn wir eine kurze Zeitmessung durchführen wollen, dann nehmen wir an, wir berechnen mit 10 K-Stäbchen die Standardabweichung von 10 K-Stäbchen, die wir als V10 annehmen.
Nehmen wir an, dass der Höchststand des heutigen Preises den Höchststand der letzten N Tage überschritten hat, und verkaufen, wenn der Tiefstand des heutigen Tiefstands den Tiefstand der letzten N Tage überschritten hat. Diese Strategie gilt insbesondere für Trends, insbesondere für einseitige Waren.
Die Tests wurden mit zwei Diagrammen durchgeführt, wobei der Zyklus 1 eine Stunde und der Zyklus 2 einen Tag beträgt.
inputs: x(20),y(10) ;
//定义波动率参数
Vars: V20(10),V10(10),N2(10),N1(10),N(10);
//定义变量
V20=Volatility(x)of data2;
V10=Volatility(y)of data2;
//定义波动率取日线数据,取子图2的日线线数。这个Volatility函数是分别取20日跟10日ATR的移动平均数值
if V10<>0 and N2<>0 then begin
N1=(N*V20)/V10;
//定义N1的值,前提让分母不为0时执行,
//这N1=(N*V20)/V10是此参数自动化的核心, 代表你将原本固定N天的参考值改成会/根据V20和V10而变动的N1值, V20是较长期的,而V10是近期,大家看到这个公式应该可以发现,当你近期的波动率变大时,表示趋势出现,你的N1就会变小,而近期的波动率变得越小时,表示在盘整,N1就会变大,这样新的N变化似乎比较合理一点。
N2=IntPortion(N1);
//给N1取整赋值给N2
end;
value1=Average(high of data2,N2)of data2;
value2=Average(low of data2,N2)of data2;
//定义前N2天的高点跟低点的值给value1和value2
if close crosses above value1 then begin
buy next bar at market;
end;
//当价格上穿高点时买入或者反向
if close crosses below value2 then begin
sellshort next bar at market;
end;
//当价格下穿低点时开空或者反向
Das ist alles, was Sie über die automatische Ausarbeitung von Strategieparametern erfahren werden, und wir hoffen, dass Sie mit uns lernen und diskutieren!
RuiruiN1 = ((N*V20) / V10; wie wird N definiert?