Répondre

Fonctions BollingerBand de SQ

6 réponses

Joseph

Abonné, bbp_participant, communauté, 2 réponses.

Visiter le profil

Il y a 7 ans #115551

Bonjour à tous,

 

Je m'appelle Joseph et je viens de Taïwan. C'est la première fois que je poste ici.

Je rencontre une question concernant les stratégies générées à partir de SQ, et le type de code source est le code Tradestation (EasyLanguage), merci de m'aider à répondre si vous connaissez ce problème.

 

Le code source :

********** Partie du code source *********

(SQ_BollingerBandDown(68, 10, 0)[0] > SQ_BollingerBandDown(71, 5, 0)[0]);

(SQ_BollingerBandUp(68, 10, 0)[0] < SQ_BollingerBandUp(71, 5, 0)[0]);

 

SQ_MoneyManagement(CapitalSize, SLSize, MoneyManagementType, TradeSize, SizeRounding, RiskPerTrade, MaxTradeSize) ;

******************************************

 

Ces trois fonctions, SQ_BollingerBandDown, SQ_BollingerBandUp, SQ_MoneyManagement ne sont pas définis dans l'ensemble du code source généré par le SQ.

Quelqu'un sait-il quelles sont les définitions de leurs fonctions respectives ?

 

J'apprécie beaucoup vos commentaires. Nous vous remercions de tout cœur !

 

Je vous prie d'agréer, Monsieur le Président, l'expression de mes sentiments distingués,

Joseph

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #139370

Bonjour,
 
Pour que les stratégies SQ fonctionnent avec Tradestation, vous devez importer certaines fonctions EasyLanguage personnalisées dans votre Tradestation.
 
Ouvrez votre Tradestation, allez dans Fichier -> Importer/Exporter EasyLanguage et choisissez Importer le fichier EasyLangauge (ELD, ELS ou ELA) puis trouvez le fichier :
{StrategyQuant}/custom_indicators/SQ_Tradestation.eld et l'importer.
 
Cela importera toutes les fonctions supplémentaires utilisées par StrategyQuant, de sorte que vos nouvelles stratégies fonctionneront dans Tradestation.

0

Joseph

Abonné, bbp_participant, communauté, 2 réponses.

Visiter le profil

Il y a 7 ans #139377

Bonjour Tomas,

 

Merci de votre réponse. Mes questions sont énumérées ci-dessous.

1) Le fichier est-il {StrategyQuant}/custom_indicators/SQ_Tradestation.eld dans n'importe quel outil de Tradestation ?

 

2)Bien que le type de code source des stratégies générées soit Tradestation (TS, Easy Language), je souhaite en fait les utiliser dans MultiChart (MC, Power Language).

 

Le type de programmation entre Easy Language et Power Language étant très proche, je souhaite modifier les stratégies TS générées au format Power Language.

 

Cependant, si MC n'a pas de fichier intégré comme TS, comment puis-je savoir quelle est la définition du code source des trois fonctions (SQ_BollingerBandDown, SQ_BollingerBandUp, SQ_MoneyManagement) sont ?

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #139408

Bonjour,

 

Je n'ai pas installé MC pour le moment, mais le processus devrait être identique à celui de TradeStation. Voici comment importer du code personnalisé dans MC http://www.multicharts.com/trading-software/index.php/Importing_and_Exporting_Studies

0

ctraverso

Client, bbp_participant, communauté, 34 réponses.

Visiter le profil

Il y a 7 ans #140139

J'ai eu la même erreur. En faisant l'importation, cela fonctionne bien ! Je vous remercie.

0

ctraverso

Client, bbp_participant, communauté, 34 réponses.

Visiter le profil

Il y a 7 ans #140140

La seule erreur que j'obtiens est que dans le dossier Tradestation SQ je ne peux pas trouver SQ_TrueRange. Pour l'instant, il n'est pas pris en charge par ma plateforme. Pourriez-vous me le fournir ?

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #140146

Bonjour,

 

voici le SQTrueRange pour Tradestation :

 

entrées :
Période( numericsimple ) ;


vars : periodBefore(0), first(0), second(0) ;


periodBefore = Période - 1 ;


if(High[periodBefore] > Close[Period]) then begin
first = High[periodBefore] ;
end Else begin
first = Close[Period] ;
fin ;


if(Low[periodBefore] < Close[Period]) then begin
second = Low[periodBefore] ;
end Else begin
second = Close[Period] ;
fin ;


SQTrueRange = first - second ;

0

Affichage de 6 réponses de 1 à 6 (sur un total de 6)