Wrong Take Profit was Place by the EA
-
Hi I would like to inquire how can the Trade Take Profit set to 10 Points was change to different Pips as you can see on the screenshot. My Original Take Profit is set to 1 Pips. I don't have Trailing SL or TP, yet the initial TP was change.

This is my Input settings on the EA Properties:
Take Profit is set to 1 Pip Only.Please help, thank you all the response.
-
@01punchman Can you please share the link to your project?
-
Sorry for the late response on my concern. It is due to my hesitation of sharing my strategy to the page to avoid copy but I guess I don't have any choice but for to share and have my concern to be address. I would like to also know what could have been missing or wrong on using Accelerator Oscillator using value with Colors. Thank you for the response.
Here is the shared web link:
shared/LkIAvKmrb : https://fxdreema.com/shared/LkIAvKmrb -
@01punchman Firstly, you should create constants instead of clicking righ boxes as per your 'buy/sell now' blocks. You can learn more about that here:
https://fxdreema.com/instructions/builder/constants-and-variables
Secondly, your AO settings block is wrong. You are comparing a numer with a colour. This is why it doesn't work. Select a number 0 instead on the right operand and that will be properly understood.
-
@01punchman
Hi @l-andorrà Thank you for the response. I will check the settings of the Constant and the AO. But I think I figured out that the Take Profit Set by the EA is base on STOP LEVEL.For Example on GBPJPY the STOP LEVEL is 60 that's why the TP was set to 60Points:

Is there a way I can modify the Take Profit to the Original Settings from the Inputs or maybe to force the STOPLEVEL to change? OR Counter the STOPLEVEL so that the Original TP will be set instead?
-
@01punchman You can always create a Constant to set the SL distance in pips, of course. However, that will depend on your current structure. That has nothing to do with the indicator. You can set the distance in both 'buy/sell now' blocks.
-
@l-andorrà Thank you for the info Sir. I am a Subscriber of your YT Channel.
How about the Accelerator Oscillator, is there a way to make the condition set for color like with the Green is for Buy and Red for Sell conditions. Just like this on picture.
-
@01punchman Not that way. If toy need the green colour of the indicator to be used, it needs to be available as a buffer in the indicator itself. This is not the case for the indicator offered by default in fxDreema. You have two options here: a) try to find a custom indicator with those buffers or b) you still can use the one in fxDreema but changing the condition to select --> Candle ID1 value > Candle ID1 value. This second options is what the indicator does when plotting agreen line.
-
@l-andorrà I got the idea. Thank you so much but I am still worried about the wrong take profit that seems to be set as the same numbers showing on StopLevel Specification on Market watch.
I am wondering if this has something to do with the codes of the EA here on this part.
// https://book.mql4.com/appendix/limits
if (type == OP_BUYLIMIT)
{
if (ask - op < stoplevel) {op = ask - stoplevel;}
if (ask - op <= freezelevel) {op = ask - freezelevel - point;}
}
else if (type == OP_BUYSTOP)
{
if (op - ask < stoplevel) {op = ask + stoplevel;}
if (op - ask <= freezelevel) {op = ask + freezelevel + point;}
}
else if (type == OP_SELLLIMIT)
{
if (op - bid < stoplevel) {op = bid + stoplevel;}
if (op - bid <= freezelevel) {op = bid + freezelevel + point;}
}
else if (type == OP_SELLSTOP)
{
if (bid - op < stoplevel) {op = bid - stoplevel;}
if (bid - op < freezelevel) {op = bid - freezelevel - point;}
}op = NormalizeDouble(op, digits); //-- SL and TP ---------------------------------------------------- double sl = 0, tp = 0, vsl = 0, vtp = 0; sl = AlignStopLoss(symbol, type, op, attrStopLoss(), sll, slp); if (sl < 0) {break;} tp = AlignTakeProfit(symbol, type, op, attrTakeProfit(), tpl, tpp); if (tp < 0) {break;} if (USE_VIRTUAL_STOPS) { //-- virtual SL and TP -------------------------------------------- vsl = sl; vtp = tp; sl = 0; tp = 0; double askbid = ask; if (bs < 0) {askbid = bid;} if (vsl > 0 || USE_EMERGENCY_STOPS == "always") { if (EMERGENCY_STOPS_REL > 0 || EMERGENCY_STOPS_ADD > 0) { sl = vsl - EMERGENCY_STOPS_REL*MathAbs(askbid-vsl)*bs; if (sl <= 0) {sl = askbid;} sl = sl - toDigits(EMERGENCY_STOPS_ADD,symbol)*bs; } } -
@01punchman Oh, boy. That is for real programmers, not for me I'm afraid!

-
@l-andorrà I see. Thanks for the tips and help.