Prop ticareti - bir aldatmaca mı yoksa herhangi bir anlamı var mı? - sayfa 13 1...6789101112131415161718 Yeni yorum prostotrader 2019.07.16 22:55 #121 Bugün Sberbank'a göre çok az riskle de olsa yayılmayı artırmak için klasik bir durum var. 18-30'da SPOT 234.75'te durdu Vadeli işlemler 23800'e "atladı", 23775'te 5 vadeli sattım Ve SPOT'un 2,75 ruble artmayacağına inanarak yarın 234.75 ve altında (süper durum) SPOT alacağımı bekliyorum. (Kötü bir durum) Her şey yolunda giderse, bu artık yılda %7-8 değil, %23-25'tir. Satın alınan Spread'in (satın alınana göre) yeterince büyük bir hacmi zaten varsa, bu tür eylemler gerçekleştirilebilir. (Başlangıçta spread'i yıllık %8'den satın alarak zaten pozitif bir handikap yarattım) Katma "Div avcısı" nın temettü yakalamayı amaçladığını unutmayın, bu nedenle, kâra temettüler de eklenebilir (eğer düşerse :)), ama ağlar büyük Katma Eh, önerildiği gibi "kuyruk köpeğe hükmetmez" Sberbank'ın 50 lotu (500 hisse) 234.25 ruble'den satın alındı. Kısa gitmenize izin veren Bashneft tercihlerinin alınması gerekiyor STOK haberleri , tahminler Aleksey Vyazmikin 2019.07.17 00:50 #122 prostotrader : Her şey yolunda giderse, bu artık yılda %7-8 değil, %23-25'tir. Şimdi bu ilginç. Akşamları vadeli satın aldınız mı? İlk saatin RTS'de ve dolayısıyla tasarruflarda bir toparlanma olabileceğini kabul ediyorum. Ve sonra, büyük olasılıkla, küresel düşüş devam edecek, ne yazık ki. Tonya almadı ama sattı :) STOK haberleri , tahminler "KASE" MEVCUTTUR!!! [Arşiv] FOREX - Trendler, prostotrader 2019.07.17 03:12 #123 Fikir ve hesaplamaları yayınlamaya devam etmenin bir anlamı yok gibi görünüyor ... Aleksey Vyazmikin 2019.07.17 07:44 #124 prostotrader : Fikir ve hesaplamaları yayınlamaya devam etmenin bir anlamı yok gibi görünüyor ... Neden böyle bir karamsarlık? prostotrader 2019.07.17 09:49 #125 diman1982 için Delta - vadeli işlemler ve spot arasındaki net ruble farkı Kişisel gösterge Aleksey Vyazmikin 2019.07.17 09:54 #126 prostotrader : diman1982 için Delta - vadeli işlemler ve spot arasındaki net ruble farkı Kişisel gösterge Sadece seçkinler için mi yoksa sıraya girmek mümkün mü? Mümkünse, o zaman aşırıyım :) prostotrader 2019.07.17 10:10 #127 Aleksey Vyazmikin : Sadece seçkinler için mi yoksa sıraya girmek mümkün mü? Mümkünse, o zaman aşırıyım :) "return (0);" yerine formülleri kendiniz değiştirin, iyi, derleyin //+------------------------------------------------------------------+ //| 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 double NalDepo = 175 ; //Комиссия депозитария (руб./мес.) input long NFut = 100 ; //Передп. кол-во фьючерсов к продаже 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; double go_buy; }; //--- 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, "-" ); if (str_tire > 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 ; //--- 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 ); int window= ChartWindowFind ( ChartID (), "SPOTvsFUT" ); ObjectCreate ( ChartID (), "SPOTvsFUT_1" , OBJ_LABEL ,window, 0 , 0 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_1" , OBJPROP_YDISTANCE , 15 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_1" , OBJPROP_XDISTANCE , 5 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_1" , OBJPROP_COLOR , clrLime ); ObjectSetString ( ChartID (), "SPOTvsFUT_1" , OBJPROP_TEXT , "Input: 0" ); ObjectCreate ( ChartID (), "SPOTvsFUT_2" , OBJ_LABEL ,window, 0 , 0 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_2" , OBJPROP_YDISTANCE , 30 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_2" , OBJPROP_XDISTANCE , 5 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_2" , OBJPROP_COLOR , clrAqua ); ObjectSetString ( ChartID (), "SPOTvsFUT_2" , OBJPROP_TEXT , "Output: 0" ); ObjectCreate ( ChartID (), "SPOTvsFUT_3" , OBJ_LABEL ,window, 0 , 0 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_3" , OBJPROP_YDISTANCE , 45 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_3" , OBJPROP_XDISTANCE , 5 ); ObjectSetInteger ( ChartID (), "SPOTvsFUT_3" , OBJPROP_COLOR , clrWhite ); ObjectSetString ( ChartID (), "SPOTvsFUT_3" , OBJPROP_TEXT , "Delta: 0" ); //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ // Custom indicator DeInit function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { ObjectDelete ( ChartID (), "SPOTvsFUT_1" ); ObjectDelete ( ChartID (), "SPOTvsFUT_2" ); ObjectDelete ( ChartID (), "SPOTvsFUT_3" ); 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.go_buy = SymbolInfoDouble ( Symbol (), SYMBOL_MARGIN_MAINTENANCE ); 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() { double depocomiss = NalDepo/(NFut * ma_data.fut_lot); double comiss = ma_data.spot_ask * ma_data.fut_lot * BBSpot/ 100 * 2 + BrFut + BiFut * ma_data.fut_bid/ 100 + BrExp + BiExp; double divNalog = Div/ 100 * 13 ; double divWaite = 0 ; if (Div > 0 ) divWaite = ((Div - divNalog) * ma_data.fut_lot * 13 / 100 / 365 * 20 ); return ( 0 ); } //+------------------------------------------------------------------+ // Custom indicator Calc Out Value function | //+------------------------------------------------------------------+ double CalcOutValue() { double comiss = ma_data.spot_bid * ma_data.fut_lot * BBSpot/ 100 + BrFut + BiFut * ma_data.fut_ask/ 100 ; 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 ); inBuff[ 1 ] = - 50 ; outBuff[ 1 ] = 50 ; } //--- 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 ; ObjectSetString ( ChartID (), "SPOTvsFUT_1" , OBJPROP_TEXT , "Input: " + DoubleToString (inBuff[ 0 ], 2 )); ObjectSetString ( ChartID (), "SPOTvsFUT_2" , OBJPROP_TEXT , "Output: " + DoubleToString (outBuff[ 0 ], 2 )); ObjectSetString ( ChartID (), "SPOTvsFUT_3" , OBJPROP_TEXT , "Delta: " + DoubleToString (ma_data.fut_bid - (ma_data.spot_ask * ma_data.fut_lot), 2 )); ChartRedraw ( ChartID ()); //--- return value of prev_calculated for next call event_cnt = rates_total; return (rates_total); } //+------------------------------------------------------------------+ Aleksey Vyazmikin 2019.07.17 10:24 #128 prostotrader : "return (0);" yerine formülleri kendiniz değiştirin, iyi, derleyin Teşekkürler, ama hangi formüllerden bahsediyoruz? Seçim işlevinde olanlar veya ne? Ben bile yıllık olarak verim formülünü göremiyorum ... prostotrader 2019.07.17 10:36 #129 Aleksey Vyazmikin : Teşekkürler, ama hangi formüllerden bahsediyoruz? Seçim işlevinde olanlar veya ne? Ben bile yıllık olarak verim formülünü göremiyorum ... Yani, çalışmak ve kendin için düşünmek istemiyor musun? Aleksey Vyazmikin 2019.07.17 11:03 #130 prostotrader : Yani, çalışmak ve kendin için düşünmek istemiyor musun? Göstergede bu sorunu zaten çözdüğünüzü sanıyordum. 1...6789101112131415161718 Yeni yorum
Bugün Sberbank'a göre çok az riskle de olsa yayılmayı artırmak için klasik bir durum var.
18-30'da SPOT 234.75'te durdu
Vadeli işlemler 23800'e "atladı", 23775'te 5 vadeli sattım
Ve SPOT'un 2,75 ruble artmayacağına inanarak yarın 234.75 ve altında (süper durum) SPOT alacağımı bekliyorum. (Kötü bir durum)
Her şey yolunda giderse, bu artık yılda %7-8 değil, %23-25'tir.
Satın alınan Spread'in (satın alınana göre) yeterince büyük bir hacmi zaten varsa, bu tür eylemler gerçekleştirilebilir.
(Başlangıçta spread'i yıllık %8'den satın alarak zaten pozitif bir handikap yarattım)
Katma
"Div avcısı" nın temettü yakalamayı amaçladığını unutmayın,
bu nedenle, kâra temettüler de eklenebilir (eğer düşerse :)),
ama ağlar büyük
Katma
Eh, önerildiği gibi "kuyruk köpeğe hükmetmez"
Sberbank'ın 50 lotu (500 hisse) 234.25 ruble'den satın alındı.
Her şey yolunda giderse, bu artık yılda %7-8 değil, %23-25'tir.
Şimdi bu ilginç. Akşamları vadeli satın aldınız mı? İlk saatin RTS'de ve dolayısıyla tasarruflarda bir toparlanma olabileceğini kabul ediyorum.
Ve sonra, büyük olasılıkla, küresel düşüş devam edecek, ne yazık ki.
Tonya almadı ama sattı :)
Fikir ve hesaplamaları yayınlamaya devam etmenin bir anlamı yok gibi görünüyor ...
Fikir ve hesaplamaları yayınlamaya devam etmenin bir anlamı yok gibi görünüyor ...
Neden böyle bir karamsarlık?
diman1982 için
Delta - vadeli işlemler ve spot arasındaki net ruble farkı
Kişisel gösterge
diman1982 için
Delta - vadeli işlemler ve spot arasındaki net ruble farkı
Kişisel gösterge
Sadece seçkinler için mi yoksa sıraya girmek mümkün mü? Mümkünse, o zaman aşırıyım :)
Sadece seçkinler için mi yoksa sıraya girmek mümkün mü? Mümkünse, o zaman aşırıyım :)
"return (0);" yerine formülleri kendiniz değiştirin, iyi, derleyin
"return (0);" yerine formülleri kendiniz değiştirin, iyi, derleyin
Teşekkürler, ama hangi formüllerden bahsediyoruz? Seçim işlevinde olanlar veya ne? Ben bile yıllık olarak verim formülünü göremiyorum ...
Teşekkürler, ama hangi formüllerden bahsediyoruz? Seçim işlevinde olanlar veya ne? Ben bile yıllık olarak verim formülünü göremiyorum ...
Yani, çalışmak ve kendin için düşünmek istemiyor musun?
Yani, çalışmak ve kendin için düşünmek istemiyor musun?
Göstergede bu sorunu zaten çözdüğünüzü sanıyordum.