очки == пипсы? - страница 5

 
angevoyageur:
Пока у нас нет брокера, который предоставляет 6 цифр.
Это хорошая мысль... будем надеяться, что этого не произойдет.
 
RaptorUK:
Существуют ли 4-значные брокеры для MT5? Если да, то у вас будет другая точка по сравнению с 5-значными брокерами. Точка - это последняя цифра, но для 4- и 5-значных брокеров это не одно и то же.

Мое определение для Pip возвращается одинаково для 4-х и 5-ти значных брокеров, поэтому, на мой взгляд, его можно определить лучше, чем Point.
Если брокеры действительно имеют значение для определения того, что такое point в MQL5, то лучше MQ изменить функцию на Point(string broker) ;-)
 

Я тоже долго боролся с определением пипсов. Кажется, что у всех оно разное. И в довершение всего, каждая пара имеет разное количество цифр в котируемой цене и поэтому 1 пункта практически не существует. (Он имеет разное значение в каждой паре). Я думаю, что единственный способ использовать денежную стоимость на изменение цены - это заставить всех брокеров сделать 5-ти значную цену единой для ВСЕХ инструментов. (включая валютные пары, металлы, акции и т.д.). Брокеры добровольно этого не делают, потому что не хотят признавать, что крадут гораздо больше. Если они говорят "узкие спреды", они на самом деле имеют в виду, что мы показываем вам узкое число (например, 30 по золоту), но на самом деле они берут 30 только потому, что коверкают 2 цифры. Реальный спред составляет 3000 пунктов или около того. Я сделал для себя электронную таблицу, чтобы попытаться преодолеть этот беспорядок. В действительности, у моего брокера в некоторых парах 5-ти значный спред, в других парах 4-х значный, в третьих парах 3-х значный, а в некоторых даже 2-х значный. Когда я разобрался и записал это на бумаге для себя, я обнаружил, что если я добавлю нужное количество нулей, я сделаю единую цену и, таким образом, единую денежную стоимость, например, для 1000 пунктов на любой из примерно 200 пар.

Дело в том, что брокеры взимают спреды, свопы и комиссионные сборы. Но если бы значение цены всегда было пятизначным, вы бы точно знали, сколько денег вы заработаете за 1000 пунктов, независимо от того, каким символом вы собираетесь торговать.

Ребята. Скажите мне. Это абсолютно безумная идея? Или она осуществима? Может ли это быть решением проблемы, как точно узнать "сколько денег за изменение цены по каждому существующему символу, который вы получаете".

 
есть комментарии к моему предыдущему посту?
 
Vorobyov:
есть какие-либо комментарии к моему предыдущему посту?
На мой взгляд, определение стандарта пипсовки не является решением просто так, в любом случае, я не считаю вашу идею безумной, как вы заявили, это просто другое видение.
Для меня нет необходимости в таком стандарте, потому что любой брокер или платформа могут называть пипсы так, как угодно их клиентам, если они хотят, это просто конвенция и/или соглашение, если речь идет о каком-то внутреннем правиле.
 

Привет всем,

Я не знаком с программированием.

Есть ли какой-нибудь метод вычисления значений пунктов? Я написал программу для 4-х значного брокера и 5-ти значного брокера, правильно ли это? (Я не хочу иметь дело с пунктами... LoL)

Когда я хочу поставить 100 тейк-профит, я написал вот так, но он всегда выдает ошибку 130

double calcPrice;

calcPrice= Ask+(100*Point()) ;///<<<<------ фактически рынок по цене спроса (Или когда я модифицировал ордер >> OrderOpenPrice(); )

1.Является ли этот метод правильным для 4-значного брокера и 5-значного брокера????

2.Есть ли другие методы, которые можно использовать для всех этих требований.

3.Кто-нибудь может помочь примером, OrderSend без ошибок в этом случае.


Любой комментарий будет оценен по достоинству.

Спасибо

 

73398956Aipl: when i want put 100 Take Profit i wrote like this, but it makes Error 130 always

calcPrice= Ask+(100*Point()) ;///<<<<------ фактически рынок по цене спроса (или когда я модифицировал ордер >> OrderOpenPrice(); )

1.Корректен ли этот метод для 4-х значного брокера и 5-ти значного брокера????

  1. Вы хотите 100 чего? Ваш код генерирует 100 пунктов. Если вы хотите 100 PIPs, значение будет неправильным на 5-значном брокере. Если вы хотите 10 PIPs, значение будет неверным на 4-значном брокере.
  2. Ваш код ломается, если вы переключаете брокеров 4/5 и не корректируете значение. Он ломается, если вы переключаете сервер, когда брокер предлагает и 4, и 5. Он также ломается, если брокер переходит в выходные на 5 цифр, как это уже случалось. Делайте все в PIPs и корректируйте (SL, TP и проскальзывание; для 4/5-значных брокеров и для пар JPY).
  3. Существуют Tick, PIP и Point. В целом, все они отличаются друг от друга. Тик - это наименьшее изменение цены. Пункт - это наименьшая значимая цифра котировки. В валюте пункт определяется как 0,00010 (или для йены 0,010).

    На 4-х значном брокере пункт (0.0001) = пипсу (0.0001). [JPY 0.01 == 0.01] У 5-ти значного брокера пункт (0.00001) = 1/10 пункта (0.00010/10). То, что вы указываете дополнительную цифру, не меняет значение пункта. (0.0001 == 0.00010) Советники должны переводить пипсы в пункты (для mq4.) В валютах тик - это пункт. Цена может измениться на наименьшую значащую цифру (1.23456 -> 1.23457).

    В металлах тик - это наименьшее изменение, но большее, чем пункт. Если цена может измениться от 123,25 до 123,50, то TickSize будет 0,25, а пункт - 0,01. Пип не имеет никакого значения.

    Вот почему вы не используете TickValue сам по себе. Только как соотношение с TickSize. См. DeltaValuePerLot().

 
