Función de los fondos de arrastre (equidad) - ¿alguien ha encontrado uno ya hecho? - página 5

 

Vitalya_1983 gracias, pinchó un ciego. =) Lo intentaré.

Aunque la opción con porcentaje no es la ideal: cuanto más beneficio se consiga, menos se fijará en el rollback.

Y quiere la solución de la que hablaba el iniciador del tema:

ЗЫ: вот собственно то, о чем говорил, про "на издохе движения", и как раз в такие моменты хорошо иметь тралл под рукой..

Es decir, un trinquete en el beneficio, por lo que la oferta a xrust se mantiene.
 
ToKa_TuXa >> :

xrust - Tengo una sugerencia para usted - puede traer el código de su versión de la equidad de arrastre como un EA independiente.

Sería una herramienta muy útil para los operadores manuales.

Llevo mucho tiempo buscando una herramienta de este tipo pero no he encontrado nada adecuado.

Eso sería genial...

 

Yo...

 

Сделаю...

Gracias de antemano =)

 
xrust >> :

>> Voy a...

Esperando...

 

xrust - por favor, dame una pista sobre la línea de tiempo.

¿Quizás alguien tenga una solución y esté dispuesto, por la bondad de su corazón, a compartirla?

 
ToKa_TuXa писал(а) >>

xrust - por favor, dame una pista sobre la línea de tiempo.

¿Quizás alguien tenga una solución y sea tan amable de compartirla?

//+------------------------------------------------------------------+
//|                                           EqutyTrawlerXR_V00.mq4 |
//|                                 Copyright © 2009, XrustSolution. |
//|                                        http://www.xrust.ucoz.net |
//+------------------------------------------------------------------+
#property copyright "#Copyright © 2009, XrustSolution.#"
#property link      "#http://www.xrust.ucoz.net#"
extern double       EqutyPersent      =   1;
extern double       RepeatTimeinSec   =   1;
//+------------------------------------------------------------------+
void start(){double step=1;
  if( RepeatTimeinSec==0){ RepeatTimeinSec=0.1;}
  while(!IsStopped()&&IsExpertEnabled()){
    Sleep(1000* RepeatTimeinSec);
    if(AccountEquity()>AccountBalance()){
      if(AccountProfit()>AccountEquity()/100* EqutyPersent* step){ step++;}
      if( step>1){
        if(AccountProfit()<=AccountEquity()/100* EqutyPersent*( step-1)){
          CloseAll();
        }
      }
    }
  }
return;}
//+------------------------------------------------------------------+
// Закрывает все ордера на данном инструменте                        |
//+------------------------------------------------------------------+
void CloseAll(){
for(int n=OrdersTotal()+1; n>=0; n--){
  if(OrderSelect( n, SELECT_BY_POS, MODE_TRADES)){ 
    if(OrderType()<2){ 
      del(OrderTicket());
    }  
  }    
}  
return;    
}
//+------------------------------------------------------------------+
//Удаляет рыночный ордер с указанным ей тикетом                      |
//+------------------------------------------------------------------+
void del(int ticket){int err;
for(int i=0; i<1; i++){
   GetLastError();//обнуляем ошику
   OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES);
   string symbol = OrderSymbol();
   if(OrderType()==OP_BUY){RefreshRates();
     double prise = MarketInfo( symbol,MODE_BID);
     if(!OrderClose( ticket,OrderLots(), prise,3,Green)){ err = GetLastError();}}
   if(OrderType()==OP_SELL){RefreshRates();
     prise = MarketInfo( symbol,MODE_ASK);
     if(!OrderClose( ticket,OrderLots(), prise,3,Green)){ err = GetLastError();}}
if( err == 0){PlaySound("expert.wav");break;} 
if( err != 0){PlaySound("timeout.wav");Print("Error for Close Funtion =", err);} 
while(!IsTradeAllowed()){Sleep(5000);}// если рынок занят то подождем 5 сек 
if ( err==146) while (IsTradeContextBusy()) Sleep(1000*11);
} 
}
 
Gracias, Rust, lo investigaré.
 
condúcelo bien - compruébalo
 

Gracias, vamos a probar...

Sólo algunas sugerencias:

1. Añadir indicación: beneficio máximo/perdida de beneficio;

2. Si quiere añadir una opción de arrastre con un nivel especificado en $, puede establecer no el %, sino la distancia desde el beneficio máximo hasta el stop en dinero.

Permítanme explicar las desventajas del enfoque porcentual: usted tiene 20 posiciones con un lote pequeño - las ganancias totales suman 300 dólares durante 24 horas. Si establecemos, por ejemplo, un nivel del 30% (de hecho - cualquiera), entonces en caso de retroceso obtendremos 200 - 100 dólares de paso. Si tuviéramos un nivel fijo, incluso 50, tendríamos 50 dólares más.

Alguien puede decir: no llegaríamos a 300 con un nivel fijo, pero es cierto con un pequeño número de instrumentos igualmente dirigidos. En el caso de la estrategia el beneficio crece uniformemente, sin grandes detracciones, y un cambio serio del carácter del conjunto indica una inversión. Por lo tanto, debemos saltar fuera de ella, sin esperar a que el retroceso (que suele ser rápido) se coma un % de la pasada.

Perdonen los muchos galimatías, con la esperanza de "conseguirlo" ; )

Razón de la queja: