Pregunta para alguien bueno en matemáticas - página 2

 

Hm, pues no es tan bueno como suena la teoría. Supongo que no podemos vencer las probabilidades porque no somos capaces de controlar el tamaño del lote con suficiente precisión.

Puedes intentar aumentar el depósito inicial así como el tamaño del lote base, (Debería aumentar la precisión del modificador del tamaño del lote)

 

Eso no funcionó, tuvo una reducción relativa del 41,64% similar a la original. Por supuesto, no creo que ninguna manipulación del tamaño de los lotes vaya a superar la ventaja de cualquier sistema negativo. Pero espera, todavía tengo ese sistema de casi equilibrio para probar, voy a seguir adelante y darle una oportunidad ahora.

Añadido: la teoría no ayudó a los resultados del Sistema 14 tampoco lol, realmente enseñé que iba a poner el beneficio por encima de 0. Oh-well.

 

He aquí algunas reflexiones. La ventaja de la casa en la ruleta en una apuesta 50/50 jugando en una mesa estadounidense 0, 00

E = ((1*18/38)+(-1*18/38))*100

E = - 5,26 <--- En el juego a largo plazo.

Obtuvo resultados similares en su prueba con 21\20

Y si la ruleta tuviera 00, 0 y 1-100 la misma apuesta

E = ((1*50/102)+(-1*50/102))*100

E = -1.26 <--- Sobre el juego a largo plazo.

Entonces, si se aumenta el sl tp en ¿se reducirá el ratio de ganancia/perdida en forex también incluso con el spread?

Si lo hace, el segundo número es mucho más pequeño para superar entonces una mesa de ruleta real. ¿Es posible utilizar sólo la gestión del dinero para convertir una suposición de randon en una división 50/50 o ligeramente mejor?

fx tiene muchas cosas en contra pero menos que la ruleta.

Puedo + a un ganador y - de un perdedor. También puedo retirarme cuando estoy arriba. No puedo retirar mi apuesta si no me gusta cómo rueda la bola en la ruleta. En la fx puedo retirarme con menos de una ganancia total y menos de una pérdida total. En la ruleta tengo que quedarme hasta que la bola deje de rodar, pero aún puedo irme si estoy arriba en algún momento 53% de posibilidades de perder no significa que nunca pueda estar arriba. Puedo irme, si después de 45 tiradas he ganado 25 y la casa sólo ha ganado 20 hasta ahora. En un juego a largo plazo esa proporción ocurriría a menudo.

 

Sí danjp, esa es una de las preguntas que estaba saqueando cuando decidí crear este estudio de caso. Un trader a largo plazo (alguien que busca más beneficios) tiene de alguna manera más posibilidades que un scalper (5 pips de media). Lo mejor que tiene el trading es que pensamos que podemos predecir hacia dónde irá el mercado <-- Justo después de escribir esa afirmación me doy cuenta de que es un arma de doble filo, ya que eso implica que uno puede predecir mal el mercado y convertirse en algo peor que el azar.

Cuanto más negro/rojo o par/impar añada la casa, menos dinero ganará a medida que el borde de los jugadores se acerque al 50/50, pero nunca llegará allí mientras haya un solo verde o 0 en la rueda. Si el movimiento del precio es de nuevo un fe-nom aleatorio, o nadie puede predecirlo mejor que el 50/50, (personalmente no creo que nadie pueda predecir mucho más que fracciones del 2% por encima del 50/50 ... ya que serán asquerosamente ricos ... o las oportunidades podrían ser increíblemente raras) entonces buscar un take-profit de 5 pips mientras se tiene en cualquier lugar más de 2 pip Sl y Spreads me parece una locura. Bueno, a menos que usted va después de los corredores Spreads .... en cuyo caso se le echan como la casa real.

Creo que los llamados profesionales / matemáticos / gente de los números recomendarán que miremos el largo plazo. Por ejemplo, el Oscar's Grind que simulé - casi duplicó el depósito antes de estrellarse -. Si tu objetivo fuera ganar 5.000 dólares para tu anillo de compromiso y no volver a jugar en los mercados, tendrías una buena oportunidad de conseguirlo. El inconveniente es, por supuesto, el desgarro de las tripas draw-downs, sin embargo, que había llegar a su objetivo mucho más probable (y más rápido) en comparación con el comercio (en su forma nativa) un sistema bañado con elogios en un sitio web popular.

En cuanto a sus puntos. Y estoy de acuerdo con la mayoría de ellos.

Así que si usted aumenta el sl tp en la voluntad de la relación de ganar / perder se reducen en forex, así, incluso con la propagación? Mi conjetura es Sí (pero sólo estoy pensando en deseos). Es una de las pruebas que había planeado hacer. Escogí el juego de un solo 0 para ver dónde estaría el Tp/Sl más cercano para igualarlo. Además quería darle una oportunidad a la ruleta poniendo lo mejor de sí misma.

Si lo hace, el segundo número es mucho menor para superar entonces una mesa de ruleta real. ¿Es posible,utilizando sólo la gestión del dinero, convertir una apuesta aleatoria en un reparto 50/50 o ligeramente mejor? Lo hemos intentado con el enfoque de Zzuegg y ha fracasado. Todos los libros o sitios web de trading/apuestas profesionales que he visitado siempre dicen lo mismo, como si fuera el undécimo mandamiento: "La gestión del dinero no puede superar una ventaja negativa". Uno tiene que encontrar un sistema con Expectativas Positivas y luego emplear MM. Pero supongo que estoy predicando al coro en este sitio lol.

Podría intentar utilizar Oscar's Grind (o alguna otra Progresión) en el sistema Break-Even. O en el sistema de la ruleta con mayor Sl/Tp. Mi sensación es que esto le dará una mejor oportunidad de alcanzar una meta realista. Sin embargo, con las carreras infinitas viene la posibilidad segura de ir a la quiebra.

fx tiene muchas cosas en contra pero menos que la rule ta. No sé, la gente tiene que trabajar muy duro para encontrar esa bala de plata.

Puedo + a un ganador y - de un perdedor. ¿Y qué haces cuando el mercado se da la vuelta después de tu pirámide o escala?

También puedo alejarme cuando estoy arriba. El casino está encantado de decirte que te vayas cuando estés arriba. El problema es que algún día vuelves.

No puedo retirar mi apuesta si no me gusta cómo rueda la bola en la rueda. No creo que esto te dé ventaja. Si la bola cae en tu número o el mercado gira a tu favor. Tendrás remordimientos de comprador y estarás psicológicamente maltratado la próxima vez que estés en esa posición de nuevo. Además, será como si la casa te diera la opción de renunciar a tu apuesta, pero dejando el spread en la mesa antes de que llegues a ver dónde cae la bola. <--eso es sólo el mejor escenario si decides salir en el punto de equilibrio. Aunque no juego a la ruleta, no creo que nadie tome esa opción, a no ser que se asusten de que vayan a perder el dinero de la renta y se larguen.

En la fx puedo salir con menos de una ganancia completa y menos de una pérdida completa. Este es uno de los puntos débiles de este estudio de caso, o de kelly, optimal-f, o de la mayoría de los libros de gestión del dinero. Suelen suponer que los resultados son iguales, o que hay que reducirlos, o algo estándar. Una vez que empiezas a variar así, hace que las matemáticas sean más difíciles de a)configurar y b)ejecutar. Si mis matemáticas son incorrectas, entonces toda mi mm es incorrecta. De todos modos, ¿cómo se sabe si esto mejora o empeora las cosas?

Para la última parte, tienen que pasar una serie de cosas. Hay que tener la suerte de ganar en la primera visita a la rueda, hay que alejarse y mantenerse alejado :). Veré qué puedo hacer para probar aumentando el Sl/Tp para nuestro juego estándar.

 
ubzen:

Sí danjp, esa es una de las preguntas que estaba saqueando cuando decidí crear este estudio de caso. Un trader a largo plazo (alguien que busca más beneficios) tiene de alguna manera más posibilidades que un scalper (5 pips de media). Lo mejor que tiene el trading es que pensamos que podemos predecir hacia dónde irá el mercado <... Justo después de escribir esa afirmación me doy cuenta de que es un arma de doble filo, ya que eso implica que uno puede predecir mal el mercado y convertirse en algo peor que el azar.

Creo que los llamados profesionales / matemáticos / gente de los números recomendarán que miremos el largo plazo. Tomemos por ejemplo el Oscar's Grind que simulé - casi duplicó el depósito antes de estrellarse -. Si tu objetivo fuera ganar 5000 dólares para tu anillo de compromiso y no volver a jugar en los mercados, tendrías una buena oportunidad de conseguirlo. El inconveniente es, por supuesto, el desgarro de las tripas draw-downs, sin embargo, que había llegar a su objetivo mucho más probable (y más rápido) en comparación con el comercio (en su forma nativa) un sistema bañado con elogios en un sitio web popular.

En cuanto a sus puntos. Y estoy de acuerdo con la mayoría de ellos.

Así que si usted aumenta el sl tp en la voluntad de la relación de ganar / perder se reducen en forex, así, incluso con la propagación? Mi conjetura es Sí (pero sólo estoy pensando en deseos). Es una de las pruebas que había planeado hacer. Escogí el juego de un solo 0 para ver dónde estaría el Tp/Sl más cercano para igualarlo. Además quería dar una oportunidad a la ruleta poniendo lo mejor de sí misma.

Si lo hace, el segundo número es mucho menor para superar entonces una mesa de ruleta real. ¿Es posible,utilizando sólo la gestión del dinero, convertir una apuesta aleatoria en un reparto 50/50 o ligeramente mejor? Lo hemos intentado con el enfoque de Zzuegg y ha fracasado. Todos los libros o sitios web de trading/apuestas profesionales que he visitado siempre dicen lo mismo, como si fuera el undécimo mandamiento: "La gestión del dinero no puede superar una ventaja negativa". Uno tiene que encontrar un sistema con Expectativas Positivas y luego emplear MM. Pero supongo que estoy predicando al coro en este sitio lol.

Podría intentar utilizar Oscar's Grind (o alguna otra Progresión) en el sistema de Break-Even. O en el sistema de la ruleta con mayor Sl/Tp. Mi sensación es que esto le dará una mejor oportunidad de alcanzar una meta realista. Sin embargo, con las carreras infinitas viene la posibilidad segura de ir a la quiebra.

fx tiene muchas cosas en contra pero menos que la rule ta. No sé, la gente tiene que trabajar muy duro para encontrar esa bala de plata.

Puedo + a un ganador y - de un perdedor. ¿Y qué haces cuando el mercado se da la vuelta después de tu pirámide o escala?

También puedo alejarme cuando estoy arriba. El casino está encantado de decirte que te vayas cuando estés arriba. El problema es que algún día vuelves.

No puedo retirar mi apuesta si no me gusta cómo rueda la bola en la rueda. No creo que esto te dé ventaja. Si la bola cae en tu número o el mercado gira a tu favor. Tendrás remordimientos de comprador y estarás psicológicamente maltratado la próxima vez que estés en esa posición de nuevo.

En fx puedo salir con menos de una ganancia completa y menos de una pérdida completa. Este es uno de los puntos débiles de este estudio de caso, o de Kelly, Optimal-F, o de la mayoría de los libros de gestión del dinero, etc. Suelen suponer que los resultados son iguales, o que hay que reducirlos, o algo estándar. Una vez que empiezas a variar así, hace que las matemáticas sean más difíciles de a)configurar y b)ejecutar. Si mis matemáticas son incorrectas, entonces toda mi mm es incorrecta. De todos modos, ¿cómo se sabe si esto mejora o empeora las cosas?

Para la última parte, tienen que pasar una serie de cosas. Hay que tener la suerte de ganar en la primera visita a la rueda, hay que alejarse y mantenerse alejado :). Veré qué puedo hacer para probar aumentando el Sl/Tp para nuestro juego estándar.


Acabo de hacer la prueba. Primero es 100 tp 100 sl

SímboloEURUSD (Euro vs Dólar)
Periodo5 minutos (M5) 2001.01.03 00:00 - 2012.02.01 23:55 (2001.01.03 - 2012.02.02)
ModeloCada tick (el método más preciso basado en todos los marcos temporales mínimos disponibles)
ParámetrosSL=100; TP=100; Level=20; UseTrailing=true; TrailingStep=30; TrailingStop=70;
Barras en la prueba822465Ticks modelados64620763Calidad de la modelización90.00%
Errores de gráficos no coincidentes0
Depósito inicial10000.00
Beneficio neto total-5431.09Beneficio bruto80773.04Pérdida bruta-86204.13
Factor de beneficio0.94Beneficio esperado-3.25
Reducción absoluta6989.46Reducción máxima7849.97 (72.28%)Reducción relativa72.28% (7849.97)
Total de operaciones1670Posiciones cortas (% de ganancias)822 (47.32%)Posiciones largas (% de won)848 (49.41%)
Operaciones con beneficios (% del total)808 (48.38%)Operaciones con pérdidas (% del total)862 (51.62%)
Mayorde beneficios102.86operación con pérdidas-102.40
Mediade beneficios99.97Comercio de pérdidas-100.00
Máximovictorias consecutivas (beneficio en dinero)8 (800.20)Pérdidas consecutivas (pérdida en dinero)11 (-1099.98)
Máximobeneficio consecutivo (recuento de victorias)800.20 (8)Pérdidas consecutivas (recuento de pérdidas)-1099.98 (11)
Mediaganancias consecutivas2pérdidas consecutivas2


El porcentaje de ganancias es de 48,38, lo que es mejor que la ruleta. Mi ganancia media sigue siendo inferior a mi pérdida media, por lo que, aunque está cerca, sigo perdiendo en cada operación. Creo que el diferencial es un poco más difícil de superar, pero en realidad no es 1 su variable y más cerca de 2,5 de todos modos por lo que corrió una segunda prueba utilizando 100sl y 110 tp Fui con 110 porque el porcentaje de victorias debe bajar ligeramente becasue aumento en el lado tp.

Este es el resultado de esa prueba:

SímboloEURUSD (Euro vs Dólar)
Periodo5 minutos (M5) 2001.01.03 00:00 - 2012.02.01 23:55 (2001.01.03 - 2012.02.02)
ModeloCada tick (el método más preciso basado en todos los marcos temporales mínimos disponibles)
ParámetrosSL=100; TP=110; Level=20; UseTrailing=true; TrailingStep=30; TrailingStop=70;
Barras en la prueba822465Ticks modelados64620763Calidad de la modelización90.00%
Errores de gráficos no coincidentes0
Depósito inicial10000.00
Beneficio neto total332.24Beneficio bruto79055.01Pérdida bruta-78722.76
Factor de beneficio1.00Beneficio esperado0.22
Reducción absoluta2597.97Reducción máxima6594.44 (47.12%)Reducción relativa47.12% (6594.44)
Total de operaciones1506Posiciones cortas (% de ganancias)738 (46.61%)Posiciones largas (% de won)768 (48.83%)
Operaciones con beneficios (% del total)719 (47.74%)Operaciones con pérdidas (% del total)787 (52.26%)
Mayorde beneficios112.86operación con pérdidas-102.96
Mediade beneficios109.95Comercio de pérdidas-100.03
Máximovictorias consecutivas (beneficio en dinero)10 (1100.27)Pérdidas consecutivas (pérdida en dinero)8 (-801.15)
Máximobeneficio consecutivo (recuento de victorias)1100.27 (10)Pérdidas consecutivas (recuento de pérdidas)-801.15 (8)
Mediaganancias consecutivas2pérdidas consecutivas2

Hice estas dos pruebas 2 veces y ambas tuvieron el mismo rendimiento. Así que no estoy escogiendo nada aquí. Creo que estos tendrían que ser ejecutados varios cientos de veces para obtener el promedio % win\loss etc, pero creo que debe caer en este rango.

