Aiuto per la codifica - pagina 63

 

In questo modo si controllano solo gli ordini con il numero magico specificato (e il simbolo)

dasio:
In questo modo controllo gli ordini che non sono aperti con il numero magico specificato, giusto? Ho bisogno di controllare gli ordini con simbolo e numero magico specifici. Non so se è importante ma ho trovato l'errore in strategy tester
 
drofwarc:
Ciao a tutti,

So che è possibile mettere in pausa un EA tra un trade e l'altro, usando Sleep() o registrando un timestamp e aspettando n secondi dopo il timestamp prima di permettere un altro segnale.

Ma è possibile fare lo stesso per un indicatore.

Per esempio, vorrei essere in grado di far sì che un indicatore che traccia delle frecce all'incrocio di due medie mobili salti n barre dopo un incrocio prima di tracciare un'altra freccia. In altre parole, se si verificasse un altro incrocio prima che siano passate n barre, l'indicatore ignorerebbe l'incrocio e non traccerebbe una freccia.

Ho cercato a lungo di trovare un indicatore che faccia questo, ma non ho avuto fortuna.

Qualcuno potrebbe postare un indicatore che ha già questa caratteristica in modo che io possa studiare il codice? O magari fornirmi un esempio di codice che funziona per questa proposta in modo che io possa provare ad implementarlo.

Molte grazie,

drofwarc

BUMP!

Ciao mladen, so che sei impegnato con tante richieste in tutto il forum. Ma apprezzerei molto se tu mi guidassi almeno nella direzione di una soluzione di codifica per questo.

Molte grazie in anticipo.

drofwarc

 

drofwarc

Lafunzione Sleep() non funziona negli indicatori quindi potete dimenticarvi del timer degli indicatori (se dipendete dai tick non potete ottenere un tempo esatto). Per quanto riguarda il conteggio: non è un problema di codifica. Se fornisci qualche esempio su cui hai lavorato si potrebbe mostrare come contare in casi del genere

drofwarc:
BUMP!

Ciao mladen, so che sei impegnato con tante richieste in tutto il forum. Ma apprezzerei molto se tu mi guidassi almeno nella direzione di una soluzione di codifica per questo.

Molte grazie in anticipo.

drofwarc
 
mladen:
drofwarc La funzione Sleep() non funziona negli indicatori quindi puoi dimenticarti del timer degli indicatori (se dipendi dai tick non puoi ottenere un tempo esatto). Per quanto riguarda il conteggio: non è un problema di codifica. Se fornisci qualche esempio su cui hai lavorato, si potrebbe mostrare come contare in casi come questo

Ciao mladen,

Grazie per aver risposto. Di seguito è riportato il codice di un semplice indicatore che traccia una freccia ogni volta che il prezzo si inverte. Quello che voglio essere in grado di fare è questo: dopo che l'indicatore ha trovato un setup valido, dovrebbe guardare indietro di n barre (con n regolabile nelle impostazioni) per determinare se un segnale valido era presente o meno.

Se un segnale valido è presente entro il periodo di lookback, non traccerà una nuova freccia basata sull'attuale setup valido.

Se un segnale valido non è presente all'interno del periodo di lookback, traccerà una nuova freccia basata sull'attuale setup valido.

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit() {

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

Spero che questo sia chiaro .

Cordiali saluti,

drofwarc

 

aiuto

qualcuno può aiutarmi con questo?

Voglio usare due "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4" in un grafico con diverse impostazioni ma

c'è un modo per poter mostrare entrambe le caselle di prezzo?

 

drofwarc

In allegato c'è un indicatore modificato che può contare le barre dall'ultimo segnale dello stesso tipo prima di permettere la visualizzazione di un nuovo segnale. Ecco un esempio con 15 barre di distanza impostate:

drofwarc:
Ciao mladen,

Grazie per aver risposto. Di seguito è riportato il codice di un semplice indicatore che traccia una freccia ogni volta che il prezzo si inverte. Quello che voglio essere in grado di fare è questo: dopo che l'indicatore ha trovato un setup valido, dovrebbe guardare indietro di n barre (con n regolabile nelle impostazioni) per determinare se un segnale valido era presente o meno.

Se un segnale valido è presente entro il periodo di lookback, non traccerà una nuova freccia basata sull'attuale setup valido.

Se un segnale valido non è presente all'interno del periodo di lookback, traccerà una nuova freccia basata sull'attuale setup valido.

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit() {

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

Spero che questo sia chiaro .

Cordiali saluti,

drofwarc
File:
test.gif  41 kb
_test.mq4  3 kb
 
ZANKY:
qualcuno può aiutarmi con questo?

Voglio usare due "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4" in un grafico con diverse impostazioni ma

Quando ne piazzo due, viene visualizzata solo una casella di prezzo. c'è un modo per poter mostrare entrambe le caselle di prezzo?

Basta cambiare la linea 85 con questo e compilarlo, dovrebbe funzionare come un tipo di numero magico in modo che finché uno qualsiasi degli ingressi è cambiato anche la seconda casella di prezzo verrà caricata.

ftShortName = "tbb "+ symbol + tChartPeriod +MA_Length + ATR_Length + Kv + MA_Mode +MoneyRisk + MA_Price;

 

Grazie!

cja

Grazie mille! Funziona perfettamente.

 

Ciao Mladen. Non conosco molto l'inglese, mi dispiace.

Per favore aiutami a fare questi indicatori quando la linea va su o giù in un colore diverso. Grazie!

File:
1234.gif  23 kb
rmi.mq4  5 kb
 
mladen:
drofwarc

In allegato c'è un indicatore modificato che può contare le barre dall'ultimo segnale dello stesso tipo prima di permettere la visualizzazione di un nuovo segnale. Ecco un esempio con 15 barre di distanza impostate:

Ciao mladen,

Grazie! È esattamente quello che stavo cercando.

I migliori auguri di buone feste a te!

drofwarc

Motivazione: