sortir des varibles d un backtest
Forums › ProRealTime forum Français › Support ProOrder › sortir des varibles d un backtest
- This topic has 10 replies, 2 voices, and was last updated 7 years ago by Paris.
-
-
04/14/2017 at 11:22 PM #32075123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169// Navigator Trading System based on ProRealTime 10.3// The algo based on the statistical advantage of the TDOM (trading day of the month) idea around the turn of the month// Version 1// Instrument: DAX mini 1 EUR, 4H, 9-17 CET, 1 point spread, account size 10.000 Euro// ProOrder code parameterDEFPARAM CUMULATEORDERS = true // cumulate orders// define TDOM daysONCE tradingDaySell = 1ONCE tradingDayBuy = 8// define intraday trading windowONCE timeSell = 90000ONCE timeBuy = 170000// define position and money management parameterONCE positionSize = 1ONCE maxPositionSizeLong = 10ONCE maxPositionSizeShort = 10ONCE minSizeLong = 1ONCE midSizeLong = 5ONCE maxSizeLong = 10ONCE maxSizeShort = -10ONCE stopLossLong = 8.5 // in %ONCE takeProfitLong = 3 // in %ONCE stopLossShort = 3.75 // in %ONCE takeProfitShort = 1 // in %// define position multiplier for each month (>0 - long / <0 - short / 0 - no trade)ONCE longJanuary = 0ONCE shortJanuary = maxSizeShortONCE longFebruary = 0ONCE shortFebruary = maxSizeShortONCE longMarch = maxSizeLongONCE shortMarch = 0ONCE longApril = minSizeLongONCE shortApril = 0ONCE longMay = minSizeLongONCE shortMay = maxSizeShortONCE longJune = minSizeLongONCE shortJune = 0ONCE longJuly = midSizeLongONCE shortJuly = maxSizeShortONCE longAugust = 0ONCE shortAugust = maxSizeShortONCE longSeptember = 0ONCE shortSeptember = maxSizeShortONCE longOctober = midSizeLongONCE shortOctober = maxSizeShortONCE longNovember = midSizeLongONCE shortNovember = maxSizeShortONCE longDecember = midSizeLongONCE shortDecember = maxSizeShort// calculate TDOMIF Month <> Month[1] THENtradingDay = 0ENDIFIF Time = 90000 THENIF CurrentDayOfWeek > 0 AND CurrentDayOfWeek < 6 THENtradingDay = tradingDay + 1ENDIFENDIF// set montly multiplierIF CurrentMonth = 1 THENmonthlyMultiplierLong = longJanuarymonthlyMultiplierShort = shortJanuaryELSIF CurrentMonth = 2 THENmonthlyMultiplierLong = longFebruarymonthlyMultiplierShort = shortFebruaryELSIF CurrentMonth = 3 THENmonthlyMultiplierLong = longMarchmonthlyMultiplierShort = shortMarchELSIF CurrentMonth = 4 THENmonthlyMultiplierLong = longAprilmonthlyMultiplierShort = shortAprilELSIF CurrentMonth = 5 THENmonthlyMultiplierLong = longMaymonthlyMultiplierShort = shortMayELSIF CurrentMonth = 6 THENmonthlyMultiplierLong = longJunemonthlyMultiplierShort = shortJuneELSIF CurrentMonth = 7 THENmonthlyMultiplierLong = longJulymonthlyMultiplierShort = shortJulyELSIF CurrentMonth = 8 THENmonthlyMultiplierLong = longAugustmonthlyMultiplierShort = shortAugustELSIF CurrentMonth = 9 THENmonthlyMultiplierLong = longSeptembermonthlyMultiplierShort = shortSeptemberELSIF CurrentMonth = 10 THENmonthlyMultiplierLong = longOctobermonthlyMultiplierShort = shortOctoberELSIF CurrentMonth = 11 THENmonthlyMultiplierLong = longNovembermonthlyMultiplierShort = shortNovemberELSIF CurrentMonth = 12 THENmonthlyMultiplierLong = longDecembermonthlyMultiplierShort = shortDecemberENDIF// all in if buy day is Monday or ThuesdayIF tradingDay = tradingDayBuy AND ( CurrentDayOfWeek = 1 OR CurrentDayOfWeek = 2 ) THENmonthlyMultiplierLong = maxSizeLongENDIF// caculate current position profitposProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsize// open long position with order cumulationl1 = tradingDay = tradingDayBuyl2 = tradingDay > tradingDayBuy AND posProfit < 0IF ( (l1 OR l2) AND Time = timeBuy) THEN// check monthly setup and max position sizeIF monthlyMultiplierLong > 0 THENIF (COUNTOFPOSITION + (positionSize * monthlyMultiplierLong)) <= maxPositionSizeLong THENBUY positionSize * monthlyMultiplierLong CONTRACT AT MARKETENDIFELSIF monthlyMultiplierLong <> 0 THENIF (COUNTOFPOSITION + positionSize) <= maxPositionSizeLong THENBUY positionSize CONTRACT AT MARKETENDIFENDIFstopLoss = stopLossLongtakeProfit = takeProfitLongENDIF// sell short if valid month or close position onlys1 = tradingDay = tradingDaySellIF ( s1 AND Time = timeSell ) THEN// check monthly setup and max position sizeIF monthlyMultiplierShort < 0 THENIF (COUNTOFPOSITION + (positionSize * ABS(monthlyMultiplierShort))) <= maxPositionSizeShort THENSELLSHORT positionSize * ABS(monthlyMultiplierShort) CONTRACT AT MARKETENDIFELSIF monthlyMultiplierShort <> 0 THENIF (COUNTOFPOSITION + positionSize) <= maxPositionSizeShort THENSELLSHORT positionSize CONTRACT AT MARKETENDIFELSIF monthlyMultiplierShort = 0 THENSELL AT MARKETENDIFstopLoss = stopLossShorttakeProfit = takeProfitShortENDIF// stop and profit managementSET STOP %LOSS stopLossSET TARGET %PROFIT takeProfita=close-(close*(stopLoss/100))b=close+(close*(takeProfit/100))graph a as "stopLoss"graph b as "takeProfit"graph countofposition04/14/2017 at 11:27 PM #32076
ci dessus le code du navigator . c est un code de backtest , et ce que j aimerais faire c est de sortir les varibles
stopLoss
takeProfit
grace a la fonction graph
et de l afficher dans une fenetre afin
de suivre et de controler la position
visuellement
.
comme vous pouvez le voir j ai fait une tentative mais cela ne fonctionne pas . si quelqu un a une idee …1<span class="token string"> </span>04/14/2017 at 11:35 PM #3208104/14/2017 at 11:42 PM #3208204/27/2017 at 9:05 PM #33771bon je suis passe par le formulaire de pro real time pour demander de l aide sur ce petit soucis .
Malheureusement cela n a pas abouti
Nous avons récemment reçu de très nombreuses sollicitations pour ce service gratuit de programmation.
En conséquence nous ne sommes momentanément plus en mesure de prendre en charge de nouvelles demandes d’aide à la programmation.Afin d’obtenir une assistance à la programmation, je vous suggère de re-soumettre votre demande en passant par l’une des deux solutions proposées ci-dessous :
– Contactez notre partenaire ProRealCode.com qui propose un service d’aide à la programmation personnalisé – En savoir plus
– Demandez de l’aide à la communauté : notre partenaire ProRealCode.com propose un forum d’entraide dédié à la programmation via lequel vous pourrez bénéficier de l’aide d’autres utilisateurs de ProRealTime – Accéder au Forum
Cordialement,
bon la je ne sait plus quoi faire …..
04/27/2017 at 9:31 PM #33775Pour clarifier le langage et être sûr de comprendre, quand tu dis que tu veux 2 indicateurs, je suppose que tu ne parles pas d’indicateurs de pro-builder mais que tu veux bien dire que tu veux juste voir 2 variables stoploss et takeprofit dans la fenêtre réservée aux variables visionnées par graph?
Je vais supposer que oui, et si c’est bien ça, les lignes 167 et 168 devraient afficher ces valeurs en les modifiant comme suit:
12graph stopLoss as "stopLoss"graph takeProfit as "takeProfit"Reste une ambiguité en l’absence de copie écran du backtest, quand tu dis “ça ne fonctionne pas”, tu veux dire que c’est le backtest qui ne fonctionne pas car aucune fenêtre graph n’apparait? Ou bien que c’est ton affichage de a et b qui fonctionne mais ne donne pas ce que tu attendais et que tu cherches soit à débuguer a et b soit à afficher autre chose tel que ci-dessus?
04/27/2017 at 9:44 PM #33777Pour clarifier le langage et être sûr de comprendre, quand tu dis que tu veux 2 indicateurs, je suppose que tu ne parles pas d’indicateurs de pro-builder mais que tu veux bien dire que tu veux juste voir 2 variables stoploss et takeprofit dans la fenêtre réservée aux variables visionnées par graph?
oui oui oui
Reste une ambiguité en l’absence de copie écran du backtest, quand tu dis “ça ne fonctionne pas”, tu veux dire que c’est le backtest qui ne fonctionne pas car aucune fenêtre graph n’apparait? Ou bien que c’est ton affichage de a et b qui fonctionne mais ne donne pas ce que tu attendais et que tu cherches soit à débuguer a et b soit à afficher autre chose tel que ci-dessus?
si si le backtest fontionne parfaitement . la fenetre supplementaire apparait bien et j ai pu y afficher d autres variables que celles voulues .
la on est davantage sur comment est calculé le stop et le take profit que sur un bug technique , ou comment l afficher .
04/27/2017 at 9:47 PM #3377804/27/2017 at 9:50 PM #3377904/27/2017 at 10:06 PM #33781Ok, alors j’ai pas testé le code, mais s’il s’agit de débugguer le calcul de a et b des lignes 163 et 164, je l’aurais pas fait avec “close”, qui va changer à chaque fois qu’on change de bougie, mais (là c’est juste pour info parce que ça va pas aller) mais avec “tradeprice” pour avoir le niveau fixe du dernier in si le cumul des ordres était désactivé:
https://www.prorealcode.com/documentation/tradeprice/
mais comme le cumul est activé (ligne 7), il vaut sans doute mieux passer par positionprice qui tiendra compte de l’accumulation de positions de même sens:
https://www.prorealcode.com/documentation/positionprice/
D’autre part puisque le code semble aussi bien acheter que shorter, le calcul de a sera différent selon qu’on est call (stop dessous positionprice) ou selon qu’on est short (stop au-dessus de positionprice), l’inverse pour b
Peut-être que Nicolas a déjà répondu à ce genre de question, je n’ai pas cherché avec l’outil de recherche si ce topic a déjà été vu pour gapher plus vite ce que tu veux avoir.
Je déconnecte pour aujourd’hui, à demain.
04/27/2017 at 10:23 PM #33784 -
AuthorPosts
Find exclusive trading pro-tools on