Bonjour a tous j’ai besoin d’un coup de main .
Je cherche a mettre en place un code rapide qui ressemble à indicateur 1 + indicateur 2 + indicateur = 3 signaux identiques (3 arrows) dans barre unique (chandelle) = signal buy / signal sell .
les indicateurs conditions donnent individuellement (visuellement sur graphique) des signaux de tendance long/short (ils vivent leur vie) mais la conjonction des 3 sur une barre unique avec une flèche par indicateur sur la même barre pour les trois = signal achat ou signal vente .
les fonctions drawarrowup et down sont ok a coder mais le passage au signal en stratégie est moins intuitif …. ( en tout cas pour moi pour le moment)
Une idée de comment coder ce passage de signal screener à signal stratégie ?
merci pour le coup de main
Dans la vente de programmation stratégique, vous ne pouvez pas dessiner de flèches mais vous pouvez utiliser graph (pour voir les résultats de la variable sous le graphique) et graphonprice (pour voir la variable sur le graphique). Par exemple :
// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
sma200 = Average[200](close)
c1 = (close >= sma200)
sma5 = Average[5](close)
c2 = (close <= sma5)
rsi2 = RSI[2](close)
c3 = (rsi2 <= 10)
IF c1 AND c2 AND c3 THEN
BUY 1 contract AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
c4 = (close >= sma5)
c5 = (close <= sma200)
IF c4 and c5 THEN
SELL AT MARKET
ENDIF
graphonprice Average[5](close) coloured("red")
graphonprice Average[200](close) coloured("blue")
graph RSI[2](close) coloured("darkblue")
graph 10 coloured("fuchsia")
OK Ivan merci pour les explications mais mon besoin est un peu différent. Je travaille sur le dax en 5 minutes . pour ce faire, j’utilise twin range filter ( grand merci nicolas) , buy sell magical (grand merci nicolas bis) , un crossing de 2 MA ( 1 et 6 ) et un filtre cci plus un filtre tsi pour l’oscillation de tendance.
Dans le code de B/S magical ( lignes 39/40 et 51/52 ) le code indique les fonctions drawarrowup et drawsegment. le code de twin range filter utilise les conditions longcond et shortcond avec les fonctions drawarrowup /draw arrowdown quand les conditions longcond et shortcond permettent de placer une flèche dans le graphique et sur le graphique cela marche parfaitement.
Grosso modo , sur certaines séquences et dans certaines conditions , twin range filter et buy/sell magical affichent un rond (twin range) et une fleche pendant la même barre ce qui est un signal déclencheur avec l’action suyivante
if ( longcond + crossing MAup + TREND = +1 + TSIvalue >TSIthd + CCIvalue > CCITHD) then Buy . par exemple
If (shortcond + crossing MA Dwn + Trend =-1 + Tsivalue< Tsi Thd + CCivalue < CCIThd) . then sell par exemple
Le besoin est de taguer la Barre qui reçoit le flag twin rang et buy/sell magical en même temps pour en déduire un signal utilisable en stratégie . La plupart du temps, les signaux de twin range et Buy sell magical ne sont pas coordonnés donc même si ils déclenchent individuellement un signal sur une barre, cela ne doit pas générer de signal de trade
J’ai essayé avec Barindex = condition 1 and cond2 and cond 3 and cond4 then buy ( ou sell) sans succès……
Je ne sais pas si je suis clair…
merci pour le coup de main
D'accord. Maintenant, je pense avoir compris ce que vous recherchez. Vous devez savoir dans quel barindex la confluence des signaux s'est produite. Vous pouvez résoudre ce problème avec l'instruction barssince par exemple.
setup=c1 and c2 and c3
bars=barssince(setup=1)
Une autre option serait celle-ci :
si c1 et c2 et c3 alors
idx=barindex
autre
idx=0
fin
retourner idx, barindex
Top, testé, tout est ok. Muchas gracias .
une question complémentaire, est il possible de coder un target profit (% ou $ ) par tranche horaire , si on travaille sur des futures US par exemple avec un targetprofit/stop loss moins important le matin et plus important l’après midi au démarrage des marchés US …. Le codage à la transaction est simple mais est il possible d’inclure une variable horaire? 500usd la transaction par exemple le matin, 800 usd maxi a partir de 14h30?
Cordialement
Bonjour. Oui, vous pouvez ajouter ce qui suit au code :
if onmarket and opentime>090000 and opentime<143000 then
set stop $loss 500
set target $profit 500
elsif onmarket and opentime >=143000 then
set stop $loss 800
set target $profit 800
endif