[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 748
:) Grazie! Riavviare il terminale non ha aiutato, ma riavviare il mio cervello sì! Uso diversi blocchi nel mio EA - blocco di trading, blocco di criteri, blocco di variabili, blocco di funzioni aggiuntive, ecc. Così stavo cambiando il blocco dei criteri di trading "Criteria", e avevo bisogno di "Criteria01". Questo è il trucco... :)
ZZZ... cominciavo a credere al "drubashki"... :) Avrei dovuto dormire un po'...
itum: PER FAVORE AIUTATEMI!!! Nel seguente codice controllo se l'ordine era redditizio o no! Se non conto la quantità !!! Se il primo trade non era redditizio, allora il ciclo di conteggio è iniziato e viene aggiunto per sempre.
Ma c'è una tale fregatura!!! Se un affare è redditizio, allora tutti gli ulteriori ordini perdenti sono contati normalmente ....
double orderProf; // Contatore del numero di trade perdenti
double CalculateLots(){ doppio Res=0,01; bool bProfit=true; int PrevTime=-1; doppio tmpLots; for (int i=0;i<OrdersHistoryTotal();i++){ if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continua; se (OrderSymbol()!=Symbol()) continua; se (OrderCloseTime()<PrevTime) continua; PrevTime=OrderCloseTime(); if (OrderProfit()>0){bProfit=true; orderProf=0;} if (OrderProfit()<0){bProfit=falso; orderProf++;} tmpLots=OrderLots(); }
ritorno(Res); }
Ti ho dato un link a Igor Kim... Lì troverai un sacco di chicche per le tue esigenze...
L'indicatore alla fine del codice crea un oggetto, che serve come flag per un altro indicatore.
Dopo aver creato l'oggetto, ho bisogno di "addormentare" l'indicatore per 5 secondi, poi cancellare l'oggetto e addormentarlo per 60 secondi, dopo di che va all'ultimo tentativo e ricomincia con un nuovo tick.
Cercando di fare questo
int pauseT=0, //
pause01=0, // время первой паузы
pause02=0; // время второй паузыif (ObjectFind("signalG")==1) // проверка наличия
pause01=TimeLocal()+5; //
{while (TimeLocal()<pause01) // цикл сравнения
{pauseT=TimeLocal()+1;} // чем бы его занять?????ObjectDelete("signalG");}
if (ObjectFind("signalG")==-1) // повтор всего для 2-ой паузы
pause02=TimeLocal()+15;
while (TimeLocal()<pause02)
{pauseT=TimeLocal()+1;}
L'indicatore alla fine del codice crea un oggetto, che serve come flag per un altro indicatore.
Dopo aver creato l'oggetto, ho bisogno di "addormentare" l'indicatore per 5 secondi, poi cancellare l'oggetto e addormentarlo per 60 secondi, dopo di che andrà all'ultimo tentativo e ricomincerà dall'inizio con un nuovo tick.
Abzasc: Come timer? Andrà in un sonno letargico :)
Beh... quando avrà bisogno di essere solleticato, si sveglierà... :) Ok, questo è fuori tema. Vorrei poter essere più specifico. Uno per svegliarlo, uno per metterlo giù, uno per inchiodarlo... E l'alimentazione? :)
E anche - quando si controlla la presenza di un oggetto
if (ObjectFind("signalG")==1) // проверка наличия
si confronta con il numero di sottofinestra dell'indicatore. E se ce ne sono due? È meglio confrontare con una variabile che è assegnata al numero di sottofinestra dell'indicatore desiderato.
Questo è il modo in cui cerco:
int WinID=WindowFind("A/D"); // Номер окна AD
E poi controllo già la presenza della sottofinestra:
// --------------- Начертим восходящую трендовую линию (DN - экстремумы) --------------------- if (WinID>0) // Если окно индикатора есть на чарте (оно может иметь любой номер, кроме 0)
{
if (ObjectFind("Trend_GLine_DN")<0) // Если объект ещё не построенObjectCreate("Trend_GLine_DN",OBJ_TREND,WinID,LowestTDN,LowestPeakDN,HighestTDN,HighestPeakDN);
ObjectSet("Trend_GLine_DN",OBJPROP_COLOR,Lime);
ObjectSet("Trend_GLine_DN",OBJPROP_TIME1,LowestTDN);
ObjectSet("Trend_GLine_DN",OBJPROP_PRICE1,LowestPeakDN);
ObjectSet("Trend_GLine_DN",OBJPROP_TIME2,HighestTDN);
ObjectSet("Trend_GLine_DN",OBJPROP_PRICE2,HighestPeakDN);
}
Non funziona negli indicatori. Il motivo per farlo in questo modo - non lo capisco. A quanto pare, un indicatore costantemente funzionante dovrebbe ipnotizzare :)
artmedia70:
E se ne avessi due?
Non lo farà. Mi sbarazzo solo delle finestre non necessarie.
Avrò bisogno di un controllo più tardi, però, ma spero per l'EA :) grazie, ne prenderò nota.
Prova a riavviare il tuo terminale.
:) Grazie! Riavviare il terminale non ha aiutato, ma riavviare il mio cervello sì! Uso diversi blocchi nel mio EA - blocco di trading, blocco di criteri, blocco di variabili, blocco di funzioni aggiuntive, ecc. Così stavo cambiando il blocco dei criteri di trading "Criteria", e avevo bisogno di "Criteria01". Questo è il trucco... :)
ZZZ... cominciavo a credere al "drubashki"... :) Avrei dovuto dormire un po'...
PER FAVORE AIUTATEMI!!! Nel seguente codice controllo se l'ordine era redditizio o no! Se non conto la quantità !!!
Se il primo trade non era redditizio, allora il ciclo di conteggio è iniziato e viene aggiunto per sempre.
Ma c'è una tale fregatura!!! Se un affare è redditizio, allora tutti gli ulteriori ordini perdenti sono contati normalmente ....
double orderProf; // Contatore del numero di trade perdenti
double CalculateLots(){
doppio Res=0,01;
bool bProfit=true;
int PrevTime=-1;
doppio tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continua;
se (OrderSymbol()!=Symbol()) continua;
se (OrderCloseTime()<PrevTime) continua;
PrevTime=OrderCloseTime();
if (OrderProfit()>0){bProfit=true; orderProf=0;} if (OrderProfit()<0){bProfit=falso; orderProf++;}
tmpLots=OrderLots();
}
ritorno(Res);
}
Ti ho dato un link a Igor Kim... Ci sono molte cose di cui avete bisogno per le vostre esigenze...
DAK! È lo stesso del mio ....
Il PROBLEMA è che la prima volta non conta normalmente, ma dopo conta normalmente.... )))
aiuto ...
L'enigma è questo.
L'indicatore alla fine del codice crea un oggetto, che serve come flag per un altro indicatore.
Dopo aver creato l'oggetto, ho bisogno di "addormentare" l'indicatore per 5 secondi, poi cancellare l'oggetto e addormentarlo per 60 secondi, dopo di che va all'ultimo tentativo e ricomincia con un nuovo tick.
Cercando di fare questo
Si blocca fino a quando sembra esaurire il tempo.
Qualche consiglio su come farlo?
L'enigma è questo.
L'indicatore alla fine del codice crea un oggetto, che serve come flag per un altro indicatore.
Dopo aver creato l'oggetto, ho bisogno di "addormentare" l'indicatore per 5 secondi, poi cancellare l'oggetto e addormentarlo per 60 secondi, dopo di che andrà all'ultimo tentativo e ricomincerà dall'inizio con un nuovo tick.
Cercando di fare questo
Si blocca fino a quando sembra esaurire il tempo.
Qualche consiglio su come farlo?
Mazza... :):)
Come timer? Andrà in un sonno letargico :)
Ok, questo è fuori tema. Vorrei poter essere più specifico. Uno per svegliarlo, uno per metterlo giù, uno per inchiodarlo...
E l'alimentazione? :)
maggiori dettagli su
Fate una pausa nell'indicatore. Un po' come il sonno.
Cosa c'è che non va con il sonno?
E anche - quando si controlla la presenza di un oggetto
si confronta con il numero di sottofinestra dell'indicatore. E se ce ne sono due?È meglio confrontare con una variabile che è assegnata al numero di sottofinestra dell'indicatore desiderato.
Questo è il modo in cui cerco:
E poi controllo già la presenza della sottofinestra:
Cosa non ti piace del sonno?
E se ne avessi due?
Non lo farà. Mi sbarazzo solo delle finestre non necessarie.
Avrò bisogno di un controllo più tardi, però, ma spero per l'EA :) grazie, ne prenderò nota.