GBP建ての口座でXAUUSDの間違ったロットサイジング? - ページ 2

 
DomGilberto:
いや、スプレッドベッティングのアカウントではないんだ。

WHRoader - 計算にポイントが必要ないってどういうことですか?

もし計算式にポイントが含まれていなければ、ストップまでの距離に基づいて与えられたトレードに正しいリスクを適用することはできないのでしょうか...?(混乱中)。

23.64 || 2,364 ポイント...ということで、頭を抱えています・・・。ぶっちゃけ、GBP建ての口座を持っているので、1トロイオンスポジションを少なめに適用しているのだと納得しています...。私はちょうど私が示したものから私が正しい/間違っていることを教えてくれる人が必要ですか?


もし私が間違っていたら訂正してください... ...あなたは、損失を出したときに、あなたが希望したリスクの割合を失っていないため、ポジションサイズの計算が間違っていると仮定していますか? スプレッドは計算に織り込んでいますか? もしそうでなければ、このシンボルは大きなスプレッドを持っている傾向があるため、より顕著になりやすいと思われます。
 

RaptorUK - 私がポジションサイズがあるべきものより小さいと言ったとき、私はかなり半分を意味します...

このように言うと、私は小さな口座でフォワードテストをしています - ポジションが最初のターゲットをヒットした場合、それは該当する場合、25%をオフにする必要があり、それ以外の場合は1最小ロットサイズ| 1トロイオンスを閉じます。この取引の全体的な金銭的リスクは、約£75.00のリスクに相当します....XAUUSD 取引は、最初の目標で利益確定するまでの道のりのちょうど 3 分の 2 を超えています... そのポジションの現在のオープン P&L は約 £18.00 です......

今までに取引したすべての通貨ペアに 同じ計算式を適用したところ、必要なだけの精度があります....ただ、金と銀はそうではない....これらのペアのスプレッドは、私が5-20ポイントを狙わないという事実のために、何の材料にもならないでしょう...ストップとターゲットは、ほとんどの場合、約80-250ポイントだ。

 
GumRai:

このように表示されるコードを示してもらえますか?

double loss_for_1_lot1 = pips_to_ssl/ ts * tv ;

2013.11.08 23:40:30 2013.06.19 19:00 V1 - XAUUSD XAUUSD,H1: loss_for_1_lot1 計算式: 23.64 / 0.01 * 0.01 = 23.64

多分、次のプリントを追加することができます。

Print("Account currency = ",AccountCurrency() );

を追加して、STで実際にGBPを取引していることを確認します。


2013.11.11 10:13:12     2013.06.17 15:00  V1 - XAUUSD XAUUSD,H1:  Account # (deleted) -- leverage is 1:200 -- Account currency is GBP -- Minium Lots are: 1 -- Min Lot Step is: 1
断言しますが、GBP建てです...。

そのプリントの結果のコードを表示するってどういうことですか、そこにあるんでしょう?
 
DomGilberto:

断言してもいい、GBP建てです...。

そのprintの結果のコードを表示するってどういう意味ですか?

それはPrint()の出力で、コードではありません。その出力をするコード、実際のPrint( ... ... ) ステートメントを表示してください、我々はあなたがどこからTick値を取得しているのか見る必要があります、なぜなら何かが間違っているからです。 実際、ts (Tick Size) を2回印刷しているように見えますが ... ...

23.64 / 0.01 * 0.01 = 23.64 は誤りで、0.01 * 0.01 = 0.0001 と 23.64 / 0.0001 = 236400 となります。

 
よし、これでいいんだ。

//+------------------------------------------------------------------+
//| Order Enter Function                                             |
//+------------------------------------------------------------------+
void OrderEntry(int direction)
{
   //Padding for the stop and padding for the entry too. 
   double ATR_Pad = iATR(NULL,60,14,1)/2; 
   double Buy_Pad = NormalizeDouble(ATR_Pad,Digits);
   double Sell_Pad = NormalizeDouble(ATR_Pad,Digits);
   
   //Stop calculations.    
   double ATR = iATR(NULL,60,14,1);
   double MA = iMA(NULL,60,MA_Period,0,1,0,1);
  
   //Lot calculation   
   double risk_amount = AccountBalance( )*RiskPercent/100;
   double Lot_Step = MarketInfo(Symbol(), MODE_LOTSTEP);
   double ts = MarketInfo(Symbol(), MODE_TICKSIZE);
   double tv = MarketInfo(Symbol(), MODE_TICKVALUE);
   double minlot = MarketInfo(Symbol(), MODE_MINLOT);
         
          
//+-------------------------------------------------------------------------------------+
//| Order Buy Function                                                                  |
//+-------------------------------------------------------------------------------------+   

//Place a pending buystop if no orders exists. Pending or otherwise.
if(direction==0)
{ 
      
      //Get Highest Price in our lookback range and set buy price above it.
      int iTBT = iBarShift(NULL,60, triggerBarTime, true),
      iHH = iHighest(NULL,60, MODE_HIGH, iTBT + CandlesBeforeBiasObtained, 0);
      double Buy_Here = High[iHH] + Buy_Pad;
      double buyPrice= NormalizeDouble(Buy_Here,Digits);
            
      double BuyStopPriceMath = MA - ATR;
      double BuyStopPrice = NormalizeDouble(BuyStopPriceMath,Digits);

      //get our buystop price from below the ma and our takeprofit based on our r:r ratio.
      double pips_to_bsl=buyPrice-BuyStopPrice;
      double buy_tp_price=(pips_to_bsl*RewardRatio)+buyPrice;
      double buy_takeprofit_price= NormalizeDouble(buy_tp_price, Digits);
      
      double loss_for_1_lot = pips_to_bsl/ ts * tv ;
      double LotSize_Buy = MathFloor( risk_amount / loss_for_1_lot/ Lot_Step) * Lot_Step ;

      double btp=buy_takeprofit_price;
      int PositionIndex1;    
      int TotalNumberOfOrders1;   
      TotalNumberOfOrders1 = OrdersTotal();   

      static double Stored_BuyPrice;

      if( OpenOrdersThisPair(Symbol())==0 && LotSize_Buy - minlot > - Point )
         {
         int BuyTicketOrder = OrderSend(Symbol(),OP_BUYSTOP,LotSize_Buy,buyPrice,3,BuyStopPrice,btp,NULL,MagicNumber,0,Green);
         if(BuyTicketOrder == -1)Print("First Buy Order Last Error = ",GetLastError(), " On: ", Symbol());
         if(BuyTicketOrder > 0)Print("FIRST BUY ORDER PLACED: ", Symbol(), " LotSize_Buy is: ", LotSize_Buy );
         } 


また、XAUUSDのライブ口座でticksizeとtickvalueをプリントアウトしたものです。

2013.11.11 06:10:51  V1 - XAUUSD XAUUSD,H1:  Account # (CENSORED) -- leverage is 1:200 -- Account currency is GBP -- Tick Size is: 0.01 -- Tick Value is: 0.01
 

TickSizeとTickvalueはどちらも同じ@0.01でしょうか?0.01は1ティックで、1ティック 動くごとに、最小のポジションサイズでP&Lが0.01セント変動することに相当する...私が米ドル口座を持っていると仮定すれば、それは正確なものだろう...

これは正しいとは思えませんか?

また

"23.64 / 0.01 * 0.01 = 23.64 は誤り、0.01 * 0.01 = 0.0001 と 23.64 / 0.0001 = 236400" となります。

イヤー、このように計算式を分離すれば正しいのですが。

"23.64 / ( 0.01 * 0.01 ) = 236400 "

しかし、It is one constant formulaなので、23.64を出すという意味では正解なのですが・・・。この数字が、正しいポジションサイズを入力することに従って正しい数字であるかどうかということです。

 
DomGilberto:
OKここにそれがある。



ここでは、XAUUSDの下にライブ口座のticksizeとtickvalueの印刷もあります。


すみません、私のさっきの計算は間違っていました ... ...

あなたはまだ、このプリントを生成するコードを示していない ... ...

2013.11.08 23:40:30     2013.06.19 19:00  V1 - XAUUSD XAUUSD,H1:  loss_for_1_lot1 formula: 23.64 / 0.01 * 0.01 = 23.64

... でも、気にしないでください。

ティック値 -預け入れ通貨でのティック値 です。


私の理解は、1標準ロットのために、預金通貨で、1ポイントの価値はいくらですか - XAUUSDのための米ドル口座のための私のチャートでTickValueは1.06908です。

 

え?それは私には何の意味もありません - 私が見ているティック値は、単に0.01を返しているのはなぜですか...。

コードは全て上にあります^?

double loss_for_1_lot = pips_to_bsl/ ts * tv ;

"loss_for_1_lot" は "loss_for_1_lot1" と同じで、買い側にあります。買い側から売り側へめくってすみません。STで最初に表示されたものを、それが買いでも売りでも掴むだけです。

あなたのブローカーはどこですか?私のティック値は、GBP建てであることと関係があるのでしょうか?(混乱中)

 
OK - それでAlpari UKに確認 したところ、これはGBP建ての口座であると返されました...。
2013.11.11 13:57:37     Pip value XAUUSD,H1: Alert:  Tick Value is: 0.0626 -- Tick Size is: 0.001
 
DomGilberto:

え?それは私には何の意味もありません - 私が見ているティック値は、単に0.01を返しているのはなぜですか....

多分あなたのブローカーはそれを台無しにした... ...それは時々起こります。

DomGilberto です。

コードは全てそこにあります^?

"loss_for_1_lot" は "loss_for_1_lot1" と同じですが、買い側にあります... 買い側から売り側まで行ったり来たりしてすみません、STで最初に表示されたものを、それが買いでも売りでも掴むだけなのです...

いや ... Print("loss_for_1_lot1 formula: ", ... ... ) がないんだ .... .

ドン・ジルベルト

あなたのブローカーはどこですか?私のティック値は、GBP建てであることと関係があるのでしょうか?(混乱中)

私はGoMarketsで試してみました。AlpariのGBPアカウントで0.626を得ました . . これを取ってGBPUSDで掛けると、0.626 * 1.5974 = 0.999 なので、これは私の以前の値、米ドルベースのアカウントでの1.06908に一致します。