//+------------------------------------------------------------------+//| Agent86_5min.mq4 |//| Unfinished POS |//| //+------------------------------------------------------------------+#property copyright "Unfinished POS by Agent86"//---- input parametersexterndouble TakeProfit=20.0;
externdouble Lots=0.1;
externdouble StopLoss=10.0;
externint MagicNumber=123486;
double val1;
double val2;
bool traded = false;
bool A = false;
//++++ These are adjusted for 5 digit brokers.int pips2points; // slippage 3 pips 3=points 30=pointsdouble pips2dbl; // Stoploss 15 pips 0.0015 0.00150intDigits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if (Digits == 5 || Digits == 3)
{ // Adjust for five (5) digit brokers.
pips2dbl = Point*10; pips2points = 10; Digits.pips = 1;
}
else
{
pips2dbl = Point; pips2points = 1; Digits.pips = 0;
}
// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int i=0;
int ticket,total,result;
total = OrdersTotal();
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val1 > 0 && traded == false && val2==0)
{
// in the absence of an && indicator above I get continous print statements// also does not print A high this is not desired// with indicator added && indicator above, then it prints A and B once as it should ???// I need to work this out so it won't print all the time aka trade all the time// A and B first values seems to initialize the whole block// just a reminder that they time stamps coordinate after this FYI// now work on C retrace and possibly signals// add options for user to select some candle patterns// add options to select indicators// add bells and whistles to make things fun// alerts,sounds,maybe poppup video animation or somethingdouble B = val1;
Print(B, " B high");
if(val2==0)
{
for (i=0; val2==0; i++)
{
val2=iFractals(NULL, 0, MODE_LOWER, i);
double A = val2;
if(A!=0)
{
Print(A, " A low");
}
}
}
traded=true;
}
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val2 > 0 && traded == true && val1 == 0)
{
B = val2;
Print(B, " B low");
if(val1==0)
{
for (i=0; val1==0; i++)
{
val1=iFractals(NULL, 0, MODE_UPPER, i);
A = val1;
if(A!=0)
{
Print(A, " A high");
}
}
}
traded=false;
}
return(0);
}
//+------------------------------------------------------------------+
我认为你的问题在于你没有重置val1和val2。所以一旦你找到了高点和最后的低点,你就需要重置它们。
希望这能有所帮助。我想如果第一个if(语句)为真,那么它就会再次重启start(),并从代码的顶部重置,从而再次重置val1和val2
嗯,我想的方式是 - if(第一个语句)为真,然后打印,然后转到文本,下一个if(第二个)可能为假,然后再次回到start的顶部,重置val1和val2
我得到正确的打印和值,但只是连续打印。
现在我想起来了,我真的没有弄清楚任何if(语句)的问题,即使是最简单的EMA交叉产生连续的打印
我将测试你发布的代码,但如果我添加打印 语句来打印这些变量,而它没有连续打印,我会感到惊讶
我今天晚些时候会试一下
谢谢
我确信我必须对currentTime和iTime做一些处理才能解决这个问题,我必须再审查一下。
似乎代码库中应该已经有一个ABCD方案可以借鉴,但这似乎是没有的,除了基于ZigZag的方案,我现在正在审查,看看这是否能给我提供任何线索。但这也是一个指标
,无论如何,如果我添加&&macd 或其他东西,它只打印一次,这真的让我很不爽。
这样如何。
这只打印一次,当添加
和
所以,我已经有点接近了,我可以再评估一下。
谢谢大家的帮助,这是一个巨大的帮助,因为它为我提供了解决这个问题的思路,也扩大了我对重设事物的认识。
我必须把它放在我的口袋里。
谢谢
我在大多数时候都没有遇到这个问题。似乎只有在同一个条形中出现上分形 和下分形时才会出现这种情况,这在不确定的市场中有时会发生。解决这个问题的唯一方法是每条街只运行一次计算。
这应该意味着它不会在分形的两边出现错误的交易。
我现在做的方式会更复杂,因为我仍然要在我的代码逻辑边上添加iCustom指标;还有所有的铃铛和口哨,而不是使用已经工作的iCustomer指标作为我的代码逻辑。
无论如何,再次感谢今天的好消息。
我在大多数时候都没有遇到这个问题。似乎只有在同一个条形中出现上分形和下分形时才会出现这种情况,这在不确定的市场中有时会发生。解决这个问题的唯一方法是每条街只运行一次计算。
这应该意味着它不会在分形的两边出现错误的交易。
我需要再研究一下这个问题。这可能是我在测试时由于连续打印语句而丢失了大部分代码的地方。
我相信有其他的方法可以解决这个问题,但我确实打算为此创建一个指标,并从AtoB等处画线。
我将再研究一下
也许有人能很好地利用它,我相信大师可以把它修改得更好。
总之,它正在打印我想要的东西,而且我为fibo级别添加了一些外部值,所以用户可以选择他们可能想要的级别。
我第一次在论坛上贡献代码,大笑
谁有更好的方法来完成这项任务,我已经预料到了,由于添加了iCustom指标 来显示我的代码正在做什么,所以代码会加倍,但这意味着对数组缓冲器等进行双重编码,然后使用iCustom。
总之,这是我得到的东西
以我有限的知识和经验,这是我能想到的ABCD方案的全部内容
我将对它进行更多的研究,允许用户将A和B的水平改为不违反以前的A和B的水平,以便真正保持在一个趋势内等。
希望有人能使用它,或者能用一些更好的想法对它进行补充。
现在,我将研究蜡烛形态和指标,以添加到它或其他东西,以及弹出警报,也许声音和一些弹出视频可能会很有趣。
谢谢大家的帮助。
我们在这里为您提供了一个新的机会。
基金会将在23日举行的会议上,为您提供一个新的机会。
在这里,我们可以看到,在我们的工作中,有很多人都在为我们的工作而努力,有很多人都在为我们的工作而努力,有很多人都在为我们的工作而努力。谈到这个问题,我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:
我们在这里为您提供了一个新的机会。
基金会将在23日举行的会议上,为您提供关于 "Iнстафорекс "的信息。
在这里,我们可以看到,在我们的工作中,有很多人都在为我们的工作而努力,有很多人都在为我们的工作而努力,有很多人都在为我们的工作而努力。谈到这个问题,我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:"我想说的是:
,并且请用英语发布
,祝你交易愉快。