BuyTotalOp=0;// Количество Buy ордеров
SellTotalOp=0;// Количество Sell ордеровfor(int i=1; i<=OrdersTotal(); i++)// Цикл перебора ордер{if(OrderSelect( i-1, SELECT_BY_POS)==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!= Symb)continue;// Не наш фин. инструмif(OrderType()>1)// Попался отложенный{Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;// Выход из start()}if(OrderType()==OP_BUY){
BuyTotalOp++;// Счётчик ордеров Buy
int start(){//----//Print (ExpertName);if(Bars<20)return(0);if( CheckNevBar)if(! NevBar())return(0);
TradesInThisSymbol = ExistPositions( sy);if( TradesInThisSymbol >0)return(0);if(AccountFreeMargin()< MarginMin){//Print("Not enough money to trade Strategy:", ExpertName);return(0);}
sy=Symbol();
Lots = GetSizeLot( sy, LotsWayChoice, LotsPercent, LotsDeltaDepo, LotsDepoForOne, LotsMax);if( CheckForOpen_Sell())
OpenPosition( sy,OP_SELL, Lots);// Тут работаетif( CheckForOpen_Buy())
OpenPosition( sy,OP_BUY, Lots);// Тут работаетif( CheckForClose_Buy())
ClosePositions( sy,OP_BUY);// Тут у меня что то неработаетif( CheckForClose_Sell())
ClosePositions( sy,OP_SELL);// Тут у меня что то неработает//----return(0);}//------------------------bool CheckForClose_Buy(){
Indicat_Var();if( ExistPositions( sy,OP_BUY, MagicNumber)){if( VininI_fast_trend ==-1)return(true); // Тут любое условие на закрытие//if(BB_MACD_2 > 0)return(true); // Тут любое условие на закрытиеelsereturn(false);}}//------------------------bool CheckForClose_Sell(){
Indicat_Var();if( NumberOfPositions( sy,OP_SELL, MagicNumber)>0){if( VininI_fast_trend ==1)return(true);// Тут любое условие на закрытие//if(BB_MACD_1 > 0) // Тут любое условие на закрытие//return(true);elsereturn(false);}}
不,这行不通......一个订单--一个手数,如果你开了一个有3个手数的订单,那么你不能按照你的方式分割手数--先是1,然后是1,然后是1--订单关闭整个手数,也就是说,订单关闭时的手数与开仓时相同,你不能分次关闭订单......
你弄错了,我有一个trall,它在部分地区关闭了很多。
当然,没有新的订单?
不,不是这样的......一个订单--一个手数,如果你开了一个有3个手数的订单,那么你不能以任何方式分割手数--先是1个,然后是1个,再是1个--订单关闭整个手数,也就是说,订单关闭的手数是它开的,你不能分次关闭订单......
...........................
"....,不能分割很多......" - 为什么?从技术上讲,很早以前就已经实现了,由于Roger和KimIV在第85页上的发言,避免了131个规范化手数的错误。此外,"......一个订单,一个手,如果你开了一个有3个手的订单,那么你就不能按照你的意愿分割:先是1,然后是1...... "的说法是不正确的:一个订单,以及一个手,由数量组成:0.03,0.3,3......并悄悄地按部分关闭:0.01、0.1、1......对吗?
我最后一个请求的重点是:是否有可能在不使用数组的情况下关闭所有头寸,而是使用标准计算并将其相加,例如
我只是有一种感觉,就像一艘在大海上航行的疲惫的船,希望有一座灯塔告诉我,是否有必要朝着这个方向航行,或者转过身去尝试另一条路......。
伊戈尔--我们是在白白糟蹋你的分支机构吗?
你可以一次关闭所有的一对,但不同的一对,例如:。
1,2,1,2,2,1,2总重叠量 1-2-1+2+2+1+2=3手
综上所述,我们得到了买入夏季3手,并设置了这个量的计数器卖出3手
然后我们关闭bloze bi。
但要回答这个问题:是否有可能关闭所有头寸?
是的,这是有可能的,一个接一个,有了脚本就很快了,Aap!
脚本本身或关闭功能已经不止一次发布...
而通过设置,你可以一次性和按标准关闭,例如。
- 通过一个特定的符号
- 只买不卖
- 唯利是图
相应地,各种标准的组合是可能的...
请在 你喜欢的 任何 条件下帮助关闭订单,它就是不起作用。
预先谢谢你
将涵盖一切!!。
将只关闭开放的姿势。
呼叫实例。
完整地关闭脚本。
金你是最棒的。我向你脱帽致敬。
我研究了你所有的功能,但有一个小插曲,或者说是坎坷。现在,当我写函数时,我是从我的大脑中写出来的,但你的函数是在我的脑子里:-)。
从我的编程生涯一开始,我就研究了你的许多功能。
谢谢你。
请帮助我在 你喜欢的 任何条件下关闭一个订单,它就是不工作。
预先感谢
解释
任何关闭订单的策略都不重要 请帮助使用Kim的函数关闭订单