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

 

我面临一个条款的问题,你能告诉我如何在函数中实现CCI条件吗?

必须设置一个条件,并且订单必须在10pp的利润水平关闭。

1) 如果CCI向下看,在10pp的利润水平,我们关闭一个买入订单。

2)出售--类似。

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ
extern double profit    = 10.0;//профит по клозе

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if ( ClosePips){
int slip=3;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect( trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if ((OrderType() == OP_BUY)&&( cci_0< cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if ((OrderType() == OP_SELL)&&( cci_0> cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
будет ли это корректным если прописать вот так?
if ((OrderType() == OP_BUY)&&( cci_0< cci_1 && Bid - OrderOpenPrice()<=Point* profit ))

 
Alive писал(а)>>
对于一些符号,例如欧元/美元,报价是小数点后5位。然而,我的环境变量的值只有小数点后4位。怎样才能获得环境变量的完整值?

你又是如何看待他们的。Print()总是最多输出4个字符。最好是使用DoubleToStr()

 
Martingeil >> :

我遇到了CCI锁定的问题,你知道如何在函数中实现CCI的条件吗?

必须设置一个条件,并且订单必须在10pp的利润水平关闭。

1) 如果CCI向下看,在10个百分点的利润水平上,我们关闭一个买入订单。

2) 卖出--类似的。



你必须这样做

if (OrderType()==OP_BUY && cci_0< cci_1 && Bid-OrderOpenPrice()>=Point* profit)
 
MrSoros >> :

这就是必须的方式。


谢谢你!就是这样,如果我做得对,我就不会乱用标志,对吗?

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if ( ClosePips){
int slip=3;
int profit=10;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect( trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   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);
   }Sleep(1000);}}}
 
Martingeil >> :

谢谢你!如果我这样做是对的,那么标志有什么问题吗?


这些标志是正确的。

这个想法本身(CCI关闭),从我的角度来看--不是ahty....

我以前也经历过这种情况...

但这是一个战略问题。

有多少交易者,就有多少策略。

 

你能告诉我如何正确地写出运算符吗?有"或 " 的东西不起作用,它在不应该的地方买了。

谢谢你!
if (
   {( ma1> ma2 && ma1> ma3  && Open[1]> ma1)} || 
   {( ma2> ma1 && ma2> ma3  && Open[1]> ma1)} ||
   {( ma3> ma1 && ma3> ma2  && Open[1]> ma1)}
   )
    OpenBuy();

ну и т. д.


 
删除大括号,它们是不必要的。我想知道它首先是如何编译的。
 
granit77 >> :
删除大括号,它们是不必要的。我想知道它到底是如何编译的?

两种方式都编译了,还是不行。

(奇怪的是,它编译了 =))。

 
costy_ >> :

我已经编译了两种方式,但还是不行。

if (( ma1> ma2 && ma1> ma3  && Open[1]> ma1) || 
    ( ma2> ma1 && ma2> ma3  && Open[1]> ma1) ||
    ( ma3> ma1 && ma3> ma2  && Open[1]> ma1)
   )
    OpenBuy();

- >>这是很好的逻辑。

问题--条件本身是否正确?

 
显示ma1...ma3是什么,并用语言描述逻辑。到了早上,有人会急于纠正它 :))