Saturday 15 December 2018

Jforex iorder state of alaska


Atualização 7 de dezembro de 2018: ganhei mais algumas vezes neste concurso, incluindo um primeiro lugar e um terceiro lugar. Dukascopy me levou para Genebra em setembro para uma entrevista. Os resultados preliminares do concurso de estratégia Dukascopy JForex no mês passado mostram que terminei com um sexto lugar. Essa é uma vitória de USD 1.000 para mim. Esta é a segunda vez que ganho desde abril. Como de costume, concordei em divulgar minha estratégia para que eu possa receber 100 do prêmio em dinheiro. Você encontrará o código-fonte na parte inferior desta publicação. Sou muito grato à Dukascopy por ter oferecido essa oportunidade. Este concurso me deu um incentivo para aprender sua API de negociação, como pretendi de qualquer maneira. Tenho uma conta de negociação ao vivo e financiada na Dukascopy que ainda não foi tocada. De qualquer forma, vou explicar a minha estratégia como a última vez. Esta é uma melhoria do meu Keltner Channel e da configuração do castiçal como já discuti anteriormente. Da última vez eu tinha 200 linhas de código. Esta vez é quase 500 linhas. A maioria dos novos códigos são para gerenciamento de posição. A configuração básica é similar conceitualmente. Compre no retracement em uma tendência de alta, e vice-versa a curto. Ao ver que minha estratégia é bastante longa, duvido que eu possa explicá-la completamente em uma única publicação. Como tal, dividirei essa tarefa em uma série de postagens futuras a serem postadas neste mês de agosto. (Atualização: o primeiro post da série é publicado falando sobre o uso de múltiplos intervalos de tempo no JForex). No tempo, aqui está o código-fonte completo da minha estratégia. Ou, você pode baixar o arquivo de origem aqui diretamente via Dropbox. Não tenho idéia de programação, cmo se que 1,2,3 no forman parte de la estratégia Te pongo o cdigo fuente: import java. text. DecimalFormat import java. text. SimpleDateFormat import java. util. TimeZone import com. dukascopy. api. Importar com. dukascopy. api. IEngine. OrderCommand importar com. dukascopy. api. indicators. IIndicator importar java. math. BigDecimal importar java. util. Calendar classe pública StruddleDistance implementar IStrategy private IEngine engine privado IConsole console privado Histórico do IHistory private IIndicators indicadores privados Int counter 0 Configurable (quotInstrumentquot) instrumento de instrumento público Instrument. EURUSD Configurable (quotLong order Offer sidequot) publicity OfferSide longOfferSide OfferSide. BID Configurable (quotShort order Offer sidequot) public OfferSide shortOfferSide OfferSide. BID Configurable (quotAmountquot) público duplo montante 0.02 Configurable (quotSlippagequot ) Deslizamento duplo público 10 configurável (quotTake profit pipsquot) public int takeProfitPips 20 Configurable (quotStop loss in pipsquot) public int stopLossPips 20 Configurable (quotOrder open distancequot) public double openDistance 10 Configurable (quotLong Stop order open sidequot) oferta pública ofertaSideLongOrd Offer Side. ASK Configurável (quotShort Stop order open sidequot) oferta pública OfertaSideShortOrd OfferSide. BID Configurable (quotBreak even (pips) quot) publique double breakEven 0.5 Configurable (quotBreak even trigger (pips) quot) public double beTrig 3 Configurable (quotTrailing stop trigger ( Pips) quot) public double trailingStopTrigPips 4 Configurable (quotTrailing stop (pips) - ou seja (buystop - sellstop) 2quot) public double trailingStopPips 1 Configurable (quotOrder expiration time - minutesquot) public int expireTimeMin 30 Configurable (quotOrder expiration time - secondsquot) public int ExpireTimeSec 0 Configurable (quotSart time-hours (clock de 24 horas) quot) public int hour Calendar. getInstance (TimeZone. getDefault ()). Get (Calendar. HOUROFDAY) Configurable (quotSart time - minutesquot) public int minute Calendar. getInstance (TimeZone).getDefault ()). Get (Calendar. MINUTE) Configurable (quotSart time - secondsquot) public int second Calendar. getInstance (TimeZone. getDefault ()). Get (Calenda R. SECOND) Configurable (quotReopen ordersquot) public boolean reopen true público booleano aberto falso privado longo expireTime 0 private boolean isStarted falso SuppressWarnings (quotserialquot) private final SimpleDateFormat sdf novo SimpleDateFormat (quotyyyy-MM-dd HH: mm: ssquot) setTimeZone (TimeZone. getTimeZone (quotGMTquot)) private IOrder buyOrder private IOrder sellOrder privado Calendário startTime Anular o vazio público onStart (IContext context) lança JFException this. console context. getConsole () this. indicators context. getIndicators () this. history context. getHistory () this. engine context. getEngine () ITick tick history. getLastTick (instrumento) submit if (buyOrder null ampamp sellOrder null ampamp (reabertura aberta)) se (buyOrder ampulso nulo amplificador openOrder null aberto) aberto true buyOrder submitBuyStop (tick) sellOrder submitSellStop (marque ) Calendário cal Calendar. getInstance () cal. setTimeInMillis (tick. getTime ()) cal. add (Calendar. MINUTE, expireTimeMin) cal. add (Calendário. SEGUNDO, expireTimeSec) expireTime cal. getTimeInMillis () compre quando longOfferSide cai por trailingPips ITick tick history. getLastTick (instrumento) startTime Calendar. getInstance (TimeZone. getDefault ()) startTime. setTimeInMillis (tick. getTime ()) startTime. set (Calendário. HOUROFDAY, hora) startTime. set (Calendar. MINUTE, minuto) startTime. set (Calendar. SECOND, segundo) if (startTimepareTo (Calendar. getInstance ()) lt 0) startTime. add (Calendar. DATE, 1) Override public Anulado noBar (Instrumento, Período, IBar askBar, IBar bidBar) lança JFException public void onTick (instrumento instrumento, ITick tick) lança JFException se (instrumento this. instrument) retornar se (isStarted) if (startTime. getTimeInMillis () lt tick. getTime ()) isStarted true else return Ordem IOrder ordens nulas expiradas se (0 expireTime ampamp expireTime lt tick. getTime ()) if (buyOrder null ampamp (buyOrder. getState (). Igual (IOrder. State. CREATED) buyOrder. getState ().equels (IOrder. State. OPENED)) ) BuyOrder. close () buyOrder null expireTime 0 agd-divisas. blogspot. es Negociação real con Dukascopy Bank SA Ao 1: 30,74 Ao 2: 12,97 Ao 3: 4,43 actualizado a 231216 SEMANA 12 DE 52 Hola mscara , Ele probado com outras Estrategias e consigo em lineo em Remote Run, pero para uma que se llama Stop Manager, que é de Dukascopy, me da fallo al compilarla, copi lo que me dijiste below. This. engine context. getEngine () pero não funciona. Me podes ajudar Você já pode fazer o que é capaz de fazer o que você quer, então, Sem podra. StopManager. java versão 1.0 Copyright 2018 Quantisan Move pára para o ponto de equilíbrio quando equidistância para o stop Stop original da StopManager implementa IStrategy private IEngine engine private IConsole console privado IContext context Configurable (quotLock-in Pips for Breakevenquot) public int lockPip 3 Configurable (quotMove parar para Breakevenquot) public boolean moveBE true public void onStart (contexto IContext) lança JFException this. engine context. getEngine () java. util. SetltInstrumentgt instruments new java. util. HashSetltInstrumentgt () instruments. add (instrumento) context. setSubscribedInstruments (instrumentos, true ) This. console context. getConsole () this. context context public void onAccount (IAccount account) lança JFException public void onMessage (Mensagem IMessage) lança JFException public void onStop () lança JFException public void onTick (instrumento instrumento, ITick tick) lança JFException Para (ordem de ordem. Engine. getOrders (instrumento)) se (order. getState () IOrder. State. FILLED) boolean isLong double open, stop, diff, newStop String label order. getLabel () IChart chart isLong order. isLong () open order. getOpenPrice () stop order. getStopLossPrice () diff open - stop stop loss distance se ( IsLong) if (moveBE ampamp diff gt 0 ampamp tick. getBid () gt (abrir diff)) torná-lo no intervalo de troca de negociação em alguns pips newStop open instrument. getPipValue () lockPip order. setStopLossPrice (newStop) console. getOut (). Println (label quot: Moved stop to breakevenquot) traçar este. context. getChart (instrumento) chart. draw (label quotBEquot, IChart. Type. SIGNALUP, tick. getTime (), newStop) else Mover para o ponto de equilíbrio se (moveBE ampamp diff ltt 0 ampamp tick. getAsk () lt (abrir diff)) torná-lo em breve fechar o comércio em alguns pips newStop aberto - (instrument. getPipValue () lockPip) order. setStopLossPrice (newStop) console. getOut (). Println (label quot: Parada movida para breakevenquot) traçar este. context. getChart (instrumento) chart. draw (label quotBEquot, IChart. Type. SIGNALDOWN, tic K. getTime (), newStop) public void onBar (instrumento, período, IBar askBar, IBar bidBar) lança JFException Adjuntos Variáveis ​​Jstore ltima edicin por eurer el 28 Jul 2017 23:54, editado 6 veces en total. Agd-divisas. blogspot. es Trading real con Dukascopy Bank SA Ao 1: 30,74 Ao 2: 12,97 Ao 3: 4,43 actualizado a 231216 SEMANA 12 DE 52 StopManager. java versão 1.0 Copyright 2018 Quantisan Move pára para o ponto de equilíbrio Quando equidistância à perda de parada original importa com. dukascopy. api. Importe java. util. Classe pública StopManagerInstruments implementa IStrategy private IEngine engine private IConsole console privado Contexto IContext Configurable (quotInstrumentsquot) público SetltInstrumentgt eInstruments novo HashSetltInstrumentgt (Arrays. asList (novo Instrument9193 Instrument. EURUSD, Instrument. EURGBP)) Configurable (quotLock-in Pips para Breakevenquot) public int LockPip 3 Configurable (quotMove stop to breakevenquot) public boolean moveBE true public void onStart (IContext context) lança JFException this. engine context. getEngine () this. console context. getConsole () this. context context context. setSubscribedInstruments (eInstruments) nos subscribimos A los pares seleccionados. Public void onAccount (conta IAccount) lança JFException public void emMessage (mensagem IMessage) lança JFException public void onStop () lança JFException public void onTick (instrumento instrumento, ITick tick) lança JFException se (eInstruments. contains (instrumento)) para (ordem IOrder . Engine. getOrders (instrumento)) se (order. getState () IOrder. State. FILLED) boolean isLong double open, stop, diff, newStop String label order. getLabel () IChart chart isLong order. isLong () open order. getOpenPrice () Stop order. getStopLossPrice () diff open - stop stop loss distance se (isLong) if (moveBE ampamp diff gt 0 ampamp tick. getBid () gt (open diff)) tornam o ponto de equilíbrio do comércio em alguns pips newStop open instrument. getPipValue () lockPip order. setStopLossPrice (newStop) console. getOut (). Println (label quot: Moved stop to breakevenquot) trace este. context. getChart (instrumento) chart. draw (label quotBEquot, IChart. Type. SIGNALUP, marque. getTime (), newStop) else Move to breakeven if (moveBE Ampamp diff lt 0 ampamp tick. getAsk () lt (abrir diff)) torná-lo no intervalo de troca do comércio em alguns pips newStop aberto - (instrument. getPipValue () lockPip) order. setStopLossPrice (newStop) console. getOut (). Println ( Etiqueta quot: parada movida para breakevenquot) traçar este. context. getChart (instrumento) chart. draw (label quotBEquot, IChart. Type. SIGNALDOWN, tick. getTime (), newStop) fin if (eInstruments. contains (instrumento)) public void OnBar (instrumento instrumento, período período, IBar askBar, IBar bidBar) lança JFException En el log sem venda nada escrito. Não há por que não existe nenhum tipo de coisa. Si no me equivoco leyendo o programa (não ele probado porque não está ativado no celular na conta demo.). O que você quer fazer é o seguinte (para longs, que es el caso). Calcula a diferença entre em preço de Open e the StopLoss, neste caso, suponiendo que 101,99 é o StopLoss original que le pusiste a la orden sera (1) diff 102,09 - 101,99 0,1 Se esta diferença é Positiva (por ser longs, supongo que é solo para que se faça uma única vez, já que é uma vez colocada em breakevent esa restauração negativa no caso longs (the stop estar ya por encima del open.)) Y el Bid es mayor Que o Open los 0,1 anteriores, modifica o StopLoss. En este caso, seja suponente que lance o preço real (por colocar um aproximado) (2) 102,208 gt (102,09 0,1). S (embora por los pelos, com el Bid real no s si se habra cumplido.). Agora calcula, o novo StopLoss tal que sea el Abra os pips que le indicaste. En este caso sera (3) StopLoss 102,09 10Pips 102,19. O que é o pto (2) no s porque no habd cumplido a condicina mais de todas as formas, o pto (3) te habra puesto the StopLoss 10 pips por cima do preço, não é que tenha que esperar a que gane 10 pips para moverlo E pondlo a 0 de breakevent. Para resumirlo com outras palavras, a ver si me explico. Parece que te va a poner em breakevent quando o Bid é por cima do Open ms el Stop que pusiste original (2). Digite o que você quer saber. Pare com 10 pips (3) de Abra quando ganha 30 pips (2).

No comments:

Post a Comment