'' - fine inaspettata del programma G:\work\MetaTrader Group\experts\Balista.mq4 (576, 1)
Poke con il mouse - si sposta nel luogo con i commenti ((... Cosa fare?
Il modo più semplice per trovare l'errore è il pulsante magico in MetaEditor "Undo". E dopo un altro annullamento, prova a compilare di nuovo il codice.
Buona giornata a tutti. Sarei molto grato se qualcuno potesse inserire un suono in questo indicatore.
Cioè quando c'è un attraversamento di .... e naturalmente il suono dovrebbe essere fatto solo una volta alla chiusura della candela su cui questo incrocio è avvenuto.
Non ho trovato la funzione diKimIV per restituire l'importo del drawdown/profitto dell'ultimo ordine chiuso.
L'idea è semplice: devi tracciare quanto in valuta di deposito era il Profitto o il Drawdown nell'ultimo ordine chiuso.
Questo design funziona per me:
//---Поиск крайнего отработавшего ордера для открытия очередной позиции --- for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
{
if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY)) {Print("Ошибка при доступе к исторической базе (",GetLastError(),")");continue;}
if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber)) continue;
//------------------------- Принимаем в расчет только ордер, закрытый cамым крайним -----------------------if (time<OrderCloseTime()) //(сравниваем его с хранящимся в пероеменной time)
{
time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменную int lastType = OrderType();
double lastLots = OrderLots();
double lastProfit = OrderProfit() + OrderSwap();
// Анализ только что закрывшегося ордера if (lastProfit >= 0.0)
{
...
Non ho trovato la funzione diKimIV per restituire l'importo del drawdown/profitto dell'ultimo ordine chiuso.
L'idea è semplice: devi tracciare quanto in valuta di deposito era il Profitto o il Drawdown nell'ultimo ordine chiuso.
L'algoritmo è il seguente: cercate QUALSIASI funzione che restituisca QUALSIASI cosa sull'ultimo ordine chiuso. Prendi il biglietto dell'ultimo ordine chiuso. Quando il ciclo è finito, si seleziona un ordine in base al biglietto ottenuto e si calcola il suo profitto (se è importante, non dimenticare di considerare lo swap e la commissione nel calcolo):
Zhunko: Eseguilo e dai un'occhiata. Un "kit" abbastanza utile.
Vedo che il "cane" e gli spazi tra di esso sono usati per visualizzare un numero. Ma perché succede questo? È qualcosa che non proviene dalla programmazione mql? Esiste una cosa simile in C?
Non capisco davvero perché succede. E non sono nemmeno sicuro di cosa produca. Vedo numeri Fibo ad alcuni livelli attraverso il "cane", e ad alcuni livelli qualcos'altro?
Può spiegare la ragione della loro apparizione? Sono diventato molto curioso. Ma l'ho aperto per il secondo giorno e non l'ho capito.
Duplicherò il codice dello script per evitare di cercarlo nella storia:
Amici, mi sono imbattuto in un semplice problema, ma non riesco a risolverlo. L'essenza è la seguente. Quando certe condizioni sono soddisfatte, si apre un trade (chiamiamolo lead trade). E ho bisogno che entro le prossime 3 barre, se questa condizione si ripete, si apra un altro trade (ripetizione). Se entro le prossime tre barre la condizione di cui ho bisogno non è soddisfatta, allora un trade non dovrebbe aprirsi di nuovo fino alla prossima volta che il trade sarà aperto di nuovo. E così via. Ho, per qualche motivo, riaprire solo una volta (voglio dire, quando tutte le condizioni sono soddisfatte in generale la prima volta - si apre, ma in seguito, quando dopo il nuovo accordo leader appare condizione di apertura di un commercio ripetere - non è aperto). Aiuto, per favore.
//условие открытия повторной сделкиfor (povtor_up=1;povtor_up<4;povtor_up++)
if ((povtor_buy==1) && (adx_cont==1)&&(sb==1))
{
CL = iClose(NULL,0,1);
stop = CL - SLP*Point;
raz_up = (CL - frac_down);
take_1 = 0;
take_2 = 0;
if (CL<(frac_up-FR_OVER*Point))
take_1 = (CL + raz_up*MNP_1);
if (CL>=(frac_up-FR_OVER*Point))
take_2 = (CL + raz_up*MNP_2);
if (take_1>0)
{
take_1n = NormalizeDouble(take_1,5);
take = take_1n;
}
if (take_2>0)
{
take_2n = NormalizeDouble(take_2,5);
take = take_2n;
}
if(!IsTradeAllowed())
{
Alert("занят торговый поток, повторим попытку buy");
return(-1);
}
ticket_buy_cont=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,stop,take,com,Magic,0,Yellow);
if(ticket_buy_cont == -1)
{
Alert(Symbol(),"ошибка:buy", GetLastError());
return(-1);
}
if(ticket_buy_cont > 1)
{Alert (Symbol(),"buy повтор - ок !");
povtor_buy=0;
povtor_up=0;
}
}
else
povtor_buy=0;
povtor_up=0;
//условие открытия ведущей сделкиif ((adx_ts==1) && (sb==1) && (FLAG==0))
{
CL = iClose(NULL,0,1);
stop = CL - SL*Point;
raz_up = (CL - frac_down);
take_1 = 0;
take_2 = 0;
if (CL<(frac_up-FR_OVER*Point))
take_1 = (CL + raz_up*MN_1);
if (CL>=(frac_up-FR_OVER*Point))
take_2 = (CL + raz_up*MN_2);
if (take_1>0)
{
take_1n = NormalizeDouble(take_1,5);
take = take_1n;
}
if (take_2>0)
{
take_2n = NormalizeDouble(take_2,5);
take = take_2n;
}
if(!IsTradeAllowed())
{
Alert("занят торговый поток, повторим попытку buy");
return(-1);
}
ticket_buy=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,stop,take,com,Magic,0,Yellow);
if(ticket_buy == -1)
{
Alert(Symbol(),"ошибка:buy", GetLastError());
return(-1);
}
if(ticket_buy > 1)
{Alert (Symbol(),"buy при начале - ок !");
FLAG=1;
povtor_up=1;
povtor_buy=1;
}
}
Poke con il mouse - si sposta nel luogo con i commenti ((... Cosa fare?
Nell'aiuto c'è scritto timeframe - Punto. Può essere uno dei periodi di un grafico. 0 significa il periodo del grafico corrente.
Può, o è sicuramente il periodo del grafico? Ma se mettessi 20 invece di 15? È meglio usare un numero o è meglio PERIOD_M15?
Ok, ho messo 0 e non mi preoccupo.
Buona giornata a tutti. Sarei molto grato se qualcuno potesse inserire un suono in questo indicatore.
Cioè quando c'è un attraversamento di .... e naturalmente il suono dovrebbe essere fatto solo una volta alla chiusura della candela su cui questo incrocio è avvenuto.
Grazie in anticipo per il vostro aiuto.
Buona giornata! Ditemi. Diciamo che userò
Nell'aiuto c'è scritto timeframe - Punto. Può essere uno dei periodi di un grafico. 0 significa il periodo del grafico corrente.
Può, o è sicuramente il periodo del grafico? Ma se mettessi 20 invece di 15? È meglio usare un numero o è meglio PERIOD_M15?
Ok, ho messo 0 e non mi preoccupo.
Non ho trovato la funzione diKimIV per restituire l'importo del drawdown/profitto dell'ultimo ordine chiuso.
L'idea è semplice: è necessario tracciare quanto in valuta di deposito era il Profitto o il Drawdown nell'ultimo ordine chiuso.
Non ho trovato la funzione diKimIV per restituire l'importo del drawdown/profitto dell'ultimo ordine chiuso.
L'idea è semplice: devi tracciare quanto in valuta di deposito era il Profitto o il Drawdown nell'ultimo ordine chiuso.
Questo design funziona per me:
Ho un tale disegno che funziona:
Non ho trovato la funzione diKimIV per restituire l'importo del drawdown/profitto dell'ultimo ordine chiuso.
L'idea è semplice: devi tracciare quanto in valuta di deposito era il Profitto o il Drawdown nell'ultimo ordine chiuso.
L'algoritmo è il seguente: cercate QUALSIASI funzione che restituisca QUALSIASI cosa sull'ultimo ordine chiuso. Prendi il biglietto dell'ultimo ordine chiuso. Quando il ciclo è finito, si seleziona un ordine in base al biglietto ottenuto e si calcola il suo profitto (se è importante, non dimenticare di considerare lo swap e la commissione nel calcolo):
Eseguilo e dai un'occhiata. Un "kit" abbastanza utile.
Vedo che il "cane" e gli spazi tra di esso sono usati per visualizzare un numero. Ma perché succede questo? È qualcosa che non proviene dalla programmazione mql? Esiste una cosa simile in C?
Non capisco davvero perché succede. E non sono nemmeno sicuro di cosa produca. Vedo numeri Fibo ad alcuni livelli attraverso il "cane", e ad alcuni livelli qualcos'altro?
Può spiegare la ragione della loro apparizione? Sono diventato molto curioso. Ma l'ho aperto per il secondo giorno e non l'ho capito.
Duplicherò il codice dello script per evitare di cercarlo nella storia:
Amici, mi sono imbattuto in un semplice problema, ma non riesco a risolverlo. L'essenza è la seguente. Quando certe condizioni sono soddisfatte, si apre un trade (chiamiamolo lead trade). E ho bisogno che entro le prossime 3 barre, se questa condizione si ripete, si apra un altro trade (ripetizione). Se entro le prossime tre barre la condizione di cui ho bisogno non è soddisfatta, allora un trade non dovrebbe aprirsi di nuovo fino alla prossima volta che il trade sarà aperto di nuovo. E così via. Ho, per qualche motivo, riaprire solo una volta (voglio dire, quando tutte le condizioni sono soddisfatte in generale la prima volta - si apre, ma in seguito, quando dopo il nuovo accordo leader appare condizione di apertura di un commercio ripetere - non è aperto). Aiuto, per favore.