Prop ticareti - bir aldatmaca mı yoksa herhangi bir anlamı var mı? - sayfa 7

 
Yuriy Asaulenko :

Borsada yüz dolar ile oynamamaları hiç akıllıca değil.)

Pek çoğunun aksine oynamıyorum, çalışıyorum , daha doğrusu para kazanıyorum :)

Haklısın, resmi kaldıracağım...

 
Yuriy Asaulenko :

Aslında sıfıra eşit değil. Ama gerçekten küçük.)


Stratejiden bahsettim, %100 risksiz .

Ancak, elbette, komisyoncu yarın kapanabilir ve parayı iade etmeyebilir.

Ve ülkede başka sürprizler olabilir ...

 
prostotrader :

Pek çoğunun aksine oynamıyorum, çalışıyorum , daha doğrusu para kazanıyorum :)

Borsada oynuyorlar.)) Borsada sadece tam zamanlı çalışanlar çalışıyor.) Sporcular da oynuyor ve iyi para kazanıyor. karışmaz.)

 
Yuriy Asaulenko :

Borsada oynuyorlar.)) Borsada sadece tam zamanlı çalışanlar çalışıyor.) Sporcular da oynuyor ve iyi para kazanıyor. karışmaz.)

Benim konseptimde "oyun" - bu DRAIN anlamına geliyor, benim için değil.

Ben tüccar olarak çalışıyorum demeyi tercih ediyorum.

 
prostotrader :

Benim konseptimde "oyun" - bu DRAIN anlamına geliyor, bu benim için değil.

Ben tüccar olarak çalışıyorum demeyi tercih ediyorum.

Bir tüccarın işi borsada oynamaktır.)

Üzgünüm ama bu terminoloji. Hiçbir yere gitmiyorsun.)

 

diman1982 için

Yarın formülü değiştireceğim ve işi kontrol edeceğim, her şey yolundaysa, o zaman

Derlenmiş (hazır) göstergeyi yayınlayacağım

 //+------------------------------------------------------------------+
//|                                                    SPOTvsFUT.mq5 |
//|                                     Copyright 2019, prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, prostotrader"
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots    2
//--- plot Label1
#property indicator_label1    "Input %"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrLime
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- plot Label2
#property indicator_label2    "Output %"
#property indicator_type2    DRAW_LINE
#property indicator_color2    clrAqua
#property indicator_style2    STYLE_SOLID
#property indicator_width2    1
//---
#define on_call - 111
#define YEAR     365
//---
input double StCB     = 7.5 ;     //Ставка ЦБ(%)
input double BBSpot   = 0.025 ;   //Брокер и Биржа СПОТ(%)
input double BrFut    = 0.24 ;   //Брокер ФОРТС(руб.)
input double BiFut    = 0.0066 ; //Биржа ФОРТС(%) 
input double BrExp    = 1.0 ;     //Брокер за эксп.(руб.) 
input double BiExp    = 2.0 ;     //Биржа за зксп.(руб.)
input double Div      = 0 ;       //Дивиденты(руб./акция)
input double NalogDiv = 13 ;     //Налог на дивиденты(%)
input int     aBars    = 40 ;     //Мин. Баров на графике  
//---
struct MARKET_DATA
{
   int exp_day;
   double spot_ask;
   double spot_bid;
   double fut_ask;
   double fut_bid;
   double fut_lot;
   double go_sell;
};
//---
string spot_symbol;
int event_cnt;
MARKET_DATA ma_data;
double inBuff[], outBuff[];
bool spot_book, fut_book;