Vorobyov:
Есть какие-нибудь комментарии к моему предыдущему посту?

С моей точки зрения, не существует фиксированного определения! Это как в детском саду, каждый брокер делает то, что хочет! Недавно я наткнулся на трехдневный своп - который обычно относится к выходным - который поднимается по средам, а не по пятницам!

Так что для меня:

  • точка - это то, что вы получаете от брокера (=> _Point) и
  • пункт - это разница цен, которая имеет значение ~10.-$ на $-счете, или 10 € на €-счете для одного лота (это мое техническое определение!!).

Это означает, что если стоп будет установлен на 10 пунктов ниже входа, то я буду рисковать ~100 € на своем €-счете, независимо от того, каким символом я торгую! Неважно, сколько цифр у пункта или насколько велик размер лота,...

Вместо того, чтобы отчаиваться, примите это как шанс, что нет фиксированного определения, так как вы также можете определять вещи так, как вам нравится!!!

Вот как я это делаю:

bool Pip10(string sym,int &dig,double &pip,int &digis,double &pt,double refValue=10.0, const string from="") {
   // use: if (!Pip10(sym, DIG, PIP, DIGIS, PNT)){ ...
   pt             = SymbolInfoDouble(sym,SYMBOL_POINT);
   digis          = (int)SymbolInfoInteger(sym,SYMBOL_DIGITS);
   
   int      xp    = digis+1, XP = 0, n=200;
   double   tV    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_VALUE ),  //MarketInfo(sym,MODE_TICKVALUE),///
            tS    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_SIZE ),  //MarketInfo(sym,MODE_TICKSIZE),
            mL    = SymbolInfoDouble(sym,SYMBOL_VOLUME_MIN ),  //MarketInfo(sym,MODE_MINLOT),
            lV    = ( tS*tV == 0.0 ) ? 0.0 : tV/tS, // LotValue
            //pV    = mL*lV,
            //TV    = mL*tV, // tgt*MinLot*lV => n* MinLot * tV
            M,P1,P2, D1,D2,
            minD = 9999999999999.9,  minD2 = 9999999999999.9;
   while (lV < 0.00000000000001 && n-->0 && MQLInfoInteger( MQL_PROGRAM_TYPE ) != PROGRAM_INDICATOR) { // ~4sec in total
      Sleep(20); // try it for 10 sec, wait to get data
      pt    = SymbolInfoDouble(sym,SYMBOL_POINT);
      digis = (int)SymbolInfoInteger(sym,SYMBOL_DIGITS);
      xp    = digis+1;
      tV    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_VALUE );  //MarketInfo(sym,MODE_TICKVALUE),///
      tS    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_SIZE );  //MarketInfo(sym,MODE_TICKSIZE),
      mL    = SymbolInfoDouble(sym,SYMBOL_VOLUME_MIN );  //MarketInfo(sym,MODE_MINLOT),
      lV    = ( tS*tV == 0.0 ) ? 0.0 : tV/tS; // LotValue
   }
   if ( lV < 0.00000000000001 ) { Alert(sym," is NOT aivailable (yet?), called from ",from,"  err: ",err(_LastError)); pip=0.0; dig=-99; return(false); } // No connection yet
   //Print("ini Pip10(",sym,"..,ref:",DoubleToStr(refValue,2),")  Digits: ",digis," TickVal: ",DoubleToStr(tiV,2));
   while(xp>-9) {

      M  = pow(10,xp);
      P2 = M*lV*2.0;
      P1 = M*lV;
      D1 = fabs(P1-refValue);
      D2 = fabs(P2-refValue);
      
      if ( D2 > minD2 && minD > minD2 ) {
         dig = -XP;
         pip = pow(10,-dig)*2.0;
         if ( pip < tS) { Alert(sym,": PIP(",DoubleToString(pip,digis),") is SMALLER than Ticksize(",DoubleToString(tS,digis),") "); pip=0.0; dig=-99; return(false); }
         return(true);
      }

      if ( D1 > minD && minD2 > minD ) {
         dig = -XP;
         pip = pow(10,-dig);
         if ( pip < tS) { Alert(sym,": PIP(",DoubleToString(pip,digis),") is SMALLER than Ticksize(",DoubleToString(tS,digis),") "); pip=0.0; dig=-99; return(false); }
         return(true);
      }
      minD2 = D2;
      minD  = D1;
      XP = xp;
      xp--;

   }
   pip=0.0; dig=-99;
   Comment(sym," is NOT aivailable (yet?)");
   return(false); // not set :()
}
 
Carl Schreiber:

С моей точки зрения, не существует фиксированного определения! Это как в детском саду, каждый брокер делает то, что хочет! Недавно я наткнулся на трехдневный своп - который обычно применяется к выходным - который поднимается по средам, а не по пятницам!


Это что-то обычное - применять трехдневный своп в среду.

Вы можете проверить это с помощью :

SymbolInfoInteger(symbol,SYMBOL_SWAP_ROLLOVER3DAYS)
 
Alain Verleyen:

Применять трехдневный своп в среду- обычное дело.

Вы можете проверить это с помощью :

Для меня это ловкость рук!