El paso 2 sería aplicar un sistema MM a estos dos senerios en este nivel de st tp. Creo que puedo bajar los 110 - 108 y aún así estar en equilibrio pero creo que lo dejaré así por ahora. Si añado una compra de 1/2 lote a una orden con un beneficio de 54,5 puntos y una venta de 1/2 lote con una pérdida de -50 puntos Ambos deberían ser ahora rentables. En la otra prueba 100-100 tendría que hacer esto en -50 y +50

Algunos otros comentarios:

Puedo + a un ganador y - de un perdedor. ¿Y qué haces cuando el mercado se gira después de tu pirámide o escala?

Nada, eso es lo que se supone que debe suceder, 48ish por ciento de las veces, y todavía debe ganar.

No puedo quitar mi apuesta si no me gusta cómo está rodando la bola en la rueda. No creo que esto te dé una ventaja. Si la bola cae en tu número o el mercado se vuelve a tu favor. Tendrás remordimientos de comprador y estarás psicológicamente maltratado la próxima vez que estés en esa posición de nuevo.

No, la rueda se siente mejor tomando mi dinero, y un EA no va a tener remordimientos. Si tu EA tiene la pequeña ventaja entonces tú eres la casa. Ganas a largo plazo, o lo que sea que signifique el largo plazo.

En mi cálculo añadiendo un solo lote de 1/2 posición a una operación ganadora a +50 puntos es lo que debería darle la ventaja. El lote original de 50 operaciones, 25 irán a golpear el TP, 25 volverán a 0 (no una pérdida, un punto de equilibrio, cambiamos la rueda de -100 a 0). Ahora tendrá 50 operaciones de 1/2 lote a 50, por lo que 1/2 llegará a TP +50 y la otra mitad perderá y volverá a 0. Esto es asumiendo un 50/50 de pérdidas y ganancias. A +50 la proporción de ganancias será mayor, pero estoy tratando de mantener las matemáticas simples. Recuerde que el lado perdedor está descargando la mitad de la posición a -50. No se está promediando hacia abajo. 25 operaciones van a llegar a -100 a la mitad del tamaño original y 25 operaciones van a volver a 0 sin pérdida. Eso debería compensar los spreads y algo más.

Si eso funciona entonces usted necesita encontrar un sistema \ ~ filtro que le puede dar sólo unos pocos % de ventaja, esto es posible. Sería una barra mucho más baja por lo menos.

Suponiendo que todo esto juegue ou la forma en que creo que lo hará.

 
Interesante... Necesitaré algo de tiempo para pensar en esto y hacer algunas pruebas.
 

Los argumentos de danjp suenan razonables pero creo que te has saltado algunos puntos importantes.

Tus estadísticas dicen que el 48% de las operaciones van en tu dirección, esto es cierto, pero esto no implica que la operación vaya directamente en esta dirección. El caso opuesto está sucediendo, el 53% de las veces el comercio irá primero 50 puntos en contra de usted lo que significa que usted cierra la mitad de la posición.

asumiendo que no se recupera la parte ya cerrada cuando la operación vuelve a 0 implica:

El 24% de las operaciones son verdaderos ganadores con 100*1lot y 50*0,5lot

El 24% de las operaciones son pequeñas ganadoras: -50*0,5 lote 100*0,5lot y 50*0,5lot que se reduce a 100*0,5lot

Por otro lado tu pérdida probablemente aumente porque del 52% de pérdidas iniciales el 47% perderá a más de la pérdida inicial porque van primero en tu dirección y añades algunos lotes.


Si usted recupera la posición cerrada cuando el comercio vuelve el cálculo se vuelve aún más complejo porque el agujero 'ranging' puede suceder de nuevo.


Yo asumo fuertemente que todo lo que esta estrategia te trae es una operación adicional, lo que significa un spread adicional y una ventaja adicional de la casa.

(Por supuesto, como siempre, esto podría no ser cierto si usted tiene una ventaja)

 