//+------------------------------------------------------------------+
//| Custom indicator Get Spot name function                          |
//+------------------------------------------------------------------+
string GetSpot( const string fut_name)
{
   string Spot = "" ; 
   if (fut_name != "" )
  {
     int str_tire = StringFind (fut_name, "-" );
     int str_size = StringLen (fut_name);
     if ((str_tire > 0 ) && (str_size > 0 ))
    {
      Spot = StringSubstr (fut_name, 0 , str_tire);
       if (Spot == "GAZR" ) Spot = "GAZP" ; else
       if (Spot == "SBRF" ) Spot = "SBER" ; else
       if (Spot == "SBPR" ) Spot = "SBERP" ; else
       if (Spot == "TRNF" ) Spot = "TRNFP" ; else
       if (Spot == "NOTK" ) Spot = "NVTK" ; else
       if (Spot == "MTSI" ) Spot = "MTSS" ; else
       if (Spot == "GMKR" ) Spot = "GMKN" ; else
       if (Spot == "SNGR" ) Spot = "SNGS" ; else
       if (Spot == "Eu" )   Spot = "EURRUB_TOD" ; else
       if (Spot == "Si" )   Spot = "USDRUB_TOD" ; else
       if (Spot == "SNGP" ) Spot = "SNGSP" ;
    }
  }  
   return (Spot);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{
   int t_bars = Bars ( Symbol (), PERIOD_CURRENT );
   if (t_bars < (aBars + 2 ))
  {
     Alert ( "Не хватает баров на графике!" );
     return ( INIT_FAILED );
  }
  event_cnt = 0 ;
  ma_data.exp_day = GetExpiration( Symbol ());
//---
  spot_symbol = GetSpot( Symbol ());
   if (spot_symbol == "" )
  {
     Alert ( "Не получено имя СПОТа!" );
     return ( INIT_FAILED );
  }
   else
  {
     if ( SymbolSelect (spot_symbol, true ) == false )
    {
       Alert ( "Нет смвола с именем " + spot_symbol + "!" );
       return ( INIT_FAILED );
    }
     else
    {
      spot_book = MarketBookAdd (spot_symbol);
       if (spot_book == false )
      {
         Alert ( "Не добавлен стакан СПОТа!" );
         return ( INIT_FAILED );
      }
    }
  }
  fut_book = MarketBookAdd ( Symbol ());
   if (spot_book == false )
  {
     Alert ( "Не добавлен стакан фьючерса!" );
     return ( INIT_FAILED );
  }   
   IndicatorSetInteger ( INDICATOR_DIGITS , 2 );
   IndicatorSetString ( INDICATOR_SHORTNAME , "SPOTvsFUT" );
//---  
   SetIndexBuffer ( 0 , inBuff, INDICATOR_DATA );
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries (inBuff, true ); 
  
   SetIndexBuffer ( 1 , outBuff, INDICATOR_DATA );
   PlotIndexSetDouble ( 1 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries (outBuff, true );
//---  
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
// Custom indicator DeInit function                                  |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   if (fut_book == true ) MarketBookRelease ( Symbol ());
   if (spot_book == true ) MarketBookRelease (spot_symbol);
   if (reason == REASON_INITFAILED )
  {
     Print ( "Индикатор удалён! Причина - ошибка инициализации." );
     string short_name = ChartIndicatorName ( ChartID (), 1 , 0 );
     ChartIndicatorDelete ( ChartID (), 1 , short_name); 
  }
}
//+------------------------------------------------------------------+
//| Custom indicator Get expiration  function                        |
//+------------------------------------------------------------------+   
int GetExpiration( const string aSymbol)
{
   MqlDateTime ExpData, CurData;
   datetime expir_time = datetime ( SymbolInfoInteger (aSymbol, SYMBOL_EXPIRATION_TIME ));
   TimeToStruct (expir_time, ExpData);
   TimeTradeServer (CurData);
   if (ExpData.year != CurData.year)
  {
     return (YEAR * (ExpData.year - CurData.year) - CurData.day_of_year + ExpData.day_of_year);
  }
   else
  {
     return (ExpData.day_of_year - CurData.day_of_year);
  }
}
//+------------------------------------------------------------------+
// Custom indicator On book event function                           |
//+------------------------------------------------------------------+
void OnBookEvent ( const string & symbol)
{
   if ((symbol == Symbol ()) || (symbol == spot_symbol))
  {
    ma_data.exp_day  = GetExpiration( Symbol ());
    ma_data.fut_ask  = SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
    ma_data.fut_bid  = SymbolInfoDouble ( Symbol (), SYMBOL_BID );
    ma_data.fut_lot  = SymbolInfoDouble ( Symbol (), SYMBOL_TRADE_CONTRACT_SIZE );
    ma_data.go_sell  = SymbolInfoDouble ( Symbol (), SYMBOL_MARGIN_INITIAL );
    ma_data.spot_ask = SymbolInfoDouble (spot_symbol, SYMBOL_ASK );
    ma_data.spot_bid = SymbolInfoDouble (spot_symbol, SYMBOL_BID );
//---    
     double price[]; 
     OnCalculate (event_cnt, event_cnt, on_call, price); 
  }
}
//+------------------------------------------------------------------+
// Custom indicator Calc In Value function                           |
//+------------------------------------------------------------------+
double CalcInValue()
{
//--- TODO ---------  
   return (
0);
}
//+------------------------------------------------------------------+
// Custom indicator Calc Out Value function                          |
//+------------------------------------------------------------------+
double CalcOutValue()
{
//--- TODO --------- 

   return (
0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
{
   if (prev_calculated == 0 )
  {
     ArrayInitialize (inBuff, EMPTY_VALUE );
     ArrayInitialize (outBuff, EMPTY_VALUE );
  }  
//---  
   if (begin == on_call)
  {
     for ( int i = aBars - 1 ; i > 0 ; i--)
    {
      inBuff[i] = inBuff[i - 1 ];
      outBuff[i] = outBuff[i - 1 ];
    }
    inBuff[ 0 ] = CalcInValue(); 
    outBuff[ 0 ] = CalcOutValue();
  }
   else
  {
    inBuff[ 0 ] = inBuff[ 1 ];
    outBuff[ 0 ] = outBuff[ 1 ];
  }
  inBuff[aBars] = EMPTY_VALUE ;
  outBuff[aBars] = EMPTY_VALUE ;
//--- return value of prev_calculated for next call
  event_cnt = rates_total;
   return (rates_total);
}
//+------------------------------------------------------------------+

Katma

Ayarlar, Açıcılar "Yatırımcı+" tarifesine karşılık gelir

Katma

Döviz ticareti yapıyorsanız, TOM'u kullanabilirsiniz (akşam geç saatlere kadar ticaret yapabilirsiniz, ancak kâr yüzdesi daha azdır)

 
" Prostotrader " tarafından açıklanan stratejiye dayanarak, bir danışman çizdim, just2trade'deki tek bir test hesabında kontrol ettim. Prensip olarak, her şey contango vadeli işlemlerde çalışır. yılda %8-12. İhtiyacı olan olursa, kod fragmanda. Çok fazla gereksiz var, çünkü sadece mevcut bir boşluğu değiştiriyordum. Hatalar olabilir. Sanırım ağzına hediye at gibi görünmüyorsun. ) Algoritmayı ve kodu aynı nedenlerle anlatmıyorum. Bunu vadeli işlem tablosuna koyduk, symb - hisse senedi, VM - vadeli işlem güvenlik yüzdesi, DayExp - vadeli işlem son kullanma tarihi, "pDIVi>=12" - yılda %12 kârla giriş.
Dosyalar:
ST.txt  26 kb
 
Yuriy Asaulenko :

Bir tüccarın işi borsada oynamaktır.)

Üzgünüm ama bu terminoloji. Hiçbir yere gitmiyorsun.)

Oyun ve iş nedir? Fark ne?)
Oynamak için çalışmak gerekir, oynamak aynı adamlar için çalışmaktır.
 

diman1982 için

her şey çalışıyor


kişisel gösterge

 
prostotrader :

diman1982 için

her şey çalışıyor


kişisel gösterge

resimde çok güçlü bir şekilde yukarı çıkacak gibi görünüyor