[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 743

 
Infinity:

Allora come faccio, per esempio, se prendo un coefficiente di 1 punto, RSI ha superato 50 punti sulla mia scala, si scopre che ha superato 50 punti e in realtà era un flat. E la candela ha 2 punti. In tal caso, come determinare

Il prezzo è salito di un pip. Alcuni calcoli sono stati fatti in RSI. Il suo valore è cambiato di X. Il prezzo ha superato un altro pip up. Il valore dell'indicatore dovrebbe cambiare di nuovo dello stesso valore x. Provate a stamparlo - dovrebbe risultare così.
 
xrust:

Capisco che un segnale di trade dovrebbe verificarsi quando la linea dell'indicatore incrocia la linea di tendenza, e non viceversa, ma tu hai entrambe le cose. Memorizza i valori precedenti della posizione della linea di tendenza nelle variabili statiche e se non sono cambiati - controlla il crossover, se la linea di tendenza ha cambiato posizione - resetta...

Grazie, Rustam. Buona idea! Dicono bene: una testa è buona, ma il corpo è meglio... :)
 
artmedia70:
Grazie, Rustam. Buona idea! È vero quello che si dice: una testa è buona, ma un corpo è meglio... :)

Ciao, potresti dirmi come visualizzare i log in MT4?
 
LAIT123:

Ciao, potresti dirmi come visualizzare i dati TFG TFG in MT4?

Credo di averne davvero bisogno... :) O il mio mouse è bloccato...

Cartella MT4/logs

Cartella di localizzazione MT4\tester\logs

Ce l'ho proprio qui:

D:\File programma\MetaTrader - E-Global TFG conto-1654729/logs

D:\File di programma/MetaTrader - E-Global TFG conto-1654729\tester/logs

 

mi dica perché i dati non vengono azzerati quando l'ordine viene attivato? ho scritto correttamente la condizione if(tic1>0) per controllare se l'ordine è aperto e devo azzerare le variabili

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double LT=0; //Лот
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUYLIMIT)
   {PR=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;
    if(Lot>0) LT=3*Lot;}
int tic1=OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);
//-----------
if(tic1<0) Print(GetLastError());

if(tic1>0){
   bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
}
//-----------
return(tic1);}
 
FoxUA:

mi dica perché i dati non vengono azzerati quando l'ordine viene attivato? ho scritto correttamente la condizione if(tic1>0) per controllare se l'ordine è aperto e devo azzerare le variabili

Se la memoria non mi inganna, queste variabili sono già state dichiarate a livello globale...

E tu li ri-dichiari all'interno della funzione.

bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
Saranno visibili solo all'interno della funzione. Quando si esce dalla funzione, i loro valori saranno persi e quelli dichiarati globalmente rimarranno invariati,
Cioè avete dichiarato nuove variabili all'interno della funzione, ma quelle che volete cambiare rimangono fuori da essa.
Rimuovi bool e double dal tuo codice sopra.
 
artmedia70:
Se la memoria non mi inganna, queste variabili sono già state dichiarate globalmente...

E li ridichiari all'interno della funzione.

Saranno visibili solo all'interno della funzione. Quando si esce dalla funzione, i loro valori saranno persi e quelli dichiarati globalmente rimarranno invariati,
Cioè avete dichiarato nuove variabili all'interno della funzione, ma quelle che volete cambiare rimangono fuori da essa.
Rimuovete bool e double dal pezzo di codice di cui sopra.

Li ho rimossi e ottengo molti errori quando compilo

a queste variabili.

',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 2)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 4)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 6)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 8)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (144, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (144, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (145, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (145, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (146, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (146, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (148, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (148, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (148, 5)

 
FoxUA:

rimosso e quando viene compilato dà un mucchio di errori

a queste variabili

',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 2)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 4)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 6)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (143, 8)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (144, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (144, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (145, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (145, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (146, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (146, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - assegnazione prevista C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (148, 3)
',' - punto e virgola previsto C:\File di programma\Deltabank Trader 4\esperti\test5.mq4 (148, 5)
',' - token inaspettato C:\File di programma\Deltabank Trader 4\experts\test5.mq4 (148, 5)

Li avete dichiarati globalmente al di fuori della vostra funzione? Sì e metti delle virgole al loro posto ; Sicuramente non hai cambiato le virgole con il punto e virgola...
 

Cittadini!

Puoi dirmi come accedere ai dati al di fuori della finestra del grafico nell'Expert Advisor?

Il problema è che, per esempio, se il numero massimo di barre nella finestra è impostato a 300, allora:

1.Function iBarShift("EURUSD",60,TimeBar,false) ostinatamente non vuole dare valori maggiori di 300 a qualsiasi valore di "TimeBar".

2. iOpen("EURUSD",60,i) dà degli zeri se i>300.

ecc.

C'è un modo per superare questo?

 

Per favore datemi il codice della funzione che metterà uno stop una volta al livello di pareggio, quando il profitto sarà per esempio di 20 pips.

Grazie in anticipo per la risposta:)

Motivazione: