//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+//Функция дает команду на закрытие позиции при достижении профита , //задаваемого параметром CloseProfit. Для корректной работы //этой функции необходимо наличие вспомогателной функции del(int ticket)void CloseProfit(){if(OrdersTotal()>0){for(int q =OrdersTotal()+1; q >=0; q--){if(OrderSelect( q, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()=="EURCHF"){if(OrderMagicNumber()== Magic){if(OrderCloseTime()==0){if(OrderType()==OP_BUY){RefreshRates();if(Bid>OrderOpenPrice()+ CloseProfit*Point){Print("ClosePozishion"); del(OrderTicket());}}if(OrderType()==OP_SELL){RefreshRates();if(Ask<OrderOpenPrice()- CloseProfit*Point){Print("ClosePozishion"); del(OrderTicket());}}}}}}}}}//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+//Функция реализует закрытие позиций по текущей ценеvoid del(int ticket){int Error;double _bid;for(int w =0; w <1; w++){GetLastError();OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES);if(OrderType()==OP_BUY){RefreshRates();
_bid =MarketInfo("EURCHF",MODE_BID);if(!OrderClose( ticket,OrderLots(), _bid,3,Green)) Error =GetLastError();}if(OrderType()==OP_SELL){RefreshRates();
_bid =MarketInfo("EURCHF",MODE_ASK);if(!OrderClose( ticket,OrderLots(), _bid,3,Green)) Error =GetLastError();}if( Error ==0){PlaySound("expert.wav");return;}//при нормальном закрытии // позиции, - даем сигнал "expert.wav"if( Error !=0){// если произошла ошибка закрытия - сигнал и печать .PlaySound("timeout.wav");Print("Error for Close Funtion =", Error);}while(!IsTradeAllowed())Sleep(5000);//если торг. поток занят, - ждем 5 секif( Error ==146)while(IsTradeContextBusy())Sleep(10000);//если нет соединения с сервером, ждем - 10 сек}}//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
现在我看了看账户历史,发现了。在真实账户中,达到指定利润后平仓 的功能实际上是不起作用的!尽管它在测试器中工作正常。
也就是说,在大多数情况下,盈利的头寸在相当于15点的Ticrofit时被关闭--这是允许的最低止损水平。
但是这个Pipswise专家顾问已经被优化为在欧元兑美元上收盘+11,在欧元兑英镑上收盘+8!
这样的差异(尤其是15和8)对于一个剥头皮的专家顾问来说是非常敏感的。
我还不知道为什么会发生这样的事情....我从另一个(外星人)设计中提取了一个现成的功能。
我对它进行了梳理和改进(对于eurofrank来说,该功能看起来像这样)。
它是否会发出错误?
这种设计可以被简化
像这样
它是否会发出错误?
这种设计可以被简化
像这样。
对于错误,我不能说什么。我只有这个账户的投资密码。
但我在这家经纪公司的真实账户上经常发生错误。我收到了代码错误的蜂鸣信号,而且我经常听到这种信号!起初,有一个关闭的错误信号。而往往再过一两分钟后,就会有一个获利的信号触发。换句话说,收盘的功能工作不正确,价格突破到获利水平,通过了设定的收盘水平!这是不正确的。
至于设计的简化,它可以简化,但当一切都被详细描述时,我觉得更清楚。
你写道:这个Pips专家顾问经过优化,在欧元兑瑞郎上收盘价为+11,在欧元兑英镑上收盘价为+8!
一切都很容易解释。 你开一个多头头寸,等待条件触发法定的15个点。
你以买入价买入并以买入价收盘,因此你失去了点差(4点),所以你必须在Ifa中设置Ask而不是Bid。
来获得你的15个点...
还有,上面的内容不清楚......如果止盈是15个点,为什么要提前关闭?
你写道:这个Pips专家顾问经过优化,在欧元兑瑞郎上收盘价为+11,在欧元兑英镑上收盘价为+8!
一切都很简单,你开一个多头头寸,等待条件触发法定的15个点。
你以买入价买入并以买入价收盘,因此你失去了点差(4点),所以你必须在Ifa中设置Ask而不是Bid。
来获得你的15个点...
如果止盈是15个点,我为什么要提前关闭?
并非如此。我想在达到+11点的利润后平仓。而止盈是在+15(因为不可能把它放得更近--DC中的止损水平是允许的=15)。
你认为我为什么要出价购买?我是在升空时买的。
但多头头寸是通过卖出来关闭的?- 不是吗?
这就是为什么它在电子费用上出价......
但是,即使我在你的意见中失去了价差的大小,这个事实也不能解释真实的和测试者之间的结果分歧 !
在10天内进行了200次交易,在手数=0.1的情况下,几乎有500美元的背离情况恶化。
但是,即使我按照你的说法失去了价差大小,这个事实也不能解释真实的和测试者之间的结果分歧!
几乎有三分之一的交易在真实中缺失,这可能是错过的利润。或者,也许有什么东西被遗漏了。让我知道,我们会想办法的。
我已经整理出了交易的数量。现在我在测试器中运行专家顾问,启用了重新报价模型的选项。 测试器中的交易量和真实账户中的交易量几乎相同(在合理范围内)。
也就是说,重新报价是有责任的。他们大力减少交易数量,很多有利可图的交易一定是在真实账户上被削减的。
但所有这些--它并不能解释测试和真实结果之间的所有差异。
//-------------------------------------------------------------------
因此,我的专家顾问似乎已经 "工作起来",成为领导者之一...
http://acompetition.love-craft.ru/?q=ru
还有一个冻结级别,也许问题就出在这里。
如果我理解正确的话,这个概念包括对同时开仓数量的限制和对手数的限制。
我不认为这个因素是相关的。
根据专家顾问的算法,一个货币对在市场上的头寸一次不能超过一个。
这块地暂时是固定的。(0.1)
如果我理解正确的话,这个概念包括对开仓数量的限制和对手数的限制。
不 - 这是一个更接近的水平,你不能修改挂单,以及采取和抓取位置。