TSD_MT4_MR_Trade_0_34

 

Version 0.34 of TSD from Mindaugas

Files:
 

Error TSD

Error experts TSD

 

Error TSD

There has been a critical error

Time : 2006.01.26 12:01

Program : Client Terminal

Version : 4.00 (build: 188, 12 Jan 2006)

Owner : X-Trade Brokers (X-Trader)

OS : Windows XP Professional 5.1 Dodatek Service Pack 2 (Build 2600)

Processors : 1, type 586, level 6

Memory : 523760/180876 kb

Exception : C0000005

Address : 004615CB

Access Type : write

Access Addr : 000005A0

Registers : EAX=06730198 CS=001b EIP=004615CB EFLGS=00010206

: EBX=0122FE44 SS=0023 ESP=0662FF50 EBP=0118EC68

: ECX=00000003 DS=0023 ESI=0234BFE0 FS=003b

: EDX=0000000D ES=0023 EDI=000005A0 GS=0000

 
stabil:
There has been a critical error

Time : 2006.01.26 12:01

Program : Client Terminal

Version : 4.00 (build: 188, 12 Jan 2006)

Owner : X-Trade Brokers (X-Trader)

OS : Windows XP Professional 5.1 Dodatek Service Pack 2 (Build 2600)

Processors : 1, type 586, level 6

Memory : 523760/180876 kb

Exception : C0000005

Address : 004615CB

Access Type : write

Access Addr : 000005A0

Registers : EAX=06730198 CS=001b EIP=004615CB EFLGS=00010206

: EBX=0122FE44 SS=0023 ESP=0662FF50 EBP=0118EC68

: ECX=00000003 DS=0023 ESI=0234BFE0 FS=003b

: EDX=0000000D ES=0023 EDI=000005A0 GS=0000

I have no idea. We are testing 025 version and no problem about.

Try re-start windows.

 

TSD code error?

Here is a section of TSD code(in all versions) insider Filter() to update

buy/sell decision variables using WPR filter:

if (Mode == FILTER_WPR) {

Value = iWPR(TradeSymbol, PeriodTrade, WilliamsP, 1);

if (Value < WilliamsH) okBuy = true;

if (Value > WilliamsL) okSell = true;

return ("iWPR: " + DoubleToStr(Value, 2));

}

where WilliamsH was set to -25, WilliamsL was set to -75.

This means if Value is between -25 & -75 then both okBuy & okSell will be

set to true. This doesn't seem to be right.

The right logic may look :

if (Value > WilliamsH) okSell = true

else if (Value < WilliamsL) okBuy = true;

Can someone verify that?

Thanks.

 
awu:
Here is a section of TSD code(in all versions) insider Filter() to update

buy/sell decision variables using WPR filter:

if (Mode == FILTER_WPR) {

Value = iWPR(TradeSymbol, PeriodTrade, WilliamsP, 1);

if (Value < WilliamsH) okBuy = true;

if (Value > WilliamsL) okSell = true;

return ("iWPR: " + DoubleToStr(Value, 2));

}

where WilliamsH was set to -25, WilliamsL was set to -75.

This means if Value is between -25 & -75 then both okBuy & okSell will be

set to true. This doesn't seem to be right.

The right logic may look :

if (Value > WilliamsH) okSell = true

else if (Value < WilliamsL) okBuy = true;

Can someone verify that?

Thanks.

I just looked at the code of TSD 0.25 and TSD 0.36 versions. I think that TSD 0.34 should be with the same logic.

According to my understanding of the code the logic is the following:

1. We may choose which indicator to use to estimate the rend and which indicator to use as a filter:

#define DIRECTION_MACD 1

#define DIRECTION_OSMA 2

#define FILTER_WPR 1

#define FILTER_FORCE 2[/CODE]

And

[CODE]// which indicators to use

int DirectionMode = DIRECTION_MACD, FilterMode = FILTER_WPR;

I spoke with Mindaugas some time ago (he is the coder of almost all the versions of TSD) and he said that we may select the indicator for direction (MACD or OSMA) and indicator for filter (WPR or FORCE) by simple changing in the code.

 

2. TSD EA is trading on D1 timeframe taking the direction from W1 and trailing on H4 timeframe:

// trading periods int PeriodDirection = PERIOD_W1, PeriodTrade = PERIOD_D1, PeriodTrailing = PERIOD_H4, CandlesTrailing = 0;

We may change it but the original idea was like this (see code above).

 

3. We may choose the pairs to trade:

// currency pairs to trade

string pairs[] = { "AUDUSD", "EURCHF", "EURGBP", "EURJPY", "EURUSD",

"GBPCHF", "GBPJPY", "GBPUSD", "USDCAD", "USDCHF", "USDJPY" };

The trading is simple: just attach EA to the any D1 chart (GBPJPY or GBPCHF is preferable). And EA will trade all the pairs simultaniously. If we do not want for some pair to be traded we may simple delete this pair from the code. Remember: attach EA to one D1 chart only and this EA will trade all the pair mentioned in the code.

 

4. As we can choose the indicators for direction and filter we may select the settings of the indicators. I think the settings are the same with all the versions:

// parameters for MACD and OsMA

int DirectionFastEMA = 12, DirectionSlowEMA = 26, DirectionSignal = 9;

// parameters for iWPR and iForce indicators

int WilliamsP = 24, WilliamsL = -75, WilliamsH = -25;

int ForceP = 2;]

Nobody changed it. But we may change in the code. It's no problem.

 

5. And there are some trading options which we may change as well:

int MagicNumber = 2005072001;

bool TrailingStop = true;

int TakeProfit = 100, Slippage = 5, LotsMax = 10, MM = 0, Leverage = 1, MarginChoke = 200;

double Lots = 0.1;

string TradeSymbol, CommentHeader, CommentsPairs[];

int Pair = -1, SDigits;

datetime LastTrade = 0;

double Spread, SPoint, STS, StopLevel;
 

And finally I want to say the following:

Mindaugas tried to code EA with the minimum settings. All that we need is to attach EA to the chart. That's all.

Of course we may change something. But as I understand the EA is based on the very clasical idea so it was just an idea coded.

Reason: