Ayuda de codificación con d'Alembert Forex EA

 

Publi

Resultados 1 al 6 de 6

Tema: Ayuda de codificación con d'Alembert Forex EA

  1. #1
    Hola a todos,

    Intento codificar un EA que se ocupe de la progresión de d'alembert (para todos los que no saben progresión de alembert:
    http://www.bettingexpert.com/casino/...lembert-system)

    El plan es comenzar con 0.01 lotes y SL 13 pipsTP 14 pips.

    Cada vez que se negocia cerca con una reducción, se abre un nuevo comercio instantáneamente con lotes adicionales de 0.01 y después de un triunfo, la próxima operación se abre instantáneamente con 0.01 lotes menos que el lote antes de llegar a 0.01 lotes.


    Ejemplo:

    1. negociar 0.01 pérdida de lotes

    2. Negocie la pérdida de 0.02 lotes

    3. negociar 0.03 pérdida de lotes

    4. negociar 0.04 pérdida de lotes

    5. Trade 0.05 lotes ganadores

    6. Trade 0.04 lotes ganadores

    7. Trade 0.03 lotes ganadores

    8. Trade 0.02 lotes ganadores

    9. Trade 0.01 lotes ganadores


    Así que aquí está mi primer intento de código, pero no funciona desde el probador de eegias. : - LRB-

    ¿Quién puede ayudar?


    Código insertado/ --------------------------------------------- --------------------- /| A4.mq4 |/| Copyright © 2010, MetaQuotes Software Corp .. |/| http://www.metaquotes.net |/ ----------------------------------------------- ------------------- #property copyright Copyright © 2010, MetaQuotes Software Corp. #property Hyperlink http://www.metaquotes.net/ ---- -------------------------------------------------- ------------ /| parámetros de entrada externos |/ ----------------------------------------------- ------------------- extern int MagicNumber_101 = 101000; extern int SL = 13; extern int TP = 14; doble dXPoint = 1;/ ----------------------------------------------- ------------------- /| servicio de inicialización experta |/ ----------------------------------------------- ------------------- int init ()/-/- return (0);/ ----------------------------------------------- ------------------- /| función de deinicialización experta |/ ----------------------------------------------- ------------------- int deinit ()/-/- return (0);/ ----------------------------------------------- ------------------- /| función de inicio experto |/ ----------------------------------------------- ------------------- int start () double Lotsize = 0.01; if (OrdersHistoryTotal () gt; = 1) OrderSelect (OrdersHistoryTotal () - 1, SELECT_BY_POS); Lotsize = OrderLots (); if (OrderProfit () lt; 0 OrdersHistoryTotal () gt; = 1) Lotsize = Lotsize 0.01; if (OrderProfit () gt; 0 OrdersHistoryTotal () gt; = 1 Lotsizegt; = 0.02) Lotsize = Lotsize - 0.01; if (OrdersHistoryTotal () lt; 1 Minute () == 00) OrderSend (Symbol (), OP_BUY, 0.01, MarketInfo (Symbol (), MODE_ASK), 2, Bid-SL * Point, Bid TP * Point, buy, MagicNumber_101,0, CLR_NONE); Dormir (120000); if (OrdersTotal () == 0 Minute () == 00) OrderSelect (OrdersHistoryTotal () - 1, SELECT_BY_POS); if (OrderProfit () gt; 0 OrderType () == OP_BUY) OrderSend (Symbol (), OP_BUY, 0.01, MarketInfo (Symbol (), MODE_ASK), 2, Bid-SL * Point, Bid TP * Point, buy, MagicNumber_101,0, CLR_NONE); Dormir (120000); if (OrdersTotal () == 0 Minute () == 00) if (OrderProfit () gt; 0 OrderType () == OP_SELL) OrderSend (Symbol (), OP_SELL, 0.01, MarketInfo (Symbol (), MODE_BID), 2 , Ask SL * Point, Ask-TP * Point, market, MagicNumber_101,0, CLR_NONE); Dormir (120000); if (OrdersTotal () == 0 Minute () == 00) if (OrderProfit () lt; 0 OrderType () == OP_SELL) OrderSend (Symbol (), OP_BUY, 0.01, MarketInfo (Symbol (), MODE_ASK), 2 , Punto Bid-SL *, punto Bid TP *, comprar, MagicNumber_101,0, CLR_NONE);Dormir (120000); if (OrdersTotal () == 0 Minute () == 00) if (OrderProfit () lt; 0 OrderType () == OP_BUY) OrderSend (Symbol (), OP_SELL, 0.01, MarketInfo (Symbol (), MODE_BID), 2 , Ask SL * Point, Ask-TP * Point, market, MagicNumber_101,0, CLR_NONE); Dormir (120000); return (0);
    Por favor, no hay comentarios como Blow your account away. . .bla bla
    Solo compartiendo una eegia de trading.

    Saludos.

  2. #2
    Pruebe esto (del probador que es ...): Código insertado #property strict input int SL = 130; ingrese int TP = 140; doble lote = 0.01; boleto int; int OnInit () ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, dos, Ask-SL * Point, Ask TP * Stage); if (ticket gt; -1) devuelve INIT_SUCCEEDED; reunir INIT_FAILED; void OnTick () if (OrderSelect (0, SELECT_BY_POS)) return; OrderSelect (ticket, SELECT_BY_TICKET); should (OrderProfit () lt; 0.0) lot = 0.01; ticket = OrderSend (Symbol (), OP_SELL, lot, Bid, two, Bid SL * Point, Bid-TP * Stage); else if (lot gt; 0.01) lot - = 0.01; ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, dos, Ask-SL * Point, Ask TP * Stage);

  3. #3
    Hola, rockit, gracias! ¿Puede este código mql5? Saludos.

  4. #4
    No, este es el MQL4 oficial desde MT4 build 600 (actualmente 755). Otro estilo está en desuso y ya no se debe usar. De todos modos limita.

  5. #5
    Hola, Rockit, el código funciona bien. A pesar de que cada nuevo comercio debe comenzar con la tendencia, eso significa: - si una transacción larga cierra con ganancias, el próximo comercio es una operación larga; si una transacción larga cierra la pérdida, el próximo comercio es una operación corta - si su operación corta cierra ganancias, la próxima operación es una transacción corta - si su operación corta cierra la pérdida, el próximo comercio es un acuerdo comercial largo y muchas gracias de antemano

  6. #6
    Hola, rockit, creo que lo arreglé ... Código insertado {if (OrderSelect (0, SELECT_BY_POS)) return; OrderSelect (ticket, SELECT_BY_TICKET); if (OrderProfit () lt; 0.0) lot = 0.01; if (OrderType () == OP_BUY) ticket = OrderSend (Symbol (), OP_SELL, lot, Bid, 2, Bid SL * Point, Bid-TP * Stage); if (OrderType () == OP_SELL) ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, 2, Ask-SL * Point, Ask TP * Stage); else if (lot gt; 0.01) lot - = 0.01; if (OrderType () == OP_SELL) ticket = OrderSend (Symbol (), OP_SELL, lot, Bid, 2, punto Bid SL *, etapa Bid-TP *); if (OrderType () == OP_BUY) ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, 2, Ask-SL * Point, Ask TP * Stage); ¡Muchas gracias por su apoyo!

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.