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
In questo indicatore, ci sono alcuni problemi quando si utilizzano le citazioni 4 cifre. Ma non è critico, il problema è la scala a 4 cifre al livello di 100, ha cercato di mostrare le immagini, guardando al momento giusto è molto faticoso gli occhi (dopo pochi giorni, se come un filo per cambiare la scala al livello di 40 - sarebbe meglio essere visto istogrammi e angolo destro del testo che avrebbe indicato il valore corrente?
Оставлю оригинальный текст на русском, тк возможны искажения при переводе(
У этого индикатора есть некоторые проблемы при использовании 4 значных котировок. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб до уровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текуще значение? Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
Mladen,
Sto lavorando con MT5.
Ho questa " funzione di trailing semplice" che ho bisogno di convertire in "trailing con passo", potresti dare un consiglio?
nell'EA ho
===================
input "Trailing" (per punti)
=> esempio:
trailing: 4000 (4 punti)
(vecchio metodo) se il prezzo si è mosso di 4 punti sposta lo stoploss di 4 punti
ma ho bisogno di modificare in
===================
input "Trailing (Distanza) in punti"
input "Trailing (Step) in punti"
=> esempio:
distanza di trascinamento: 4000 (4 punti)
passo di trascinamento: 1500 (1,5 punti)
(nuovo metodo) se il prezzo si è mosso di 4 punti spostare lo stoploss 1,5 punti
//| Simple Trailing function |
//+------------------------------------------------------------------+
void fSimpleTrailing(){
if(Trailing<=0){
return;
}
if(!Pos.Select(_Symbol)){
return;
}
if(!Sym.RefreshRates()){
return;
}
double nsl,tmsl,psl;
switch(Pos.PositionType()){
case POSITION_TYPE_BUY:
nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
if(nsl<tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
case POSITION_TYPE_SELL:
nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
psl=Sym.NormalizePrice(Pos.StopLoss());
if(nsl<psl || psl==0){
tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
if(nsl>tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
}
}
Non è il riquadro?
Mladen,
Sto lavorando con MT5.
Ho questa "funzione di trailing semplice" che ho bisogno di convertire in "trailing con passo", potresti dare un consiglio?
nell'EA ho
===================
input "Trailing" (per punti)
=> esempio:
trailing: 4000 (4 punti)
(vecchio metodo) se il prezzo si è mosso di 4 punti sposta lo stoploss di 4 punti
ma ho bisogno di modificare in
===================
input "Trailing (Distanza) in punti"
input "Trailing (Step) in punti"
=> esempio:
distanza di trascinamento: 4000 (4 punti)
passo di trascinamento: 1500 (1,5 punti)
(nuovo metodo) se il prezzo si è mosso di 4 punti spostare lo stoploss 1,5 punti
//| Simple Trailing function |
//+------------------------------------------------------------------+
void fSimpleTrailing(){
if(Trailing<=0){
return;
}
if(!Pos.Select(_Symbol)){
return;
}
if(!Sym.RefreshRates()){
return;
}
double nsl,tmsl,psl;
switch(Pos.PositionType()){
case POSITION_TYPE_BUY:
nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
if(nsl<tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
case POSITION_TYPE_SELL:
nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
psl=Sym.NormalizePrice(Pos.StopLoss());
if(nsl<psl || psl==0){
tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
if(nsl>tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
}
}
Se il prezzo si è mosso rispetto a : cosa?
prima di chiamare la funzione si ha
se il prezzo sta "crescendo", si controlla la "distanza" in punti... se corrisponde alla "distanza" si sposta lo stoploss usando il passo (in punti)
esempio:
stoploss =8000
distanza di trascinamento = 4000
passo di trascinamento = 2000
compri al prezzo 10000
ora il prezzo è 14000 (distanza di trailing obiettivo raggiunto=4000), ora è necessario spostare lo stoploss a 6000 (8000 - trailing step)
ora il prezzo è 18000 (distanza di trailing target raggiunta=4000), ora è necessario spostare lo stoploss a 2000 (6000 - trailing step)
ora il prezzo è 22000 (distanza di trailing target raggiunta=4000), ora è necessario spostare lo stoploss a "entrata" + 2000 (2000 - trailing step =-2000)
ora il prezzo è 24000 (target di distanza trailing raggiunto=4000), ora è necessario spostare lo stoploss a "entrata" + 6000 (-2000 - step trailing =-6000)
prima di chiamare la funzione si ha
se il prezzo sta "crescendo", si controlla la "distanza" in punti... se corrisponde alla "distanza" si sposta lo stoploss usando il passo (in punti)
esempio:
stoploss =8000
trailing distance = 4000
trailing step = 2000
compri al prezzo 10000
ora il prezzo è 14000 (trailing distance target raggiunto=4000), ora dovete spostare lo stoploss a 6000 (8000 - trailing step)
ora il prezzo è 18000 (trailing distance target raggiunto=4000 ), ora dovete spostare lo stoploss a 2000 (6000 - trailing step)
ora il prezzo è 22000 (trailing distance target raggiunto=4000), ora dovete spostare lo stoploss a "entrata" + 2000 (2000 - trailing step =-2000)
ora il prezzo è 24000 (distanza obiettivo di trailing raggiunta=4000), ora è necessario spostare lo stoploss a "entrance" + 6000 (-2000 - trailing step =-6000)
Salve,
Vorrei scrivere una funzione che disegni una freccia. Vorrei che la freccia galleggiasse. Qualche idea? :)
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr)
{
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol);
ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ChartRedraw(0);
}
Sì, ma se non l'hai registrato (come di solito accade con i prezzi di stop loss o take profit: quando vengono modificati iniziano ad essere un criterio per un altro cambiamento) sei costretto ad averli in variabili e questo è tutt'altro che a prova di errore. Quello che stai cercando di fare non è ripetibile dal codice o devi codificare quegli stop per ogni singolo caso, il che lo rende inutilizzabile per qualsiasi prezzo aperto che non sia esattamente lo stesso dei prezzi codificati
Ciao mladen,
ecco l'esempio-ea
Salve,
Vorrei scrivere una funzione che disegni una freccia. Vorrei che la freccia galleggiasse. Qualche idea? :)
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr)
{
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol);
ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ChartRedraw(0);
}
Cosa significa la freccia "galleggiante"?
PS: gli oggetti freccia non stanno usando le coordinate x e y o l'angolo. Stanno usando il tempo e il prezzo
ciao signor mladen
si prega di fare MTF ad esso
per quanto riguarda