[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 437

 
善良的人们 ))帮忙找一个EA,从一个级别(手动打分)同时在不同方向开仓交易。止损应该是可调整的,利润最好也是。这个水平由一个日常的腕表完美定义。如果有这样一个指标,从波浪的两个方向打开交易,请告诉我它的名字。我预先感谢你。
我想用一个例子来补充我的问题。假设我们确定1.5700的水平。我们从1.5700卖出并买入。我们的止损分别是1.5730和1.5670。例如,我们在1.5730设置了一个止损,然后我们从1.5700再下一个卖单,止损在1.5730。
 
iliaalyoshin >>:

Всем привет!!! Я недавно начал изучать MQL4, да и вообще это мой первый опыт в программировании. Читаю учебник, копаюсь на форумах - что-то понятно, а что-то нет. Вот даже уже начал писать своего первого советика и попал в тупик. В учебнике ответа не нашел, на форуме просидел часа 4 - все безрезультатно.
Ребята, подскажите, пожалуйста! Например, есть некая цена PRICE. Как программе проверить, есть ли в наличии в данный момент открытые рыночные или отложенные ордера с этой ценой открытия? И, соответственно, если по этой цене ничего нет, то тогда нужно или выставить отложенный ордер или сразу открыть позицию.

Надеюсь на помощь!

Заранее, Спасибо!!!


你需要循环查看可用的权证,并比较每个价格。

//+-------------------Выбор ордера---------------------------+
int SelectOrder(string Sym,int Tip,int MAGIC,double minPrc,double maxPrc){
    int TotOrd=OrdersTotal();
    int OrdTick=-1;
    for(int OrdPos= TotOrd-1; OrdPos>=0; OrdPos--){
        if(OrderSelect( OrdPos, SELECT_BY_POS, MODE_TRADES)==true){
           if(OrderSymbol()== Sym){                                           //Есть ли ордера с нужным символом
              if(OrderType()== Tip){                                          //Если ли нужный тип ордера  
                 if( MAGIC==0){ MAGIC=OrderMagicNumber();}                     //Если магик = 0,неучитывать
                 if(OrderMagicNumber() == MAGIC){                            //Есть ли ордера с нужным Магик номером
                    if((OrderOpenPrice()> minPrc)&&OrderOpenPrice()< maxPrc)){ //Если ордер входит в заданный ценовой диапазон
                       OrdTick = OrderTicket(); break;                       //Запишем в переменную его тикет и прервем цикл 
    }}}}}}
    return( OrdTick);                                                         //Возвращает тикет найденного ордера или -1
}
类似这样的事情
 

下午好,先生们。请你检查一下exp代码。它在编译过程中没有出现任何错误,但它没有关闭位置或trlit。但开场时一切都很好。我知道代码中有很多垃圾,但这是以前版本的遗留物,可能要为将来保存。

谢谢你!

附加的文件:
 
exolon >>:

Доброе время суток, господа. Не могли бы вы проверить код экспа. Ошибок при компиляции не выдает, но и позиции не закрывает и не тралит. А вот с открытием все в норме. Понимаю, что в коде много мусора, но это остатки от прошлых версий и задел на будущее..

Благодарю!


尝试打印出退出条件。打印Sell1, Buy1, Sellcl0,Buycl0变量。如果它们在正确的时刻是假的,那么就寻找EA逻辑中的错误。顺便说一下,不要像if(Sell==1)那样检查布尔型变量的值。最好是if(Sell==true)或只是if(Sell)。

 
我两种方式都试过了。我放了alert而不是print--看来输出条件就是没有达到。甚至没有看到输出信号本身。 在安装KIMa功能之前,一切都很正常。
 
意味着你必须确定它到达哪里。将打印机移到函数的开头,直到得到响应,然后就可以清楚地看到条件被绕过的地方。好吧,如果它更快,把Print(n),n=1,2,3...在每一行之后。你会知道这个项目如何运作。
 
你能告诉我如何使一个图形上的周期变化改变其他图形上的周期,使之变成同一周期吗?
 
Graff >>:
Подскажите как сделать чтоб при изменении периода на одном графике менялись периоды на остальных графиках на аналогичный период?

没有什么比这更容易的了。你只需要写一个程序(不是在MQL4中),它可以捕捉到系统中属于MetaTrader的所有窗口,跟踪它们中哪些工具是打开的,在其中一个工具发生变化后,改变其他窗口的周期,并向它们发送适当的系统信息以更新数据。

 
请帮助。显然,我就是不能理解。我自己写的专家顾问,它甚至在现实生活中进行了交易(利润率为0,但对我来说已经是一个胜利)。我在论坛上发现了它,并安装了几个指标。之后,专家只在测试器中进行交易,并显示 "uninit reason 3, uninit reason 6",不进行交易。 专家的本质是,他从两个指标(随机指数和MAKD)中获取不同时期(M15和M60)的数据。 我将很高兴得到任何帮助....
 
oyshen >>:
Прошу помочь. Видно я просто не могу понять. Эксперта я написал сам, он даже торговал в реале( прибыльность на уровне 0 но для меня это уже победа). Я нашел на форуме и установил пару индикаторов. После этого эксперт торгует только в тестере, а в реале выбивает " uninit reason 3, uninit reason 6" и не открывает сделки . Суть эксперта что он берет данные с двух индикаторв (Стохастик и МАКД) на разных периодах(М15 и М60). Буду рад любой помощи....

一年前,我自己也开始研究这些问题。 我写了自己的EA,也检查了别人的EA。

你必须明白,在你学会手工交易之前,任何EA都不会给你钱!

对于真相,我很抱歉。

原因: