solo direzione long
Forums › ProRealTime forum Italiano › Supporto ProOrder › solo direzione long
- This topic has 10 replies, 3 voices, and was last updated 2 weeks ago by GraHal.
-
-
10/25/2024 at 5:48 PM #239480come posso fare a far lavorare questo sistema solo long ? se commento l entrata short automaticamente non entra neanche piu long non capisco perche12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273Defparam cumulateorders = Falsepossize = 1StochUpperLimit = 90StochLowerLimit = 20StochConsolidationPeriod = 2StochPeriods = 18StochK = 2StochD = 6StochSignal = Stochastic[StochPeriods,StochK](close)StochMain = average[StochD](StochSignal)RSI2 = RSI[2](close)RSIUpperLimit = 95RSILowerLimit = 5RSILimit = 4once Stoch = 0once StochCounter = 0once RSICounter = 0once RSICounterAdj = 0once LastRSI = 50If Stoch = 0 and lowest[StochConsolidationPeriod](StochSignal) < StochLowerLimit and StochSignal[1] <= StochMain[1] and StochSignal > StochMain ThenStoch = -1StochCounter = 0ElsIf Stoch = 0 and highest[StochConsolidationPeriod](StochSignal) > StochUpperLimit and StochSignal[1] >= StochMain[1] and StochSignal < StochMain ThenStoch = 1StochCounter = 0EndIfStochCounter = StochCounter + 1//questo si aggiorna sempre essendo fuori da qualsisasi if lui si aggiorna sempreIf onmarket = 0 and Stoch= -1 and StochCounter > 1 and StochSignal[1] <= StochMain[1] and StochSignal > StochMain ThenBuy possize contract at marketStochCounter = 0RSICounter = 0RSICounterAdj = 0LastRSI = 50ElsIf onmarket = 0 and Stoch = 1 and StochCounter > 1 and StochSignal[1] >= StochMain[1] and StochSignal < StochMain ThenSellshort possize contract at marketStochCounter = 0RSICounter = 0RSICounterAdj = 0LastRSI = 50EndIfIf longonmarket and RSI2[1] >= RSIUpperLimit and RSI2 < RSIUpperLimit ThenRSICounter = RSICounter + 1If highest[8](RSI2) < LastRSI ThenRSICounterAdj = RSICounterAdj + 1EndIfLastRSI = highest[8](RSI2)ElsIf shortonmarket and RSI2[1] <= RSILowerLimit and RSI2 > RSILowerLimit ThenRSICounter = RSICounter + 1If lowest[8](RSI2) > LastRSI ThenRSICounterAdj = RSICounterAdj + 1EndIfLastRSI = lowest[8](RSI2)EndIfIf longonmarket and RSI2[1] < RSIUpperLimit and RSI2 >= RSIUpperLimit and RSICounter >= RSILimit-RSICounterAdj Thensell at marketStoch = 0ElsIf shortonmarket and RSI2[1] > RSILowerLimit and RSI2 <= RSILowerLimit and RSICounter >= RSILimit-RSICounterAdj Thenexitshort at marketStoch = 0EndIf10/25/2024 at 6:44 PM #239481
Questo va solo Long (ho dovuto fare un bel pò di prove per capire cosa togliere e modificare), verifica che siano operazioni aperte correttamente rispetto al codice che hai postato:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273Defparam cumulateorders = Falsepossize = 1StochUpperLimit = 90StochLowerLimit = 20StochConsolidationPeriod = 2StochPeriods = 18StochK = 2StochD = 6StochSignal = Stochastic[StochPeriods,StochK](close)StochMain = average[StochD](StochSignal)RSI2 = RSI[2](close)RSIUpperLimit = 95RSILowerLimit = 5RSILimit = 4once Stoch = 0once StochCounter = 0once RSICounter = 0once RSICounterAdj = 0once LastRSI = 50If Stoch = 0 and lowest[StochConsolidationPeriod](StochSignal) < StochLowerLimit and StochSignal[1] <= StochMain[1] and StochSignal > StochMain ThenStoch = -1StochCounter = 0ElsIf Stoch = 0 and highest[StochConsolidationPeriod](StochSignal) > StochUpperLimit and StochSignal[1] >= StochMain[1] and StochSignal < StochMain ThenStoch = 1StochCounter = 0EndIfStochCounter = StochCounter + 1//questo si aggiorna sempre essendo fuori da qualsisasi if lui si aggiorna sempreIf onmarket = 0 and Stoch= -1 and StochCounter > 1 and StochSignal[1] <= StochMain[1] and StochSignal > StochMain ThenBuy possize contract at marketStochCounter = 0RSICounter = 0RSICounterAdj = 0LastRSI = 50ElsIf onmarket = 0 and Stoch = 1 and StochCounter > 1 and StochSignal[1] >= StochMain[1] and StochSignal < StochMain Then//Sellshort possize contract at market//StochCounter = 0//RSICounter = 0//RSICounterAdj = 0//LastRSI = 50EndIfIf longonmarket and RSI2[1] >= RSIUpperLimit and RSI2 < RSIUpperLimit ThenRSICounter = RSICounter + 1If highest[8](RSI2) < LastRSI ThenRSICounterAdj = RSICounterAdj + 1EndIfLastRSI = highest[8](RSI2)ElsIf not onmarket and RSI2[1] <= RSILowerLimit and RSI2 > RSILowerLimit ThenRSICounter = RSICounter + 1If lowest[8](RSI2) > LastRSI ThenRSICounterAdj = RSICounterAdj + 1EndIfLastRSI = lowest[8](RSI2)EndIfIf longonmarket and RSI2[1] < RSIUpperLimit and RSI2 >= RSIUpperLimit and RSICounter >= RSILimit-RSICounterAdj Thensell at marketStoch = 0ElsIf not onmarket and RSI2[1] > RSILowerLimit and RSI2 <= RSILowerLimit and RSICounter >= RSILimit-RSICounterAdj Then//exitshort at marketStoch = 0EndIf10/26/2024 at 5:04 PM #239524come posso resettare stoch123456789101112131415161718192021222324252627282930313233343536373839//Defparam cumulateorders = Falsepossize = 1StochUpperLimit = 90StochLowerLimit = 20StochConsolidationPeriod = 2StochPeriods = 18StochK = 2StochD = 6StochSignal = Stochastic[StochPeriods,StochK](close)StochMain = average[StochD](StochSignal)if not LONGONMARKET THENStoch =0endifIf Stoch = 0 and lowest[StochConsolidationPeriod](StochSignal) < StochLowerLimit and StochSignal[1] <= StochMain[1] and StochSignal > StochMain ThenStoch = -1EndIfa=0// Solo condizione per acquistoIf Stoch= -1 and StochSignal[1] <= StochMain[1] and StochSignal > StochMain and lowest[StochConsolidationPeriod](StochSignal) < StochLowerLimit Thena=1Buy possize contract at marketEndIfSET TARGET %PROFIT 10SET STOP %LOSS 5come posso resettare stoch a 0 ? ho provato come da codice a inserire la condizione "if not longonmarket " ma il sistema entra ed esce subito10/26/2024 at 5:45 PM #239529Metti queste 3 righe così:
123//if not LONGONMARKET THENStoch =0//endifovviamente le due righe commentate le puoi togliere, se preferisci.
10/27/2024 at 8:28 AM #239555grazie Roberto ma non risolve perche mi rimette su ogni barra stoch=0 e quindi non cambia niente , stoch dovrebbe restare impostato a -1 fin quando resto a mercato e poi tornare a 0 per poter di nuovo il set up di riga 21
10/27/2024 at 9:33 AM #239556c e anche un altra cosa che non capisco ,perche mi entra a quel livello li evidenziato mentre l entrata dovrebbe essere a mercato quindi all apertura della barra successiva
10/27/2024 at 5:59 PM #239574Nel tuo codice https://www.prorealcode.com/topic/solo-direzione-long/#post-239524 STOCH resta a -1 quando è a mercato e va a 0 quando non è a mercato.
Io ho solo cambiato queste due righe:
12SET TARGET %PROFIT 1SET STOP %LOSS 0.5perché altrimenti faceva operazioni molto lunghe e restava SEMPRE a mercato.
10/27/2024 at 6:00 PM #239575Aggiungi questa riga per vedere il prezzo:
1graphonprice PositionPrice10/28/2024 at 7:11 AM #239588Ho notato che questo, come altri sistemi che dovrebbero entrare “a mercato” in realtà entrano ad un livello superiore della apertura della barra, cosa che pero succede solo con azioni mentre con indici usando lo stesso sistema non avviene, il dubbio è che prorealtime abbia inserito i livelli di bid e ask ed usa quelli come entrata a mercato e non più l apertura della barra e quindi dove lo spread tra bid e ask è più marcato (appunto i titoli azionari rispetto ad esempio agli indici) l entrata a mercato avvenga ad un livello diverso dalla apertura della barra.
10/28/2024 at 5:00 PM #239629Non so dirti niente in merito. Prova a chiederlo direttamente a ProRealTime.
11/04/2024 at 2:40 PM #239938dovrebbe entrare “nel mercato” in realtà entrare a un livello più alto rispetto all’apertura della barra
Ciò che vediamo come prezzo di apertura è il prezzo medio tra bid e ask.
“Acquista a lungo sul mercato” verrebbe eseguito a un prezzo (leggermente) più alto rispetto al prezzo di apertura che vediamo su una candela.
Nei miei grafici ho sempre l’indicatore “Banda bid-ask”: questo dimostra ciò che sto dicendo sopra.
-
AuthorPosts
Find exclusive trading pro-tools on