Aiuto per la codifica - pagina 280

 
rkhan1:
Mladen e Mr Tools

potete aiutarmi a fare questo indy è sep finestra in basso.

Trend Magic_mtf.mq4

Grazie

rkhan1

Ecco qui: trend_magic_mtf_separate.mq4

 

ciao Mladen

Questo ha 1 linea magica di tendenza, si può fare per avere l'opzione di 2 ° linea magica di tendenza nella stessa indy, come crossover

Grazie

File:
 
rkhan1:
ciao Mladen

Questo ha 1 linea magica di tendenza, si può fare per avere l'opzione della 2a linea magica di tendenza nello stesso indy, come il crossover

Grazie

Ecco qui: trend_magic_mtf_separate_2.mq4

Buon trading

 

Ciao Mladen

C'è un problema

Il primo grafico, il timeframe di indy come corrente

Il secondo grafico, il timeframe è settimanale, ma solo 1 linea

Grazie

 
mrtools:
Farhad_1, questa è una versione di WAVE PM che ho e funziona sulla build 646 per me.

Grazie ancora Mrtools. Ho letto il libro ma non riesco a capire cosa dovrebbe mostrare WAVE-PM e cosa dovrebbero significare gli indicatori rosso e blu e come possono essere usati. Se puoi, per favore spiegamelo.

Molte grazie in anticipo.

 
rkhan1:
Ciao Mladen

C'è un problema

Il primo grafico, il timeframe di indy come corrente

Il secondo grafico, il timeframe è settimanale, ma solo 1 linea

Grazie

Prova questo.

 
Farhad_1:
Grazie ancora Mrtools. Ho letto il libro ma non riesco a capire cosa dovrebbe mostrare WAVE-PM e cosa dovrebbero significare gli indicatori rosso e blu e come possono essere usati. Se puoi, ti prego di spiegarmelo. Molte grazie in anticipo.

Farhad_1, dalla mia memoria non è un indicatore direzionale, più un indicatore di tendenza o di assenza di tendenza, se sia la linea lenta che quella veloce sono inclinate verso l'alto allora c'è una tendenza, quando entrambe le linee si avvicinano all'area .7 e .9 c'è una buona possibilità che la tendenza si fermi o finisca, e intorno all'area .3 a .5 la tendenza riprende o si inverte. Quindi, guardando ora l'EurUsd orario, la linea lenta sta scendendo verso l'alto e la linea veloce è intorno a 0,3 e 0,5 e sembra che voglia anch'essa scendere verso l'alto, quindi qualunque sia il trend sull'orario, è possibile che ricominci presto a salire.

File:
wave_pm.png  56 kb
 
mrtools:
Farhad_1, dalla mia memoria non è un indicatore direzionale, più un indicatore di tendenza o di assenza di tendenza, se sia la linea lenta che quella veloce sono inclinate verso l'alto allora c'è una tendenza, quando entrambe le linee si trovano intorno all'area .7 e .9 c'è una buona probabilità che la tendenza si fermi o finisca, e intorno all'area .3 e .5 la tendenza riprende o si inverte. Quindi, guardando ora l'EurUsd orario, la linea lenta sta scendendo verso l'alto e la linea veloce è intorno a .3 e .5 e sembra che voglia anch'essa scendere verso l'alto, quindi qualunque sia la tendenza sull'orario, è possibile che ricominci presto a salire.

Grazie Mrtools. Ci vuole un po' per abituarsi a questo indicatore

 

Funziona alla grande

Sig. Strumenti

Signor Mladen

Vi saluto entrambi per il vostro tempo e la vostra competenza

Saluti

 
mladen:
Puoi fare qualcosa del genere:
double minprice = +99999999999;

for(int i =- 0; i<ObjectsTotal(); i++)

{

string name = ObjectName(i);

if (ObjectType(name) == OBJ_HLINE) MathMin(ObjectGet(name,OBJPROP_PRICE1),minprice);

}

Ciao ancora una volta,

Ho provato ad usare quanto sopra con un commento ma visualizzava solo il Max. Potete aiutarmi magari con due funzioni. Una che visualizza il lineprice immediato sopra Bid e la seconda la linea sotto Bid. Grazie.

Ecco il codice.

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

//| SimpleGrid.mq4+

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

#include

#include

#proprietà strict

// variabili esportate

extern string GridStartingPrice = " Prezzo di partenza per piazzare le linee ";

extern double GSP = 0.0;

extern int GR = 5;

extern double GridStep = 5;

extern color CGL = Oro;

extern color BGL = Verde;

extern color SGL = Rosso;

extern bool ClearAllObjects = False;

// variabili locali

double PipValue=1; // questa variabile è qui per supportare i broker a 5 cifre

bool Terminated = false;

string LF = "\n"; // usalo nei blocchi personalizzati o di utilità dove hai bisogno di avanzamenti di linea

int NDigits = 4; // usato soprattutto per NormalizeDouble nei blocchi di tipo Flex

int ObjCount = 0; // conta di tutti gli oggetti creati sul grafico, permette la creazione di oggetti con nomi unici

int current = 0;

int init()

{

NDigits = Digits;

if (false) ObjectsDeleteAll(); // cancella il grafico

Comment(""); // cancella il grafico

return(0);

}

// Inizio esperto

int start()

{

se (Bars < 10)

{

Comment("Non ci sono abbastanza barre");

return (0);

}

if (Terminato == true)

{

Comment("EA Terminato");

return (0);

}

OnEveryTick7();

return (0);

}

void OnEveryTick7()

{

PipValue = 1;

if (NDigits == 3 || NDigits == 5) PipValue = 10;

CentreGridLine();

}

void CentreGridLine()

{ se (ObjectFind("CGL") == (-1) )

{

{

string objName = "CGL" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0],GSP);

ObjectSet(objName, OBJPROP_PRICE1, GSP);

ObjectSet(objName, OBJPROP_COLOR,CGL);

}

TradeLine();

UprBnd();

LwrBnd();

}

}

void TradeLine()

{

int i;

double GridStep1= (GridStep*2);

double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;

double SGSP= (GSP-((GridStep/2)*PipValue*Point));

double BBGSP= (BGSP-((GridStep*(GR))*PipValue*Point)) ;

double SSGSP= (SGSP+((GridStep*(GR))*PipValue*Point));

{

for(i=0; i<GR;i++)

{

SGL("Vendi "+i,BBGSP+GridStep1*i*PipValue*Point);

}

}

{

for(i=0; i<GR;i++)

{

BGL("Buy "+i,SSGSP-GridStep1*i*PipValue*Point);

}

}

}

void BGL(string objName, double price)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, prezzo);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, BGL);

}

void SGL(string objName, double price)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, 0, price);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, SGL);

}

void UprBnd()

{ se (ObjectFind("UPRBND") == (-1) )

{

double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;

double price= (BGSP+((GridStep*(GR))*PipValue*Point)) ;

stringa objName = "UPRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );

ObjectSet(objName, OBJPROP_PRICE1,price);

ObjectSet(objName, OBJPROP_COLOR, DodgerBlue);

ObjectSet(objName, OBJPROP_WIDTH,3);

}

}

void LwrBnd()

{ if (ObjectFind("LWRBND") == (-1) )

{

double SGSP= (GSP-((GridStep/2)*PipValue*Point));

double price= (SGSP-((GridStep*(GR))*PipValue*Point));

stringa objName = "LWRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );

ObjectSet(objName, OBJPROP_PRICE1,price);

ObjectSet(objName, OBJPROP_COLOR, Tomato);

ObjectSet(objName, OBJPROP_WIDTH, 3);

}

}

int deinit()

{

se (ClearAllObjects) ObjectsDeleteAll();

return (0);

}

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