Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie MrPip
Per lo più capisco da dove vieni, lo darò fa e chiederò di nuovo se mi blocco.
grazie
Correzioni in rosso qui sotto. Robert
Grazie Robert... che ha aiutato...
Conto alla rovescia a barre con indicatori MTF
MTF = indicatori multi time frame
doppio BarCountDownInSec()
{
doppio g;
g=Time[0]+Periodo()*60-TimeCurrent();
return(g);
}
La funzione di cui sopra fornisce il secondo conto alla rovescia per le barre nel grafico corrente. Quindi, se posizionata su un grafico a 5 minuti, mostrerà il conto alla rovescia dei secondi per ogni barra a 5 minuti.
D: Come posso ottenere il conto alla rovescia dei secondi per una barra di 15 minuti (cioè 3x barre di 5 minuti), quando sono in un grafico di 5 minuti, quindi un conto alla rovescia di 15 minuti da 6.00 a 6.15. poi 6.15 a 6.30, mentre sono in un grafico di 5 minuti?
Problema con la mia programmazione (BUG)
Ciao,
Qualcuno può aiutarmi a risolvere il bug. C'ero quasi, solo che l'istogramma di disegno non appare a meno che non compili di nuovo il codice.
Per favore aiutatemi!!! Per favore, per favore, per favore
Saluti
problema icustom
Qual è il nome della stringa di questo indi che dovrei usare per una parte iCustom di un EA
Ho provato
MT4-LevelStop-Reverse-vBO-4
MT4-LevelStop-Reverse-
MT4-LevelStop-Reverse
vBO-4
vB0.4
vtsbh2483-
MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(
Quindi non ho idea di cosa fare dopo.
o devo mettere i nomi delle stringhe ATRMode, Manual Mode ecc.
Qualsiasi aiuto sarebbe grande
Qualcuno può vedere l'errore? Non riesco a vedere dove sia l'errore in questo codice. Continuo a ottenere. Qualsiasi aiuto per indicarlo sarebbe fantastico. Grazie
LongSig Variabile non definita
//+------------------------------------------------------------------+
//| Calcola le posizioni aperte
//+------------------------------------------------------------------+
int CalcolaCorrentiOrdini() {
buy=0; sells=0;
string symbol=Symbol();
//----
for(int i=0;i<OrdiniTotali();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) continua;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==expertId)
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP) compra++;
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP) sells++;
}
}
//---- restituisce il volume degli ordini
if(buys>0) return(buys);
altrimenti return(-vendite);
}
//+------------------------------------------------------------------+
//| Controlla le condizioni degli ordini aperti
//+------------------------------------------------------------------+
void CheckForSignals() {
buysig=false;
sellsig=false;
closebuy=false;
closesell=false;
double MOM = iCustom (NULL,0, "Momentum-ZL",MOMPeriod,0,shift);
double SRL = iCustom (NULL,0, "MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,233);
double SRS = iCustom (NULL,0, "MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,234);
double QQE_RsiMa = iCustom(NULL,0, "QQE",0,shift);
double QQE_TrLevelSlow = iCustom(NULL,0, "QQE", 1, shift);
double QQE_RsiMaPrev = iCustom(NULL,0, "QQE",0,shift + 1);
double QQE_TrLevelSlowPrev = iCustom(NULL,0, "QQE", 1, shift + 1);
double Pivot = iCustom (NULL,0, "Pivot Points Multitimeframe",midpivots,Fhr,daily,weekly,monthly,1,shift)
bool LongSig = QQE_RsiMaPrev QQE_TrLevelSlow >50.0;
bool ShortSig = QQE_RsiMaPrev > QQE_TrLevelSlowPrev && QQE_RsiMa < QQE_TrLevelSlow<50.0;
bool LongSig2 = MOM>0.0;
bool ShortSig2 = MOM<0.0;
bool LongSig3 = SRL>Pivot;
bool ShortSig3 = SRS<Pivot;
buysig = LongSig && LongSig2 && LongSig3;
sellsig = ShortSig && ShortSig2 && ShortSig3;
closebuy=sellsig;
closesell=buysig;
}
void CheckForOpen() {
if (last==Time[0]) return;
int res,ord;
doppia entrata, stop, profitto;
ord=CalculateCurrentOrders();
if (ord!=0) CheckForClose();
ord=CalcolaOrdiniCorrenti();
//---- condizioni di acquisto
if (buys<ConsecutiveTrades && buysig) {
res=OpenAtMarket(OP_BUY,Lots);
if (res<0) Print("Errore nell'apertura dell'ordine BUY: ",ErrorDescription(GetLastError());
else last=Time[0];
}
//---- condizioni di vendita
if (-sells<ConsecutiveTrades && sellsig) {
res=OpenAtMarket(OP_SELL,Lots);
if (res<=0) Print("Errore apertura ordine SELL: ",ErrorDescription(GetLastError());
else last=Time[0];
}
}
int OpenAtMarket(int mode,double lot) {
int res,tr,col;
double openprice,sl,tp;
tries=0;
while (res<=0 && tries<OrderTriesNumber) {
tr=0; while (tr<5 && !IsTradeAllowed()) { tr++; Sleep(2000); }
RefreshRates();
if (mode==OP_SELL) {
openprice=Bid;
col=Rosso;
} else {
//openprice=nd(Ask);
openprice=Ask;
col=Blu;
}
res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+expertId,expertId,0,col);
try++;
}
return(res);
}
IT fisso
Prova il primo della tua lista con un numero zero 0 invece di una lettera O per vB0-4.
Robert
Qual è il nome della stringa di questo indi che dovrei usare per una parte iCustom di un EA
Ho provato
MT4-LevelStop-Reverse-vBO-4
MT4-LevelStop-Reverse-
MT4-LevelStop-Reverse
vBO-4
vB0.4
vtsbh2483-
MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(
Quindi non ho idea di cosa fare dopo.
o devo mettere i nomi delle stringhe ATRMode, Manual Mode ecc.
Qualsiasi aiuto sarebbe grandeGrazie Mr Pips
Sistemato
Correzioni in rosso qui sotto. Robert
Ho provato questo ma sembra non funzionare... voglio solo un commercio al giorno...
{
if (OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true)
{
if (OrderSymbol()== Symbol() && OrderMagicNumber()== Magic_Number)
{
se (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent()) Commercio = falso;
se (TimeDay(OrderOpenTime()) < TimeDay(TimeCurrent()) Trade = true;
}
}
}Ho provato questo ma sembra non funzionare... voglio solo un trade al giorno...
Ho usato questo in altri EA e funziona correttamente.
Controllo il commercio chiuso oggi invece di quello aperto oggi.
L'uso all'inizio è
if (LastTradeClosedToday()) return(0);
// codice qui per aprire nuovi trade
//+------------------------------------------------------------------+
//| LastTradeClosedToday |
//| Controlla la cronologia per vedere se l'ultimo trade è stato chiuso oggi
//+------------------------------------------------------------------+
bool LastTradeClosedToday()
{
int cnt, total;
bool Chiuso;
total = HistoryTotal();
for (cnt = totale - 1; cnt >= 0; cnt--)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol()!=Symbol()) continua;
se (OrderMagicNumber() != MagicNumber) continua;
Chiuso = falso;
se (OrderType() == OP_BUY)
{
if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent())
{
Chiuso = true;
}
cnt = 0;
}
if (OrderType() == OP_SELL)
{
if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent())
{
Chiuso = true;
}
cnt = 0;
}
}
return (Closed);
}