[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 144

 
da qualche parte su questo sito molto tempo fa ho incontrato un link a un sito dove è possibile caricare il tuo robot, così come specificare il nome utente, la password, il server e sarà il commercio quando il mio copm è off.... qualcuno può ricordare questo sito?
 
jobber:
da qualche parte su questo sito molto tempo fa ho incontrato un link a un sito dove è possibile caricare il tuo robot, così come specificare il nome utente, la password, il server e sarà il commercio quando il mio copm è off.... qualcuno si ricorda di questo sito?

Si può inserire VPS nel motore di ricerca, non so cosa significa letteralmente, ma potrebbe essere un desktop virtuale per i commercianti.
 
splxgf:

LazarevDenis

Il conteggio iniziale è di 59 barre, che non è corretto. Ci possono essere dei vuoti di minuti e la barra dell'ultima ora può contenere meno minuti.

Dovresti prendere il tempo di apertura e di chiusura della barra delle ore (Time[i]). Usa questo tempo per calcolare gli offset per iBarShift minuti, e poi calcola il massimo entro questa gamma di offset.

A proposito, cosa dovrebbe mostrare l'indicatore su un periodo di un minuto?

Anche se non ha importanza per l'Expert Advisor, ha solo bisogno di ottenere l'ultimo valore su barre di un minuto, se il numero è positivo il prezzo sale, se è negativo scende, restituendo il numero modulo mostra la forza del movimento.


per quanto riguarda il numero di barre - i loro 60 contano da zero e non ci sono 60 minuti perché questo è il minuto zero della nuova ora, o mi sbaglio

Ho dei dubbi sulla barra dell'ultima ora, ma spero che, dato che non ci sono barre minime, il loro volume sia uguale a zero e non influenzino il risultato dei calcoli

Ho fatto una barra di minuti per verificare l'adeguatezza dei calcoli, quindi ho identificato che ho un errore, segnato l'inizio e la fine dell'ora, e il valore massimo nell'indicatore orizzontale, poi sono passato a una barra di minuti e ho controllato, le barre di 6 ore andavano bene, e poi qualcosa è andato storto

 
LazarevDenis:


per quanto riguarda il numero di barre - il loro 60 conta da zero e non ci sono 60 minuti, perché è il minuto zero della nuova ora, o mi sbaglio

Ho dei dubbi sulla barra dell'ultima ora, ma spero che, non essendoci affatto barre di minuti, il loro volume sia zero e non influenzino i risultati del calcolo

Ho creato una barra dei minuti per verificare l'adeguatezza dei calcoli, e ho definito che ho un errore. Sulla barra delle ore ho segnato l'inizio e la fine dell'ora, e il valore massimo nell'indicatore orizzontale, poi sono passato alla barra dei minuti e ho controllato, 6 barre delle ore erano a posto, e poi qualcosa è andato storto


Scrivere o fornire il tuo codice?
 
Vinin:

Scrivere o fornire il tuo codice?
Sono un po' confuso su cosa scrivere?
il codice dell'indicatore è nella pagina precedente, aggiungerò l'EA quando sarò sicuro che l'indicatore funziona correttamente, grazie
 
//+------------------------------------------------------------------+
//| FT_Fractal_MA.mq4 |
//| FORTRADER.RU, Yuri, ftyuriy@gmail.com |
//| http://FORTRADER.RU, Frattali + Medie |
//+------------------------------------------------------------------+
#proprietà copyright "FORTRADER.RU, Yury, ftyuriy@gmail.com"
#property link "http://FORTRADER.RU, Frattali + Medie"

/* Sviluppato per il 49° numero di FORTRADER.Ru. Sistema su frattali e medie.
Rapporti: http://finfile.ru/index.php/files/get/6qQW8tgENy/fracralma1.zip, http://finfile.ru/index.php/files/get/_glRYiHkQi/fracralma2.zip
Imposta i file: http://finfile.ru/index.php/files/get/k2w2e92iCI/eurusd1h.zip
Discussione: http://fxnow.ru/group_discussion_view.php?group_id=49&grouptopic_id=266&grouppost_id=2667#post_2667
Archivio log: http://www.fortrader.ru/arhiv.php
Numero 49: http://www.fortrader.ru/
*/

extern int lwmaper1=4;
extern int lwmaper2=8;

extern int int lwmapertrend=40;
extern int lwmatrendchart=1;

extern int SL=150;
extern int TP=150;

extern int mn=1;

int err;

extern int MG=564651;
extern double Lots=0.01;

extern int maxpos=1;

barre int;
int start()
{
se(barre!=Barre)
{
bar=Barrette;
OpenPattern();
}
ritorno(0);
}

int okbuy; }

