Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 447

 
TarasBY:
E dove l'avete letto su TimeDayOfWeek () (nell'esempio)? :)))

Sulla destra ;)

Mi sono sbagliato, posso impostarlo anche nella forma Time[], ma nell'esempio è diverso e più conveniente ))))

 
Vitek2010:
No. Mi spiego - il vostro forum è come una speranza per l'ultima roccaforte competente del prog. e l'inserimento di dimensioni - è così che la scrittura PERIOD_W1 lo vedema né l'uso di dimensioni né l'uso di dati fissi sotto forma di date ottengono alcun effetto desiderato. Ho postato una domanda specifica su Friday - a proposito il tuo codice non compila perché dice 'version' - proprietà sconosciuta, quindi se non sai come mettere DayOfWeek e 5 (il numero di venerdì) nel codice altre opzioni non ti aiuteranno .


if(TimeDayOfWeek(TimeCurrent())==5)   //Пятница
 
r772ra:



Per favore, incolla la tua variante nel codice del mio indicatore e compilalo. e posta l'indicatore corretto in testo chiaro non come file. Il compagno Venin mi ha dato un codice incomprensibile e nessuna risposta.

#proprietà indicator_separate_window

#proprietà indicator_buffers 1

#proprietà indicator_color1 Lime

//--------------------------------------------------------------------

doppio Buffer[];

//--------------------------------------------------------------------

int init()

{

SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, 2);

SetIndexBuffer(0,Buffer;)

ritorno(0);

}

// -------------------------------------------------------------------


int deinit()

{


ritorno(0);

}

//--------------------------------------------------------------------

int start()

{

int StartBar = Bars - IndicatorCounted() - 1;

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

{

if(TimeDayOfWeek(TimeCurrent())==5) //Venerdì

if(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1])

Buffer[i] = 0;

else

Buffer[i] = Buffer[i+1];

if(Close[i]>Close[i+1]&&Close[i+1]>=Close[i+2]){/se sia il movimento attuale che quello precedente sono in aumento

Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0);}

if(Close[i]<Close[i+1]&&Close[i+1]<Close[i+2]){// se il movimento attuale e precedente scende

Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0);}

if(Close[i]>Close[i+1]&&Close[i+1]<Close[i+2]){//se la mossa attuale è in crescita e la precedente è in calo

Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0);}

if(Close[i]<Close[i+1]&&Close[i+1]>=Close[i+2]){// se il movimento attuale scende e quello precedente sale

Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0);}

}

ritorno(0);

}

//---------------------------------------------------------------------

 
Vitek2010:


Per favore, incolla la tua variante nel codice del mio indicatore e compilalo. e pubblica l'indicatore corretto in testo semplice, non come file. Il compagno Venin mi ha dato un codice incomprensibile e non ha detto una parola.


costruire 509

//+------------------------------------------------------------------+
//|                                                    Vitek2010.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_separate_window

#property indicator_buffers 1

#property  indicator_color1 Lime

//--------------------------------------------------------------------

double Buffer[];

//--------------------------------------------------------------------

int init()

{

SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, 2);

SetIndexBuffer(0,Buffer);

return(0);

}

// -------------------------------------------------------------------



int deinit()

{



return(0);

}

//--------------------------------------------------------------------

int start()

{

int StartBar = Bars - IndicatorCounted() - 1;

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

{

if(TimeDayOfWeek(TimeCurrent())==5) //Пятница

Buffer[i] = 0;

else

Buffer[i] = Buffer[i+1];

if(Close[i]>Close[i+1]&&Close[i+1]>=Close[i+2]){//если текущее и преддыдущее движение растут

Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0);}

if(Close[i]<Close[i+1]&&Close[i+1]<Close[i+2]){//если текущее и преддыдущее движение падают

Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0);}

if(Close[i]>Close[i+1]&&Close[i+1]<Close[i+2]){//если текущее лвижение растет а предыдущее падает

Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0);}

if(Close[i]<Close[i+1]&&Close[i+1]>=Close[i+2]){//если текущее движение падает а предыдущее растет

Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0);}

}

return(0);

}

//---------------------------------------------------------------------
 
Non è così che si definisce il venerdì della storia, non lo so.
 
TarasBY:
allora cosa c'entra il riferimento a una libreria conforme?


Perché:

TarasBY:
Vitya, non c'è niente da risolvere qui - la persona vuole che le variabili globali di una sandbox (EA con le sue librerie) siano visibili in un'altra sandbox(libreria compilata). :)))
 

Signori, potreste farmi il favore di dare un'occhiata a questo pezzo di codice e vedere se ho inserito correttamente le condizioni di entrata per i 3 indicatori.

Dato che sto imparando molte cose che non capisco.

E_ma=iMA(Symbol(),TimeFrame,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
Cloce =iClose(Symbol(),PERIOD_H1,1);

e_ma=iMA(Symbol(),timeframe,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
cloce =iClose(Symbol(),PERIOD_M15,1);

bbUP=iCustom(Symbol(),PERIOD_M5,"Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,1,0);
bbDOWN=iCustom(Symbol(),PERIOD_M5, "Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,2,0);

if(OrdersTotal()==0 && CountBuy()==0 && CountSell())
{
if(Cloce >E_ma && cloce >e_ma)
{
se(Ask<=bbDOWN)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,",Magic,0,Green);
se(biglietto>0)
{
TP = NormalizeDouble(Ask + TakeProfit * Point, Digits);
SL = NormalizeDouble(Ask-StopLoss * Point, Digits);
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
else
if(Cloce <E_ma && cloce <e_ma)
{
se(Bid>=bbUP)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,",Magic,0,Red);
se(biglietto>0)
{
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);
SL = NormalizeDouble(Bid+StopLoss* Point, Digits);
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
}


ritorno(0);

Correggetemi se qualcosa è sbagliato, compila senza errori, ma negli ordini di testor non si aprono. perché? dove un errore nella condizione. come scriverlo correttamente, non capisco ancora.qualcuno sulle dita spiegare per favore!!!

 
r772ra:
Tutto questo è sbagliato, come definire il venerdì sulla storia, non lo so.

Hai rimosso l'azzeramento del ciclo settimanale if(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1])) e lo hai sostituito con if(TimeDayOfWeek(TimeCurrent())==5) //Venerdì forse se queste funzioni lavorano insieme in qualche modo potrebbe funzionare. Potrei aver provato un centinaio di cose diverse. penso che sia facile mostrare letture multitemporali con timeframe settimanali su timeframe inferiori. non riesco ancora a trovare una soluzione.

 
Vitek2010:

Sì, hai rimosso l'azzeramento del ciclo settimanale if(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1])) e l'hai sostituito con if(TimeDayOfWeek(TimeCurrent())==5) //Forse se queste funzioni sono in qualche modo insieme funzioneranno. Potrei aver provato un centinaio di cose diverse. Penso che sia facile mostrare letture multitemporali con timeframe settimanale su timeframe inferiori, ma non riesco ancora a trovare una soluzione.


Ecco un'idea, apri una nuova barra settimanale - azzera il buffer, poi accumula i tuoi punti
 
alsu:
Fate di Ticket un array Ticket[5], memorizzate tutti e 5 i biglietti in esso. Al momento della chiusura, scorrere tutti i biglietti di conseguenza.

Come implementarlo approssimativamente? Se in altre funzioni mi sembra di aver capito, ma con gli ordini e gli array non ho ancora capito bene.
Motivazione: