Problème d'optimisation
6 réponses
chuso
Il y a 7 ans #116198
Bonjour, j'ai un problème avec Optimizer.
Lorsque j'active l'option Mettre des valeurs aux paramètres, de nouveaux paramètres s'affichent pour chaque bande de Bolinger, alors que je veux le même paramètre (période et écart-type) pour toutes les bandes.
Les pBB_UP_5 et pBB_UP_6, et les pBB_UP_8 et pBB_UP_9 devraient être les mêmes que les pBB_UP_2 et pBB_UP_3.
Je ne veux que 2 paramètres, pas 6.
Je vous ai envoyé le code ninja.
Voir aussi.
tomas262
Il y a 7 ans #141084
chuso
Il y a 7 ans #141089
Bonjour, voici le code :
/*
Stratégie NinjaTrader de la stratégie originale
Généré par StrategyQuant version 3.8.1
Généré le Fri Jan 20 10:46:00 GMT 2017
Testé sur NG, M15, 30.06.2003 - 15.12.2016
Spread : 1.0, Slippage : 2.5, Distance minimale du stop par rapport au prix : 0.0
*/
#region Utiliser des déclarations
en utilisant System ;
using System.ComponentModel ;
using System.Diagnostics ;
using System.Drawing ;
using System.Drawing.Drawing2D ;
using System.Xml.Serialization ;
en utilisant NinjaTrader.Cbi ;
en utilisant NinjaTrader.Data ;
en utilisant NinjaTrader.Indicator ;
using NinjaTrader.Gui.Chart ;
using NinjaTrader.Strategy ;
#endregion
namespace NinjaTrader.Strategy
{
///
/// Saisissez ici la description de votre stratégie
///
[Description("Entrez la description de votre stratégie ici")]
public class Originalstrategy : SQManagedStrategy
{
1TP14Variables de région
// Variables générées par l'assistant
protected int _pBB_UP_2 = 100 ;
protected int _pBB_UP_3 = 2 ;
protected int _pBB_UP_4 = 0 ;
protected int _pBB_UP_5 = 100 ;
protected int _pBB_UP_6 = 2 ;
protected int _pBB_UP_7 = 0 ;
protected int _pBB_UP_8 = 100 ;
protected int _pBB_UP_9 = 2 ;
protected int _pBB_UP_10 = 1 ;
protected double _StopLossPips = 70 ;
protected double _ProfitTargetPips = 140 ;
// Variables définies par l'utilisateur (ajouter toute variable définie par l'utilisateur ci-dessous)
#endregion
///
/// Cette méthode est utilisée pour configurer la stratégie et est appelée une fois avant que toute méthode de stratégie ne soit appelée.
///
protected override void Initialize()
{
base.Initialize() ;
ReplacePendingOrders = false ;
ExitOnClose = true ;
MinimumPTSL = 30 ;
MaximumPTSL = 300 ;
PendingOrderValidOneBar = false ;
BarsRequired = 120 ;
StrictStopPrices = true ;
LimitSignalsToRange = true ;
TimeRangeFrom = 1000 ;
TimeRangeTo = 2000 ;
// Paramètres de la stratégie
pBB_UP_2 = 100 ;
pBB_UP_3 = 2 ;
pBB_UP_4 = 0 ;
pBB_UP_5 = 100 ;
pBB_UP_6 = 2 ;
pBB_UP_7 = 0 ;
pBB_UP_8 = 100 ;
pBB_UP_9 = 2 ;
pBB_UP_10 = 1 ;
StopLossPips = 70 ;
ProfitTargetPips = 140 ;
MaxTradesPerDay = 0 ; // 0 signifie illimité
}
///
/// Appelé à chaque événement de mise à jour de la barre (tic-tac entrant)
///
protected override void OnBarUpdate()
{
// ——————————————
// GESTION DE LA STRATÉGIE
// ——————————————
if(Bars.FirstBarOfSession) tradesPerDay = 0 ;
// Gestion de l'expiration des ordres Stop/Limit
// Long ---
if(pendingEntryOrder != null && pendingEntryOrder.OrderAction == OrderAction.Buy) {
}
// Court ---
if(pendingEntryOrder != null && pendingEntryOrder.OrderAction == OrderAction.SellShort) {
}
// ——————————————
// RÈGLES D'ENTRÉE
// ——————————————
tradeEntered = false ;
if(sqCheckTimeWithinRange()) {
// Long ---
if(maxTradesPerDay == 0 || tradesPerDay sqBBUp(pBB_UP_2, pBB_UP_3, pBB_UP_4, 0)) && (sqBBUp(pBB_UP_5, pBB_UP_6, pBB_UP_7, 0) > sqBBUp(pBB_UP_8, pBB_UP_9, pBB_UP_10, 0))) ;
if(LongEntryCondition == true) {
if(Position.MarketPosition == MarketPosition.Flat) {
sqEnterLong() ;
}
}
}
// Court ---
if(maxTradesPerDay == 0 || tradesPerDay < maxTradesPerDay) {
bool ShortEntryCondition = ((Close[0] < sqBBUp(pBB_UP_2, pBB_UP_3, pBB_UP_4, 0)) && (sqBBUp(pBB_UP_5, pBB_UP_6, pBB_UP_7, 0) < sqBBUp(pBB_UP_8, pBB_UP_9, pBB_UP_10, 0))) ;
if(ShortEntryCondition == true) {
if(Position.MarketPosition == MarketPosition.Flat) {
sqEnterShort() ;
}
}
}
}
}
override protected void sqDefineStopLoss(int direction) {
stopLoss.type = CalculationMode.Ticks ;
if(direction == 1) {
// long
stopLoss.value = StopLossPips ;
} else {
// court
stopLoss.value = StopLossPips ;
}
}
override protected void sqDefineProfitTarget(int direction) {
profitTarget.type = CalculationMode.Ticks ;
if(direction == 1) {
// long
profitTarget.value = ProfitTargetPips ;
} else {
// court
profitTarget.value = ProfitTargetPips ;
}
}
1TP14Région 1TP9Propriétés
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_2
{
get { return _pBB_UP_2 ; }
set { _pBB_UP_2 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_3
{
get { return _pBB_UP_3 ; }
set { _pBB_UP_3 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_4
{
get { return _pBB_UP_4 ; }
set { _pBB_UP_4 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_5
{
get { return _pBB_UP_5 ; }
set { _pBB_UP_5 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_6
{
get { return _pBB_UP_6 ; }
set { _pBB_UP_6 = value ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_7
{
get { return _pBB_UP_7 ; }
set { _pBB_UP_7 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_8
{
get { return _pBB_UP_8 ; }
set { _pBB_UP_8 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_9
{
get { return _pBB_UP_9 ; }
set { _pBB_UP_9 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public int pBB_UP_10
{
get { return _pBB_UP_10 ; }
set { _pBB_UP_10 = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public double StopLossPips
{
get { return _StopLossPips ; }
set { _StopLossPips = valeur ; }
}
[Description("")]
[GridCategory("Paramètres de stratégie")]
public double ProfitTargetPips
{
get { return _ProfitTargetPips ; }
set { _ProfitTargetPips = value ; }
}
#endregion
}
}
tomas262
Il y a 7 ans #141124
Bonjour,
Merci pour le code. Pouvez-vous également me fournir le fichier du projet STR pour que je puisse le vérifier ? Vous pouvez l'envoyer à [email protected] alternativement
chuso
Il y a 7 ans #141190
Déjà envoyé
chuso
Il y a 7 ans #141356
tomas262
Il y a 7 ans #141368
Bonjour,
Je vous ai envoyé un courriel concernant les problèmes liés aux bandes de Bollinger. Faites-moi savoir si vous ne l'avez pas reçu
Affichage de 6 réponses de 1 à 6 (sur un total de 6)