[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 386

 

下午。

1.你如何表达一笔交易的结果,即它是盈利的还是亏损的?比如说,最后一个?

2.如何进行虚拟交易并考虑到其结果(符号)?

 
inoy:

下午。

1.你如何表达交易的结果,即它是有利可图还是无利可图?比如说,最后一个?

2.如何进行虚拟交易并说明其结果(符号)?

1.看看这2个功能。

isCloseLastPosByStop
isCloseLastPosByTake

2.有一个非常简单的方法来进行虚拟交易。将你的存款金额增加100倍,好吧,比方说,不再是著名的1000英镑,而是100000。而一个虚拟头寸的手数减少到了极限--比如说0.01,工作手数,比如说10。10的0.01 - 这是十分之一 - 完全无法察觉的损失和利润。

交易标志:isLossLastPos

 
sss2019:

帮我解决这个问题,为什么如果循环只有2次,我先是等于0,然后马上等于4?

从这个脚本中,警报输出0,4。

好吧,也许是patamushta。

for(i=0,g=0,c=0;i<OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    if(OrderMagicNumber() == MasterMagicNumber)     // а других точно нет?
      {
.............
      Alert(i);
.............
      }
.............
    }

也许这样会更好。

for(i=0,g=0,c=0;i<OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    Alert(i);
    if(OrderMagicNumber() == MasterMagicNumber)
      {
      starttime = OrderOpenTime();
      ArrayResize(prices,ArraySize(prices)+TradesCount);
      if(OrderSelect(i+1,SELECT_BY_POS,MODE_TRADES))
      if(OrderMagicNumber() == MasterMagicNumber) endtime = OrderOpenTime();
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      times[i] = starttime;
      times[i+1] = endtime;
      tickets[i] = OrderTicket();
      symbol = OrderSymbol();
      while(g < TradesCount*(i+1))
        {
        if(OrderType() == OP_BUY)
          {
          if(g == TradesCount*i)
            {
            prices[g] = OrderOpenPrice()-LowOpen*Point;
            }else
            {
            prices[g] = prices[g-1]-step*Point;
            }
          }
        if(OrderType() == OP_SELL)
          {
          if(g == TradesCount*i)
            {
            prices[g] = OrderOpenPrice()+HighOpen*Point;
            }else
            {
            prices[g] = prices[g-1]+step*Point;
            }
          }
        g++;
        }
      }
    }
 
DmitriyN:

1.请看这2个功能。

isCloseLastPosByStop
isCloseLastPosByTake

2.对于虚拟交易,有一个非常简单的方法。将你的存款金额增加100倍,好吧,比方说,不再是著名的1000英镑,而是100000。和手的虚拟位置减少到极限 - 到0.01,例如,当工作地段,例如,10。10的0.01 - 这是十分之一 - 几乎没有明显的损失和收益。

交易标志:isLossLastPos


谢谢你。但肯定有一个更优雅的虚拟输入的选项。"将存款规模增加100倍" - 恐怕我在现实生活中没有这个选项))专家们,不要错过这个机会!
 
inoy:

谢谢你。但肯定有一个更优雅的虚拟输入的选项。"将存款规模增加100倍" - 恐怕我没有这个选项))专家们,不要错过这个机会!

https://www.mql4.com/ru/search#!keyword=%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F&module=mql4_module_articles
 
Vinin:

https://www.mql4.com/ru/search#!keyword=%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F&module=mql4_module_articles

谢谢你。
 
DhP:

像这样试试吧。

bool GO = true;// глобальная переменная
//---------------------

if(GO && SignalType_1 && RSI >= 35 && Stoch >= 20 && CCI >= -100) {GO=false; return(+1);}//запретить повторный вход
//---------------
{OrderClose(.......); GO = true; }//открыть семафор при закрытии позиции.

下午好,我试着修复了它,现在猫头鹰只让一个交易在止损 处关闭,仅此而已,没有其他交易打开。

附加的文件:
 
artemka_1981:

下午好!我试着修复了,现在猫头鹰只让一个交易在止损处关闭,就这样,没有其他的交易了。

if(OrdersTotal()==0)GO=true;
 
// < 0 - Dn
// > 0 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

double MA2 = iMA(NULL,15,ma2_period,ma2_shift,ma2_method,ma2_price,SignalBar);
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
    if(GO && SignalType_2 && Bid >= MA2 && RSI >= 65 && Stoch >= 80 && CCI>=100) {GO=false; return(+1);}//запретить повторный вход return(+1);
    if(GO && SignalType_3 && Bid >= IchiA && RSI >= 65 && Stoch >= 80 && CCI>=100) {GO=false; return(+1);}//запретить повторный вход (+1);
    
   
    
    if(GO && SignalType_1 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_2 && Ask <= MA2 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_3 && Ask <= IchiB && RSI <= 35 && Stoch <= 20&& CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}
DhP:

你好,没有用的,对不起,没事的,我只是弄糊涂了,非常感谢你。
 
你好。iMaOnArray函数使用了一个预先准备好的数据数组,在这个函数中写入的数据没有方括号。如果这个数组是二维的呢?(例如:Mas[4][100],即4个独立的数组,每个数组有100个点)