if(OrderType()==OP_BUY&& cci_0< cci_1 &&Bid-OrderOpenPrice()>=Point* profit)OrderClose(OrderTicket(),OrderLots(),Bid, slip,Blue);if(OrderType()==OP_SELL&& cci_0> cci_1 &&OrderOpenPrice()-Ask>=Point* profit)OrderClose(OrderTicket(),OrderLots(),Ask, slip,Red);
cci_0< cci_1 &&Bid-OrderOpenPrice()==Point* profit // может вот так? - так вообще не работает(
externdouble PercentLots =0.5;// внешние переменные
//то что ниже закиньте в конец кодаdouble GetLots(){double minlot =MarketInfo(Symbol(),MODE_MINLOT);double maxlot =MarketInfo(Symbol(),MODE_MAXLOT);if( PercentLots!=0){double lot =NormalizeDouble(AccountBalance()* PercentLots /1000.0/100.0,2);if( lot < minlot) lot = minlot;if( lot > maxlot) lot = maxlot;}else lot= Lots;return( lot);}//GetLots() - вставьте в ticket=OrderSend(Symbol(),OP_BUY,GetLots(),Ask,3,stop,Ask+Takeprofit*Point,"",MagicNumber,0,Green);
//внешние переменныеexterndouble Lots =0.1;//стартовый лот до баланса 500externdouble MaximumRisk =0.1;//увеличение лота на каждые 500 балансаexterndouble DecreaseFactor =3.0;//уменьшение лота при серии убыточных позиций//то что ниже закиньте перед стартомdouble LotsOptimized(){double lot = Lots;int orders =OrdersHistoryTotal();int losses =0;
lot =NormalizeDouble(AccountFreeMargin()* MaximumRisk /500.0,2);if( DecreaseFactor >0.0){for(int i = orders -1; i >=0; i--){if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)==FALSE){Print("Error in history!");break;}if(OrderSymbol()!=Symbol()||OrderType()>OP_SELL)continue;if(OrderProfit()>0.0)break;if(OrderProfit()<0.0) losses++;}if( losses >1) lot =NormalizeDouble( lot - lot * losses / DecreaseFactor,2);}if( lot <0.1) lot =0.1;if( lot >1000.0) lot =1000;return( lot);}int start(){//старт
LotsOptimized()-- вставьте в ticket=OrderSend(Symbol(),OP_BUY, LotsOptimized(),Ask,3, stop,Ask+ Takeprofit*Point,"", MagicNumber,0,Green);
应该在开盘价高于MA1时去买入。
我理解 "tumblr "中的||,因为我不知道如何表示,例如 "如果"(ma1>ma2&ma1>Open[1]"或 "ma1>ma3&&ma1>Open[1])。"然后" 打开BAY()。
你可以从图中看到,并不是所有的条件都得到满足!!。
在一个53号蜡烛的购买上尝试通过其他方式。
还有什么方法可以实现逻辑?
在你的这段代码中只是有大量的错误。
把它们都描述出来,并解释为什么是这样,而不是那样....我没有那么多时间。
我现在唯一要纠正的是。
也许我有时间的时候会给你更多的提示....。但我必须这样做。
>> 而我必须
同样的事情,只是第一个选项更短。
同样的事情,只是第一个选项更短。
不幸的是,第一个选项在图上没有正常工作(这一切都很奇怪)。
首先当然是更漂亮,逻辑是这样的,它是先加后乘的类型。=))
这些标志都是正确的。
这个想法本身(CCI关闭),从我的角度来看 - 不是啊....
我以前也经历过这种情况...
但这已经是一个战略问题了。
>>这么多交易者,这么多策略。
不,算法不是这样的,现在如果利润超过10个点,它就会在CCI上关闭,我需要的正是10个点的利润水平,只有在那里才能在klose上关闭,如果利润超过10个点,就不应该在CCI上关闭。现在,如果利润值超过10pp,它就会在CCI关闭(
在这个功能中,算法的意义是不同的,有一个10pp的利润水平--那是一个虚拟的利润,由SSI指标方向的条款固定。 当价格获利时,它总是通过这个水平,因为SSI看起来是正确的,然后在通过这个水平后,价格有时会出现反向运动,回到初始状态,或改变趋势方向,--在这种情况下,SSI总是看向另一个方向,当在10pp的反方向通过时,订单是固定的,因为SSI会看向反方向。
你好。
看看地段大小是否以余额的百分比正确计算。
其中procentdepo为存款的%。
你好。
看看地段大小是否以余额的百分比正确计算。
其中prozentdepo为存款的%。
做到这一点。
你好。
检查地段大小是否正确计算为余额的百分比。
其中procentdepo为存款的%。
更好的是,使用这个手数优化功能,这里的工作MM如果会有无利可图的交易,那么手数将减少到最初的手数。
只有前面两个帖子没有考虑到地段变化的步骤。>>不幸的是。
我可以做,如果我对这一步理解正确的话,余下的多少钱将被加入到这一批次中?
或者你的意思是要有一个恒定的地段增加曲线,但我不认为这样的进展有什么意义。