Ok chicos, tengo algunos hallazgos muy interesantes. Tal vez esto sea lo más sagrado que se puede hacer. Pero os digo una cosa, me voy a centrar en este enfoque para el futuro próximo. Zzuegg tiene razón en su forma original va casi directamente a 0 más rápido. Sin embargo, voy a confirmar los resultados de la prueba danjp arriba y que sobre todas las pistas que estoy dispuesto a dar en este momento.

Una versión ligeramente modificada de la idea de danjp dio los resultados siguientes y opuestos. No sé si demuestra/desmiente algo sustancial. Cualquiera que haya respondido a este hilo puede enviarme un correo electrónico y le daré los códigos. Los códigos no son nada del otro mundo y son similares al primer código de este hilo.

 
Parece interesante, tengo curiosidad por ver la gestión de la posición.
 
zzuegg:
Parece interesante, la curiosidad de ver la gestión de la posición.

Bueno, aquí están los códigos que generaron eso. En segundo lugar enseñado, la UE es el único par que realizó como que en. Pero también mi UE es mi único par con un spread de un punto. El siguiente spread más pequeño es el USDJPY en el que se ha roto el equilibrio. El resto, la mayoría de las veces se rompió :(. Su codificación bastante perezoso no tenía ganas de construir funciones.

color   Color;
double  Sl; 
double  Tp;
double  Pips;
double  Price;
int     Ticket;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void start(){
    int MktOrders=Count_Orders_Magic_Symbol_Type(2);
    if(MktOrders==0){
        if(OrderSelect(Ticket, SELECT_BY_TICKET)
        && OrderType()>1 && OrderCloseTime()==0){OrderDelete(Ticket);
    }   }
    if(OrdersTotal()==0){
        int Dir=MathRand()%2;
        Pips=Point; if(Digits==3){Pips=0.01;}if(Digits==5){Pips=0.0001;}
        if(Dir==0){Price=Ask; Sl=Ask-100*Pips; Tp=Ask+110*Pips; Color=Blue;}
        if(Dir==1){Price=Bid; Sl=Bid+100*Pips; Tp=Bid-110*Pips; Color=Red;}
            Ticket=OrderSend(Symbol(),Dir,0.1,Price,999,0,0,"",0,0,Color);
        if(Ticket>-1){//The Original Half Which Goes Til The End--------------------------
            if(OrderSelect(Ticket, SELECT_BY_TICKET)){
                OrderModify(Ticket,OrderOpenPrice(),Sl,Tp,0,Color);
            }
            if(Dir==0){Price=Ask; Sl=Ask-50*Pips; Tp=Ask+100*Pips; Color=Blue;}
            if(Dir==1){Price=Bid; Sl=Bid+50*Pips; Tp=Bid-100*Pips; Color=Red;}
            Ticket=OrderSend(Symbol(),Dir,0.1,Price,999,0,0,"",0,0,Color);
            if(Ticket>-1){//The Original Half Which Gets Closed On Losses-----------------
                if(OrderSelect(Ticket, SELECT_BY_TICKET)){
                    OrderModify(Ticket,OrderOpenPrice(),Sl,Tp,0,Color);
                }
                if(Dir==0){Dir=OP_BUYSTOP; Price=Ask+50*Pips; Sl=Price-50*Pips; Tp=Price+60*Pips; Color=Blue;}
                if(Dir==1){Dir=OP_SELLSTOP; Price=Bid-50*Pips; Sl=Price+50*Pips; Tp=Price-60*Pips; Color=Red;}
                Ticket=OrderSend(Symbol(),Dir,0.1,Price,999,0,0,"",0,0,Color);
                if(Ticket>-1){//The Pyramid Half Which Gets Added On Wins-----------------
                    if(OrderSelect(Ticket, SELECT_BY_TICKET)){
                        OrderModify(Ticket,OrderOpenPrice(),Sl,Tp,0,Color);
}   }   }   }   }   }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int Count_Orders_Magic_Symbol_Type(int x){
    int Ans;
    for(int i=OrdersTotal()-1; i>=0; i--){
        if(OrderSelect(i, SELECT_BY_POS)
        //&& OrderMagicNumber()==Magic
        && OrderSymbol()==Symbol()
        && OrderType()<x){Ans++;}
    }return(Ans);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~