int OpenPattern()
{
doppio op, sl, tp;
double upf=iFractals(NULL, 0, MODE_UPPER, 3);
double dwf=iFractals(NULL, 0, MODE_LOWER, 3);
double lwma1=iMA(NULL,0,lwmaper1,0,MODE_LWMA,PRICE_CLOSE,1);
double lwma2=iMA(NULL,0,lwmaper2,0,MODE_LWMA,PRICE_CLOSE,1);
double lwma1Last=iMA(NULL,0,lwmaper1,0,MODE_LWMA,PRICE_CLOSE,2);
double lwma2Last=iMA(NULL,0,lwmaper2,0,MODE_LWMA,PRICE_CLOSE,2);
double lwmatrend=iMA(NULL,GetPeriod(lwmatrendchart),lwmapertrend,0,MODE_LWMA,PRICE_CLOSE,1);
double lwmatrendLast=iMA(NULL,0,GetPeriod(lwmatrendchart),0,MODE_LWMA,PRICE_CLOSE,2);
if(upf!=0){oksell=1;okbuy=0;}
if(dwf!=0){okbuy=1;oksell=0;}
if(oksell==1 && lwma1<lwma2 && lwma1Last>lwma2Last && CountPos(0)<maxpos && lwmatrend>lwmatrendLast)
{
op=Bid; if(SL>0){sl=Bid+SL*Point*mn;}if(TP>0){tp=Bid-TP*Point*mn;}
err=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits), "4 FORTRADER.RU",MG,0,Red);
if(err<0){Print("OrderSend()- Error OP_SELL. op "+op+" sl "+sl+" tp "+tp+""+GetLastError());return(-1);}
oksell=0;
}
if(okbuy==1 && lwma1>lwma2 && lwma1Last<lwma2Last && CountPos(1)<maxpos && lwmatrend<lwmatrendLast)
{
op=Ask; if(SL>0){sl=Ask-SL*Point*mn; }if(TP>0){tp=Ask+TP*Point*mn; }
err=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits), "6 FORTRADER.RU",MG,0,Red);
if(err<0){Print("OrderSend()- Errore OP_BUY. op "+op+" sl "+sl+" tp "+tp+""+GetLastError());return(-1);}
okbuy=0;
}
return(err);
}
//Controlla il numero di posizioni.
int CountPos(int type)
{// Descrizione http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66

int i;
int col;
int count=0 ;
for( i=0; i<=OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && type==1 && OrderMagicNumber()==MG){count++;}
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && type==0 && OrderMagicNumber()==MG){count++;}
}
}
return(count);
}

int GetPeriod(int GrafOpen)
{int GrafOpenT;
interruttore(GrafOpen)
{
caso 1: GrafOpenT=1;break;
caso 2: GrafOpenT=5;break;
caso 3: GrafOpenT=15;break;
caso 4: GrafOpenT=30;break;
caso 5: GrafOpenT=60;break;
caso 6: GrafOpenT=240;break;
caso 7: GrafOpenT=1440;break;
default: GrafOpenT=1;break;
}
ritorno(GrafOpenT);

}

Si prega di scambiare acquisto e vendita in questo EA da questo sito, sto avendo problemi con esso. È interessante controllarlo, perché è troppo buono per scaricarlo con la sega.

 
LazarevDenis:


per quanto riguarda il numero di barre - i loro 60 contano da zero e non ci sono 60 minuti perché questo è il minuto zero della nuova ora, o mi sbaglio

Ora farò una domanda sciocca: quante barre giornaliere ci sono in un anno?
 

Buonanotte... mattina... o forse anche pomeriggio...

Sto cercando di imparare il linguaggio mql... mi trovo di fronte a un malinteso... L'essenza del problema è nel codice:

      OrderSelect(ТикетСелл,SELECT_BY_TICKET);
      double СеллТейкПрофит=ЦенаПродажи-(ЦенаПокупки-ЦенаПродажи);
      PrintDoubleToStr("OrderOpenPrice()= ",OrderOpenPrice(),8);PrintDoubleToStr("ЦенаПродажи= ",ЦенаПродажи,8);
      PrintDoubleToStr("OrderStopLoss()= ",OrderStopLoss(),8);PrintDoubleToStr("ЦенаПокупки= ",ЦенаПокупки,8);
      PrintDoubleToStr("OrderTakeProfit()= ",OrderTakeProfit(),8);PrintDoubleToStr("СеллТейкПрофит= ",СеллТейкПрофит,8);
      Print(OrderType(),"=",OP_SELLSTOP);
      if((OrderType()==OP_SELLSTOP) && ((OrderOpenPrice()!=ЦенаПродажи)||(OrderStopLoss()!=ЦенаПокупки)||(OrderTakeProfit()!=СеллТейкПрофит)))
      {
         OrderModify(OrderTicket(),ЦенаПродажи,ЦенаПокупки,СеллТейкПрофит,0,Red);
      }

La funzione "PrintDoubleToStr" stampa numeri doppi nel registro...

In generale, nel mio diario (Leggere dal basso verso l'alto).

2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderModify error 1
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: 5=5
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: СеллТейкПрофит= 1.41884000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderTakeProfit()= 1.41884000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: ЦенаПокупки= 1.44244000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderStopLoss()= 1.44244000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: ЦенаПродажи= 1.43064000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderOpenPrice()= 1.43064000

C'è una domanda: perché modifica l'ordine se tutti i valori sono uguali e quindi questa condizione non è soddisfatta:

if((OrderType()==OP_SELLSTOP) && ((OrderOpenPrice()!=ЦенаПродажи)||(OrderStopLoss()!=ЦенаПокупки)||(OrderTakeProfit()!=СеллТейкПрофит)))
Per favore, ditemi dove ho sbagliato...
 
niknikolas:

Per favore, ditemi dove ho sbagliato...

Non prenderò un pesce, ma ti darò una canna da pesca... puoi anche aggiungere una linea Print(OrderOpenPrice()!=Sale Price) e il quadro sarà completo e sufficiente per conclusioni indipendenti.
 
splxgf:
Non prenderò un pesce, ma ti darò una canna da pesca... puoi aggiungere altre righe Print(OrderOpenPrice()!=SellTakeProfit) e il quadro sarà completo e sufficiente per conclusioni indipendenti.

Come si dice: "Cosa ci guadagno?" Ho bisogno di un verme... Comunque, ecco il codice:

OrderSelect(ТикетСелл,SELECT_BY_TICKET);
double СеллТейкПрофит=ЦенаПродажи-(ЦенаПокупки-ЦенаПродажи);
Print("OrderOpenPrice()!=ЦенаПродажи= ",OrderOpenPrice()!=ЦенаПродажи);
Print("OrderStopLoss()!=ЦенаПокупки= ",OrderStopLoss()!=ЦенаПокупки);
Print("OrderTakeProfit()!=СеллТейкПрофит= ",OrderTakeProfit()!=СеллТейкПрофит);
PrintDoubleToStr("OrderTakeProfit()= ",OrderTakeProfit(),8);
PrintDoubleToStr("СеллТейкПрофит   = ",СеллТейкПрофит,8);
if((OrderType()==OP_SELLSTOP) && ((OrderOpenPrice()!=ЦенаПродажи)||(OrderStopLoss()!=ЦенаПокупки)||(OrderTakeProfit()!=СеллТейкПрофит)))
{
 OrderModify(OrderTicket(),ЦенаПродажи,ЦенаПокупки,СеллТейкПрофит,0,Red);
}
Nella rivista:
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderModify error 1
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: СеллТейкПрофит   = 1.42505000
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderTakeProfit()= 1.42505000
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderTakeProfit()!=СеллТейкПрофит= 1
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderStopLoss()!=ЦенаПокупки= 0
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderOpenPrice()!=ЦенаПродажи= 0

Perché con " SellTakeProfit = 1.42505000" e con "OrderTakeProfit()= 1.42505000" ancora "OrderTakeProfit()!=SellTakeProfit= 1 "

Non è chiaro in generale...
Motivazione: