[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 581
Perché il profitto preso, non quello che dovrebbe essere..... quando il lotto è chiuso, ma quando il profitto dovrebbe essere 30pp in profitto è scritto in un modo completamente diverso....
Cos'è questa sciocchezza: "essenzialmente calcolare la differenza tra l'apertura di un ordine e la sua chiusura) e summarise?????? ...
E su quali volumi, non è necessario saperlo? Il prezzo di un punto sarà diverso...
Il profitto non è calcolato in punti, ma in valuta, a seconda del volume delle posizioni scambiate.
Per qualche motivo il profitto viene preso, non quello che dovrebbe essere..... quando il lotto viene chiuso, inversamente quando il profitto dovrebbe essere 30pp in profitto è scritto completamente diverso....
Corretto - qui la perdita totale (perdita) è calcolata dalla storia degli ordini LOCALI chiusi in perdita.
Questo è un po' diverso per voi, ma il principio è lo stesso.
//---------------------расчет по истории ордеров номера очередной итерации-----------------------------------------------
Iteration = 0; // зануляем инерации перед их учетом в цикле по истории
Sum_Loss = 0; // суммарный убыток по этим итерациямdatetime
Time_at_History_Current = 0,
Time_at_History_Previos = 0;
if(OrdersHistoryTotal() != 0)
{
for(int counter = OrdersHistoryTotal()-1; counter >= 0; counter--)
{
OrderSelect(counter, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
if(OrderType() == OP_BUY || OrderType() == OP_SELL)
{
if(OrderProfit() < 0) // если убыток по выбранному ордеру, то считаем суммарный и записываем время закрытия ордера// для последующего его анализа при подсчете количества итераций
{
double lastLoss = OrderProfit();
Sum_Loss=Sum_Loss+lastLoss; // считаем общий убыток по закрытым подряд убыточным ордерам
Time_at_History_Current = OrderCloseTime();
}
//Print(" Time_at_History_Current_в цикле = ", TimeToStr(Time_at_History_Current, TIME_DATE|TIME_SECONDS));//Print(" Time_at_History_Previos_в цикле = ", TimeToStr(Time_at_History_Previos, TIME_DATE|TIME_SECONDS));if(Time_at_History_Current != Time_at_History_Previos) // если они не равны, то считаем итерации и делаем их равными
{
Time_at_History_Previos = Time_at_History_Current ;
Iteration++;
//Print("Iteration at History в условии сравнения = ", Iteration);
}
else// они равны, то проверяем, дополнительно, наличие профита по выбранному следующему ордеру и выходим из цикла
{
if(OrderProfit() >= 0)
break;
}
}
}
}
}
Il profitto dell'ordine non è in pip, ma nella valuta del deposito.
mi serve in pip, il lotto è fissato a 1.... ma il profitto o la perdita non corrisponde a quello reale..... e voglio calcolare il numero di pip in profitto e drawdown più facilmente e sommarlo e ottenere il risultato=)
Mi serve in pip, il lotto è fissato a 1.... ma il profitto o la perdita non corrisponde a quello reale..... e voglio calcolare il numero di pip in profitto e drawdown più facilmente e sommarlo e ottenere il risultato=)
Ne ho bisogno in punti, il lotto è costante 1.... ma per qualche motivo il profitto o la perdita non corrisponde a quello reale.....per me voglio calcolare il numero di punti di profitto e drawdown più facile da sommare e ottenere il risultato =)
Bene, se il lotto è costante, dividete il profitto del tester per il punto. Otterrete il profitto in pip.
L'ultima funzione pubblicata da Kim, GetPotentialLossInCurrency (https://forum.mql4.com/ru/11287/page107), conta solo gli ordini aperti:
if (OrderType()==OP_BUY) {
pl+=(OrderOpenPrice()-OrderStopLoss())/po*OrderLots()*tv;
}
if (OrderType()==OP_SELL) {
pl+=(OrderStopLoss()-OrderOpenPrice())/po*OrderLots()*tv;
}
Ho cercato di estenderlo un po' per includere gli ordini in sospeso (semplicemente aggiungendo altri tipi):
if (OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP) {
pl+=(OrderOpenPrice()-OrderStopLoss())/po*OrderLots()*tv;
}
if (OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP) {
pl+=(OrderStopLoss()-OrderOpenPrice())/po*OrderLots()*tv;
}
ma gli ordini in sospeso non sono considerati. Sono contati in modo diverso? La documentazione non dice nulla di questo....
Perché l'hai fatto? Visualizza tutte le bandiere di un Commento in una volta sola.
Qui:
int start()
{
//----RefreshRates(); // Обновление данных
Symb=Symbol();
int cnt, ticket, total;
int ABuy=0; // флаг на покупку /продажу int ASell=0;
Comment(".....Вот сюда и пишите вывод всех флагов......");
if (NewBar() == true)
{
x=x0; //передаем данные
x1=x01;
x2=x02;
Perché il profitto preso, non quello che dovrebbe essere..... quando il lotto è chiuso, ma quando il profitto dovrebbe essere 30pp in profitto è scritto in un modo completamente diverso....
Cos'è questa sciocchezza: "essenzialmente calcolare la differenza tra l'apertura di un ordine e la sua chiusura) e summarise?????? ...
E su quali volumi, non è necessario saperlo? Il prezzo di un punto sarà diverso...
Il profitto non è calcolato in punti, ma in valuta, a seconda del volume delle posizioni scambiate.
Per qualche motivo il profitto viene preso, non quello che dovrebbe essere..... quando il lotto viene chiuso, inversamente quando il profitto dovrebbe essere 30pp in profitto è scritto completamente diverso....
Il profitto dell'ordine non è in punti, ma nella valuta del deposito.
Corretto - qui la perdita totale (perdita) è calcolata dalla storia degli ordini LOCALI chiusi in perdita.
Questo è un po' diverso per voi, ma il principio è lo stesso.
Il profitto dell'ordine non è in pip, ma nella valuta del deposito.
mi serve in pip, il lotto è fissato a 1.... ma il profitto o la perdita non corrisponde a quello reale..... e voglio calcolare il numero di pip in profitto e drawdown più facilmente e sommarlo e ottenere il risultato=)
Corretto - qui la perdita totale (perdita) è calcolata dalla storia degli ordini LOCALI chiusi in perdita.
Questo è un po' diverso per voi, ma il principio è lo stesso.
Grazie, me ne occuperò ora=)
Mi serve in pip, il lotto è fissato a 1.... ma il profitto o la perdita non corrisponde a quello reale..... e voglio calcolare il numero di pip in profitto e drawdown più facilmente e sommarlo e ottenere il risultato=)
Ancora una volta:
Il profitto dell'ordine non è in pip, ma nella valuta del deposito.
Ne ho bisogno in punti, il lotto è costante 1.... ma per qualche motivo il profitto o la perdita non corrisponde a quello reale.....per me voglio calcolare il numero di punti di profitto e drawdown più facile da sommare e ottenere il risultato =)
Bene, se il lotto è costante, dividete il profitto del tester per il punto. Otterrete il profitto in pip.
L'ultima funzione pubblicata da Kim, GetPotentialLossInCurrency (https://forum.mql4.com/ru/11287/page107), conta solo gli ordini aperti:
Ho cercato di estenderlo un po' per includere gli ordini in sospeso (semplicemente aggiungendo altri tipi): ma gli ordini in sospeso non sono considerati. Sono contati in modo diverso? La documentazione non dice nulla di questo....Visualizza tutte le bandiere sul grafico con Comment` e vedrai perché il trade si apre.
l'ho messo, ora le transazioni non si aprono affatto.
L'ho inserito e ora non fa più alcuno sdek.
Perché l'hai fatto? Visualizza tutte le bandiere di un Commento in una volta sola.
Qui: