Dukascopy
 
 
Wiki JStore Search Login

Strategy copying
 Post subject: Strategy copying Post rating: 0   New post Posted: Tue 29 May, 2012, 18:28 

User rating: 0
Joined: Thu 16 Feb, 2012, 12:59
Posts: 1
Location: India, Gurgaon
Dear Support,

I want to report strategy copy by "men79"

Below is my original strategy, which I published last month and also uploaded with some modification for May Contest.


package singlejartest;

import com.dukascopy.api.*;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.dukascopy.api.IEngine.OrderCommand;
import com.dukascopy.api.IIndicators.MaType;
import com.dukascopy.api.IIndicators;
import com.dukascopy.api.Instrument;
import com.dukascopy.api.OfferSide;

public class rambestscalp implements IStrategy {
   
 
    private IEngine engine = null;
    private IIndicators indicators = null;
    private IConsole console = null;
    private double volume = 3;
    private int profitLimit = 100;
    private int lossLimit = 150;
    private double bidPrice;
    private double askPrice;
    public Instrument instrument= Instrument.EURUSD;
    public Period period = Period.FIFTEEN_MINS;
    public IOrder marketorder;
    public boolean tradeallowed;
 
    public void onStart(IContext context) throws JFException {
         Set<Instrument> subscribedInstruments = new HashSet<Instrument>();
         subscribedInstruments.add(Instrument.EURUSD);
         context.setSubscribedInstruments(subscribedInstruments);
        engine = context.getEngine();
        indicators = context.getIndicators();
        context.getHistory();
        console = context.getConsole();
        indicators = context.getIndicators();
     
    }

    public void onStop() throws JFException {
    }

    public void onTick(Instrument instrument, ITick tick) throws JFException {
           if (instrument != Instrument.EURUSD || period != Period.FIFTEEN_MINS) return;       

    }

    // opened positions counted
    protected int positionsTotal(Instrument instrument) throws JFException {
        int counter = 0;
        for (IOrder order : engine.getOrders(instrument)) {
            if (order.getState() == IOrder.State.FILLED) {
                counter++;
            }
        }
        return counter;
    }

    protected String getLabel(Instrument instrument) {
        String label = instrument.name();
       
        long time = new java.util.Date().getTime();

        label = label.substring(0, 2) + label.substring(3, 5);
        label = label + time;
        label = label.toLowerCase();
        return label;
    }

    public void onBar(Instrument instrument, Period period, IBar askbar, IBar bidbar) throws JFException {
       

  if(period == Period.FIFTEEN_MINS) {
     // Time of opening trade
       Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT 0"));
        int DayOfWeek=calendar.get(Calendar.DAY_OF_WEEK);
            int Hour=calendar.get(Calendar.HOUR_OF_DAY);
       
        if (Hour>9 && Hour<16){
            tradeallowed = true;
            }
            else {
                tradeallowed = false;
            }
      // End of opening trade
        profitLimit = 10;
        lossLimit = 250;
             
                     
      if (askbar.getVolume() == 0) return;
     
             
             askPrice = askbar.getClose();
             bidPrice = bidbar.getClose();
               
double tvs = this.indicators.tvs(instrument, period, OfferSide.BID, IIndicators.AppliedPrice.CLOSE, 18, 0);
double tvs1 = this.indicators.tvs(instrument, period, OfferSide.BID, IIndicators.AppliedPrice.CLOSE, 18, 1);
double sma14 = this.indicators.sma(instrument, period, OfferSide.BID, IIndicators.AppliedPrice.CLOSE, 14, 0);
double sma14h = this.indicators.sma(instrument, Period.FOUR_HOURS, OfferSide.BID, IIndicators.AppliedPrice.CLOSE,14, 0);
double sma14ha = this.indicators.sma(instrument, Period.ONE_HOUR, OfferSide.BID, IIndicators.AppliedPrice.CLOSE,14, 0);
double rsi = indicators.rsi(instrument, Period.ONE_HOUR, OfferSide.BID, IIndicators.AppliedPrice.CLOSE, 14, 0);
               
       if (positionsTotal(instrument) == 0) {
           
            if (bidPrice > sma14  && tvs > 0 &&  tvs1 > 0 && tvs > tvs1 ) {
                     
               
                 marketorder = buy(instrument, engine, profitLimit, lossLimit, volume);
                 
                 }
               
                else  if (bidPrice < sma14  && tvs < 0 &&  tvs1 < 0 && tvs < tvs1 ) {
                   
               marketorder = sell(instrument, engine, profitLimit, lossLimit, volume);   
                   
                  }   
          }
         
           }
           }
         
   
   

  public void onMessage(IMessage message) throws JFException {
       
        if (message != null && message.getType() == IMessage.Type.ORDER_CLOSE_OK) {
           
            IOrder lastOne = message.getOrder();
           
            double profitsLoss = lastOne.getProfitLossInPips();
           
            console.getOut().println("Order : "+lastOne.getLabel()+ " "+ lastOne.getOrderCommand()+ " Pips: "+profitsLoss);
           
           
        }
}
     





  @Override
   public void onAccount(IAccount account) throws JFException {
     
     
       
       

   }
    public IOrder sell(Instrument instrument, IEngine engine, int takeProfitPipLevel, int endLossPipLevel, double volumeParam)  throws JFException {
       
        return engine.submitOrder(getLabel(instrument), instrument, IEngine.OrderCommand.SELL, volumeParam, 0, 3, bidPrice
                        + instrument.getPipValue() *endLossPipLevel, bidPrice - instrument.getPipValue() * takeProfitPipLevel);
     }
     
      public IOrder buy(Instrument instrument, IEngine engine, int takeProfitPipLevel, int endLossPipLevel, double volumeParam)  throws JFException {
       
         return engine.submitOrder(getLabel(instrument), instrument, IEngine.OrderCommand.BUY, volumeParam, 0, 3, askPrice
                        - instrument.getPipValue() * endLossPipLevel, askPrice + instrument.getPipValue() * takeProfitPipLevel);
     }
}



Thanks,
Ram.


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Wed 30 May, 2012, 08:46 
User avatar

User rating: 0
Joined: Wed 30 May, 2012, 08:12
Posts: 1
Location: Virgin Islands, BritishVirgin Islands, British
I also want to report my strategy copying by 'updown'

complete code is copied

My strategy: https://www.dukascopy.com/strategycontes ... tegy-31568

updown's strategy: https://www.dukascopy.com/strategycontes ... tegy-32166


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Sun 03 Jun, 2012, 12:41 

User rating: 0
Joined: Fri 18 May, 2012, 14:52
Posts: 6
Location: Uganda, kampala
Hello support,
do you actually check these complaints abut copying strategies? men79 was reported to have copied the strategy but he went unchecked and came number 2 whereas the poor copyright owner of the strategy was left empty handed.
please do something about it.


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Mon 04 Jun, 2012, 02:17 
User avatar

User rating: 1
Joined: Mon 25 Jul, 2011, 11:46
Posts: 29
Location: United Kingdom, Burnley
May's results aren't final yet - you can tell because there's no Prize column. They do react to the copying reports, it just takes them time :p I sent mine to [email protected] and they replied & took action.


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Tue 05 Jun, 2012, 02:29 
User avatar

User rating: 0
Joined: Sat 24 Sep, 2011, 18:30
Posts: 7
Location: India, Mumbai
Also this months first spot by Mamoun_f is an exact copy of Dieselfx who was on no 1 spot last month...stategy based on bollinger band breakout.....same code.


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Tue 05 Jun, 2012, 08:53 
User avatar

User rating: 8
Joined: Tue 31 Jan, 2012, 11:24
Posts: 72
Location: India, Gurgaon
Strategy copy is a normal behavior for those, who wants to participate in contest and does not have programming skills. They always look to copy a winning strategy.

You can't stop them to copy and run it. However, if strategy developer claims for copyright, then Contest Support team can look for deduct popularity point. In my point of view, it should be changed, and all strategy which is already published in earlier contest or Dukascopy forum, if that participants has not built that strategy or not requested for code for that strategy, should be considered as "public" and participant should not get popularity point. And it should be implemented when participants publish his/her strategy.

Anyway, I believe, Contest Support team may do some modification in contest rules soon. However, It may take time. ;)

Good luck to you all, and I wish, you will have a successful month in contest and also in your live trading. :)

Thanks,
Santosh.


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Tue 05 Jun, 2012, 09:17 
User avatar

User rating: 0
Joined: Wed 20 Jul, 2011, 05:45
Posts: 20
Location: BulgariaBulgaria
Here in the race has 10 traders who can make strategies ..... No need to race then, they are all winners in the top 10 .......
There no need of the strategy contest....

And "ramagarwal" the strategy is not yours, think about it...


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Wed 06 Jun, 2012, 12:55 

User rating: 0
Joined: Fri 18 May, 2012, 14:52
Posts: 6
Location: Uganda, kampala
Its just wrong fellas, its called "reaping where you didn't sow", anyways. i hope support is doing something about those reported.
cheers


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Wed 06 Jun, 2012, 12:57 

User rating: 0
Joined: Fri 18 May, 2012, 14:52
Posts: 6
Location: Uganda, kampala
men79 wrote:
Here in the race has 10 traders who can make strategies ..... No need to race then, they are all winners in the top 10 .......
There no need of the strategy contest....

And "ramagarwal" the strategy is not yours, think about it...


Hey men79, you were reported as a copier, what do you have to say about it!?


 
 Post subject: Re: Strategy copying Post rating: 0   New post Posted: Thu 07 Jun, 2012, 00:54 
User avatar

User rating: 0
Joined: Sat 14 Apr, 2012, 21:56
Posts: 1
Location: Jordan, irbid
jeffUG wrote:
men79 wrote:
Here in the race has 10 traders who can make strategies ..... No need to race then, they are all winners in the top 10 .......
There no need of the strategy contest....

And "ramagarwal" the strategy is not yours, think about it...


Hey men79, you were reported as a copier, what do you have to say about it!?



i suggest you to read rules for contest again


 

Jump to:  

cron
  © 1998-2025 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com