IMG Investor Dnes Bloombergtv Bulgaria On Air Gol Tialoto Az-jenata Puls Teenproblem Automedia Imoti.net Rabota Az-deteto Start.bg Posoka Boec Megavselena.bg Chernomore
Контролен панел | Съобщения | Потребители | Търси
  • If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Съобщение

Collapse
No announcement yet.

Нужда от съвет относно Forex

Collapse
X
  • Филтър
  • Време
  • Покажи
Clear All
new posts

  • Първоначално изпратено от ptj_12345
    Аз съм съгласен със saxten. Даже повече, има зависимости, но те не са видими за всеки и не са 100%-ви. Все пак в определени моменти имат доста добро математическо очакване. Главния момент е да игнорираш всички чужди знания и да изградиш собствена теория само въз основа опита и очите си...

    ptj_12345
    За мое нещастие и аз все още съм на това мнение , но като че ли все повече и повече започвом да се отчайвам по мъничко и да клоня към мненията на Роската и на Мечето, че Фореска е хаотичен и непредсказуем ,но дори и да се убедя в това все пак ми остава приятното усещане ,че това ще е най-любимото ми домашно казино.
    Иначе напоследък някъде из този форум намериих интересна тема за търговия чрез фрактална вилица
    Смотах няколко индикатора и най добрия леко го премодифицирах " да не му стърчат фракталите"
    По доло го закачам комуто е интересно.
    Няма да обяснявам как се търгува с него ще си погледнете из гугъло и сами ще се изучите



    [code]
    //+------------------------------------------------------------------+
    //| mv-i-Chuvashov_1_1.mq4 |
    //| Максим Василенко В. MaxV42 |
    //| http:// |
    //| Индикатор работает по стратегии "Вилка Чувашова". |
    //| Версия 1.1: |
    //| 29.11.2009 Добавлена отрисовка ордеров с алертами. |
    //+------------------------------------------------------------------+
    #property copyright "Максим Василенко В. MaxV42"
    #property link "http://"
    //+---------------------------------------------Black----Aqua----Snow---------+
    #property indicator_chart_window
    #property indicator_buffers 2
    #property indicator_color1 Black
    #property indicator_color2 Black
    #property indicator_width1 1
    #property indicator_width2 1
    //+------------------------------------------------------------------+
    extern string Ind_Coment1= "--- Внешние параметры индикатора ---";
    extern bool ShowFractals = true; // Вкл/выкл значков фракталов
    extern bool OnAlert = false; // Вкл/выкл сигнала
    extern bool OnPrint = false; // Вкл/выкл вывод сигнала в журнале эксперта
    extern int nVilka.Upper = 1; // Количество выводимых восходящих "вилок"
    extern int nVilka.Lower = 1; // Количество выводимых нисходящих "вилок"
    extern color Color.LineUpper = Aqua; // Цвет восходящих "вилок"
    extern color Color.LineLower = Snow; // Цвет нисходящих "вилок"
    extern int Width.LineUpper = 2; // Ширина восходящих "вилок"
    extern int Width.LineLower = 2; // Ширина нисходящих "вилок"
    extern string Ind_Coment2= "--- Параметры отображения ордеров ---";
    extern bool OnAlert.Orders = true; // Вкл/выкл сигнала
    extern color Color.OrderBuy = Snow; // Цвет ордеров на покупку
    extern color Color.OrderSell = Aqua; // Цвет ордеров на продажу
    extern int Width.OrderBuy = 2; // Ширина ордеров на покупку
    extern int Width.OrderSell = 2; // Ширина ордеров на продажу
    extern color Color.SLBuy = Snow; // Цвет стоплосса на покупку
    extern color Color.SLSell = Aqua; // Цвет стоплосса на продажу
    extern int Orders.FontSize = 12; // Размер шрифта ордеров
    //+------------------------------------------------------------------+
    // глобальные переменные
    int nLine.Upper = 0, // Количество трендовых линий, направленных вверх
    nLine.Lower = 0, // Количество трендовых линий, направленных вниз
    nBars = 0; //
    datetime mLineUpper.DateTime[][2]; // массив с параметрами восходящих "вилок"
    // mLineUpper.DateTime[i][0] // Время первой координаты
    // mLineUpper.DateTime[i][1] // Время второй координаты
    double mLineUpper.Price[][2]; // массив с параметрами восходящих "вилок"
    // mLineUpper.Price[i][0] // Цена первой координаты
    // mLineUpper.Price[i][1] // Цена второй координаты
    datetime mLineLower.DateTime[][2]; // массив с параметрами нисходящих "вилок"
    // mLineLower.DateTime[i][0] // Время первой координаты
    // mLineLower.DateTime[i][1] // Время второй координаты
    double mLineLower.Price[][2]; // массив с параметрами нисходящих "вилок"
    // mLineLower.Price[i][0] // Цена первой координаты
    // mLineLower.Price[i][1] // Цена второй координаты
    int mOrders[2][1]; // массив с параметрами "открытых" позиций
    // mOrders[0][0] // Buy - 0-нет ордера, 10-есть ордер
    // mOrders[1][0] // Sell- 0-нет ордера, 20-есть ордер
    //----- buffers
    double ExtMapBuffer1[];
    double ExtMapBuffer2[];
    //+------------------------------------------------------------------+
    void init() { // Custom indicator initialization function
    int Qnt=ObjectsTotal();
    // ----- Indicators Properties
    SetIndexStyle(0,DRAW_ARROW);
    SetIndexArrow(0,217);
    SetIndexBuffer(0,ExtMapBuffer1);
    SetIndexEmptyValue(0,0.0);
    SetIndexStyle(1,DRAW_ARROW);
    SetIndexArrow(1,218);
    SetIndexBuffer(1,ExtMapBuffer2);
    SetIndexEmptyValue(1,0.0);
    // ----- Name for DataWindow and indicator subwindow label
    IndicatorShortName("Fractals");
    SetIndexLabel(0,"FractalsUp");
    SetIndexLabel(1,"FractalsDown");
    // ----- устанавливаем количество элементов в массивах трендовых линий
    ArrayResize(mLineUpper.DateTime,nVilka.Upper*2); ArrayResize(mLineUpper.Price,nVilka.Upper*2);
    ArrayResize(mLineLower.DateTime,nVilka.Lower*2); ArrayResize(mLineLower.Price,nVilka.Lower*2);
    return;
    }

    //+------------------------------------------------------------------+
    void deinit() { // Custom indicator deinitialization function
    int Qnt=ObjectsTotal();
    // ----- Удаляем трендовые линии
    for (int i=0; i<Qnt; i++) { // Цикл по объектам
    if(StringFind(ObjectName(i),"Line.Upper",0)>=0) {
    ObjectDelete(ObjectName(i)); // направленные вверх
    i--; continue;
    }
    if(StringFind(ObjectName(i),"Line.Lower",0)>=0) {
    ObjectDelete(ObjectName(i)); // направленные вниз
    i--; continue;
    }
    if(i>=ObjectsTotal()) break;
    }
    DeleteOrders(10); DeleteOrders(20);
    return;
    }

    //+------------------------------------------------------------------+
    void start() { // Custom indicator iteration function
    int counted_bars=IndicatorCounted();
    int limit;
    int Spred=MarketInfo(Symbol(),MODE_SPREAD);
    // новый бар не появился
    if(!isNewBar()) return;
    // ----- Последний посчитанный бар будет пересчитан
    if (counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;
    // ----- Основной цикл
    //for (int i=limit; i>2; i--) {
    for (int i=limit; i>=0; i--) {
    if(ShowFractals) { // отображаем bракталы на графике
    ExtMapBuffer1[i]=iFractals(NULL,0,MODE_UPPER,i)+Spred*Point;
    ExtMapBuffer2[i]=iFractals(NULL,0,MODE_LOWER,i)-Spred*Point;
    }
    //---- Блок Upper-фракталов (нисходящие "вилки")
    if (iFractals(NULL,0,MODE_UPPER,i)!=0) {
    if(LowerVilka(i)) {
    if(OnAlert) Alert(Symbol(),Period()," Нисходящая вилка! ",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
    if(OnPrint) Print(Symbol(),Period()," Нисходящая вилка! ",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
    }
    }
    //---- Блок Lower-фракталов (восходящие "вилки")
    if (iFractals(NULL,0,MODE_LOWER,i)!=0) {
    if(UpperVilka(i)) {
    if(OnAlert) Alert(Symbol(),Period()," Восходящая вилка! ",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
    if(OnPrint) Print(Symbol(),Period()," Восходящая вилка! ",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
    }
    }
    //----- пересечение нисходящей "вилки" - сигнал на покупку
    if(mOrders[0][0]==0 && (Close[i+1]>ObjectGetValueByShift("Line.Lower1",i+1) ||
    Open[i]>ObjectGetValueByShift("Line.Lower1",i))) {
    DrawOrdersBuy(i);
    if(OnAlert.Orders) {
    //Alert(Symbol(),Period(),": Сигнал на покупку! ",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
    }
    }
    //----- пересечение восходящей "вилки" - сигнал на продажу
    if(mOrders[1][0]==0 && (Close[i+1]<ObjectGetValueByShift("Line.Upper1",i+1) ||
    Open[i]<ObjectGetValueByShift("Line.Upper1",i))) {
    DrawOrdersSell(i);
    if(OnAlert.Orders) {
    // Alert(Symbol(),Period(),": Сигнал на продажу! ",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
    }
    }
    }


    return;
    }

    //+-------- // Функция определяет и рисует восходящие "вилки"----------------------------------------------------------+
    bool UpperVilka(int nBar) {
    int j=0;
    double Fractal.Lower=0;
    double mFractals.Price[3];
    datetime mFractals.DateTime[3];
    // ----- заполняем массивы информацией о последних трех фракталах
    ArrayInitialize(mFractals.Price,0); ArrayInitialize(mFractals.DateTime,0);
    for (int i=nBar; i<Bars; i++) { // Цикл по барам
    Fractal.Lower=iFractals(NULL,0,MODE_LOWER,i);
    if(Fractal.Lower!=0) {
    mFractals.Price[j]=Fractal.Lower-MarketInfo(Symbol(),MODE_SPREAD)*Point;
    mFractals.DateTime[j]=Time[i];
    j++;
    }
    if(j>2) break;
    }
    // ----- рисуем восходящую "вилку"
    if(mFractals.Price[2]<mFractals.Price[1] && mFractals.Price[1]<mFractals.Price[0]) {
    string Name1="Line.Upper"+DoubleToStr(nLine.Upper,0); nLine.Upper++;
    string Name2="Line.Upper"+DoubleToStr(nLine.Upper,0); nLine.Upper++;

    ObjectCreate(Name1,OBJ_TREND,0,mFractals.DateTime[2],mFractals.Price[2],mFractals.DateTime[1],mFractals.Price[1]);
    ObjectCreate(Name2,OBJ_TREND,0,mFractals.DateTime[1],mFractals.Price[1],mFractals.DateTime[0],mFractals.Price[0]);
    if (ObjectGetValueByShift(Name1,nBar)<ObjectGetValueB yShift(Name2,nBar)) {
    ObjectDelete(Name1); ObjectDelete(Name2); nLine.Upper--; nLine.Upper--; return(false);
    }
    ObjectSet(Name1,OBJPROP_COLOR,Color.LineUpper); ObjectSet(Name2,OBJPROP_COLOR,Color.LineUpper);
    ObjectSet(Name1,OBJPROP_WIDTH,Width.LineUpper); ObjectSet(Name2,OBJPROP_WIDTH,Width.LineUpper);
    ObjectSet(Name1,OBJPROP_RAY,True); ObjectSet(Name2,OBJPROP_RAY,True);
    CheckNumVilka(10);
    // ----- снимаем флаг "открытого" ордера на продажу
    mOrders[1][0]=0;
    // ----- удаляем предыдущий ордер на продажу
    DeleteOrders(20);
    return(true);
    }
    return(false);
    }

    //+---------- // Функция определяет и рисует нисходящие "вилки"------------------+
    bool LowerVilka(int nBar) {
    int j=0;
    double Fractal.Upper=0;
    double mFractals.Price[3];
    datetime mFractals.DateTime[3];
    // ----- заполняем массивы информацией о последних трех фракталах
    ArrayInitialize(mFractals.Price,0); ArrayInitialize(mFractals.DateTime,0);
    for (int i=nBar; i<Bars; i++) { // Цикл по барам
    Fractal.Upper=iFractals(NULL,0,MODE_UPPER,i);
    if(Fractal.Upper!=0) {
    mFractals.Price[j]=Fractal.Upper+MarketInfo(Symbol(),MODE_SPREAD)*Po int;
    mFractals.DateTime[j]=Time[i];
    j++;
    }
    if(j>2) break;
    }
    // ----- рисуем нисходящие "вилку"
    if(mFractals.Price[2]>mFractals.Price[1] && mFractals.Price[1]>mFractals.Price[0]) {
    string Name1="Line.Lower"+DoubleToStr(nLine.Lower,0); nLine.Lower++;
    string Name2="Line.Lower"+DoubleToStr(nLine.Lower,0); nLine.Lower++;

    ObjectCreate(Name1,OBJ_TREND,0,mFractals.DateTime[2],mFractals.Price[2],mFractals.DateTime[1],mFractals.Price[1]);
    ObjectCreate(Name2,OBJ_TREND,0,mFractals.DateTime[1],mFractals.Price[1],mFractals.DateTime[0],mFractals.Price[0]);
    if (ObjectGetValueByShift(Name1,nBar)>ObjectGetValueB yShift(Name2,nBar)) {
    ObjectDelete(Name1); ObjectDelete(Name2); nLine.Lower--; nLine.Lower--; return(false);
    }
    ObjectSet(Name1,OBJPROP_COLOR,Color.LineLower); ObjectSet(Name2,OBJPROP_COLOR,Color.LineLower);
    ObjectSet(Name1,OBJPROP_WIDTH,Width.LineLower); ObjectSet(Name2,OBJPROP_WIDTH,Width.LineLower);
    ObjectSet(Name1,OBJPROP_RAY,True); ObjectSet(Name2,OBJPROP_RAY,True);
    CheckNumVilka(20);
    // ----- снимаем флаг "открытого" ордера на покупку
    mOrders[0][0]=0;
    // ----- удаляем предыдущий ордер на покупку
    DeleteOrders(10);
    return(true);
    }
    return(false);
    }

    //+--// Функция возвращает true, если появиться новый бар, иначе false
    bool isNewBar() {
    if(nBars!=Bars) {
    nBars=Bars; return(true);
    }
    return(false);
    }

    // Функция проверяет допустимое количество вилок указанного типа
    int i;
    void CheckNumVilka(int Type) {
    switch(Type) {
    case 10:
    //--------------------------------------------------------- 1 --
    if(nLine.Upper<=nVilka.Upper*2) {
    mLineUpper.DateTime[nLine.Upper-2][0]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_TIME1);
    mLineUpper.DateTime[nLine.Upper-2][1]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_TIME2);
    mLineUpper.Price[nLine.Upper-2][0]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_PRICE1);
    mLineUpper.Price[nLine.Upper-2][1]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_PRICE2);
    //+------------------------------------------------------------------+
    mLineUpper.DateTime[nLine.Upper-1][0]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_TIME1);
    mLineUpper.DateTime[nLine.Upper-1][1]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_TIME2);
    mLineUpper.Price[nLine.Upper-1][0]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_PRICE1);
    mLineUpper.Price[nLine.Upper-1][1]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_PRICE2);
    }
    //--------------------------------------------------------- 2 --
    if(nLine.Upper >nVilka.Upper*2) {
    for (i=0; i<nLine.Upper-4; i++) {
    mLineUpper.DateTime[i][0]=mLineUpper.DateTime[i+2][0]; mLineUpper.DateTime[i][1]=mLineUpper.DateTime[i+2][1];
    mLineUpper.Price[i][0]=mLineUpper.Price[i+2][0]; mLineUpper.Price[i][1]=mLineUpper.Price[i+2][1];
    }
    mLineUpper.DateTime[nLine.Upper-4][0]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_TIME1);
    mLineUpper.DateTime[nLine.Upper-4][1]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_TIME2);
    mLineUpper.Price[nLine.Upper-4][0]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_PRICE1);
    mLineUpper.Price[nLine.Upper-4][1]=ObjectGet("Line.Upper"+(nLine.Upper-2),OBJPROP_PRICE2);
    //+------------------------------------------------------------------+
    mLineUpper.DateTime[nLine.Upper-3][0]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_TIME1);
    mLineUpper.DateTime[nLine.Upper-3][1]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_TIME2);
    mLineUpper.Price[nLine.Upper-3][0]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_PRICE1);
    mLineUpper.Price[nLine.Upper-3][1]=ObjectGet("Line.Upper"+(nLine.Upper-1),OBJPROP_PRICE2);
    //+------------------------------------------------------------------+
    ObjectDelete("Line.Upper"+(nLine.Upper-2)); ObjectDelete("Line.Upper"+(nLine.Upper-1));
    nLine.Upper--;nLine.Upper--;
    //+------------------------------------------------------------------+
    for (i=0; i<nLine.Upper; i++) {
    ObjectMove("Line.Upper"+i,0,mLineUpper.DateTime[i][0],mLineUpper.Price[i][0]);
    ObjectMove("Line.Upper"+i,1,mLineUpper.DateTime[i][1],mLineUpper.Price[i][1]);
    }
    }
    break; // это добавил после внимательного прочтения справки
    case 20:
    //--------------------------------------------------------- 1 --
    if(nLine.Lower<=nVilka.Lower*2) {
    mLineLower.DateTime[nLine.Lower-2][0]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_TIME1);
    mLineLower.DateTime[nLine.Lower-2][1]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_TIME2);
    mLineLower.Price[nLine.Lower-2][0]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_PRICE1);
    mLineLower.Price[nLine.Lower-2][1]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_PRICE2);
    //+------------------------------------------------------------------+
    mLineLower.DateTime[nLine.Lower-1][0]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_TIME1);
    mLineLower.DateTime[nLine.Lower-1][1]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_TIME2);
    mLineLower.Price[nLine.Lower-1][0]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_PRICE1);
    mLineLower.Price[nLine.Lower-1][1]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_PRICE2);
    }
    //--------------------------------------------------------- 2 --
    if(nLine.Lower >nVilka.Lower*2) {
    for (i=0; i<nLine.Lower-4; i++) {
    mLineLower.DateTime[i][0]=mLineLower.DateTime[i+2][0]; mLineLower.DateTime[i][1]=mLineLower.DateTime[i+2][1];
    mLineLower.Price[i][0]=mLineLower.Price[i+2][0]; mLineLower.Price[i][1]=mLineLower.Price[i+2][1];
    }
    mLineLower.DateTime[nLine.Lower-4][0]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_TIME1);
    mLineLower.DateTime[nLine.Lower-4][1]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_TIME2);
    mLineLower.Price[nLine.Lower-4][0]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_PRICE1);
    mLineLower.Price[nLine.Lower-4][1]=ObjectGet("Line.Lower"+(nLine.Lower-2),OBJPROP_PRICE2);
    //+------------------------------------------------------------------+
    mLineLower.DateTime[nLine.Lower-3][0]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_TIME1);
    mLineLower.DateTime[nLine.Lower-3][1]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_TIME2);
    mLineLower.Price[nLine.Lower-3][0]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_PRICE1);
    mLineLower.Price[nLine.Lower-3][1]=ObjectGet("Line.Lower"+(nLine.Lower-1),OBJPROP_PRICE2);
    //+------------------------------------------------------------------+
    ObjectDelete("Line.Lower"+(nLine.Lower-2)); ObjectDelete("Line.Lower"+(nLine.Lower-1));
    nLine.Lower--;nLine.Lower--;
    //+------------------------------------------------------------------+
    for (i=0; i<nLine.Lower; i++) {
    ObjectMove("Line.Lower"+i,0,mLineLower.DateTime[i][0],mLineLower.Price[i][0]);
    ObjectMove("Line.Lower"+i,1,mLineLower.DateTime[i][1],mLineLower.Price[i][1]);
    }
    }
    break; // это добавил после внимательного прочтения справки
    }
    return;
    }

    //+------------------------------------------------------------------+
    void DeleteOrders(int Type) { // Функция удаляет ордера указанного типа
    if(Type==10) {
    //--------------------------------------------------------- 1 --
    ObjectDelete("Order.Buy"); ObjectDelete("OrderArrow.Buy");
    ObjectDelete("StopLoss.Buy"); ObjectDelete("StopLossArrow.Buy");
    ObjectDelete("LabelPrice.Buy"); ObjectDelete("LabelStopLoss.Buy");
    }
    if(Type==20) {
    //--------------------------------------------------------- 2 --
    ObjectDelete("Order.Sell"); ObjectDelete("OrderArrow.Sell");
    ObjectDelete("StopLoss.Sell"); ObjectDelete("StopLossArrow.Sell");
    ObjectDelete("LabelPrice.Sell"); ObjectDelete("LabelStopLoss.Sell");
    }
    /* Не мог понять, почему выполняются оба оператора при вызове функции с параметром Type=10 пока не прочитал это:
    Ключевое слово case вместе с константой служат просто метками, и если будут выполняться операторы
    для некоторого варианта case, то далее будут выполняться операторы всех последующих вариантов до тех пор,
    пока не встретится оператор break, что позволяет связывать одну последовательность операторов с несколькими вариантами
    */
    /* Я раньше писал на VB6 там выполняется только один оператор - для которого совпадает метка!
    */
    /*
    switch(Type) {
    case 10:
    //--------------------------------------------------------- 1 --
    ObjectDelete("Order.Buy"); ObjectDelete("OrderArrow.Buy");
    ObjectDelete("StopLoss.Buy"); ObjectDelete("StopLossArrow.Buy");
    ObjectDelete("LabelPrice.Buy"); ObjectDelete("LabelStopLoss.Buy");
    break; // это добавил после внимательного прочтения справки
    case 20:
    //--------------------------------------------------------- 2 --
    ObjectDelete("Order.Sell"); ObjectDelete("OrderArrow.Sell");
    ObjectDelete("StopLoss.Sell"); ObjectDelete("StopLossArrow.Sell");
    ObjectDelete("LabelPrice.Sell"); ObjectDelete("LabelStopLoss.Sell");
    break; // это добавил после внимательного прочтения справки
    }
    */
    return;
    }

    //+------------------------------------------------------------------+
    void DrawOrdersBuy(int nBar) { // Функция рисут ордера Buy
    double Price.Buy=Open[nBar];
    double StopLoss.Buy;
    // ----- удаляем предыдущий ордер на покупку
    DeleteOrders(10);
    // ----- рисуем ордер на покупку
    ObjectCreate("Order.Buy",OBJ_TREND,0,Time[nBar+25],Price.Buy,Time[nBar],Price.Buy);
    ObjectCreate("OrderArrow.Buy",OBJ_ARROW,0,Time[nBar+23],Price.Buy);
    ObjectSet("Order.Buy",OBJPROP_COLOR,Color.OrderBuy ); ObjectSet("OrderArrow.Buy",OBJPROP_COLOR,Color.Ord erBuy);
    ObjectSet("Order.Buy",OBJPROP_WIDTH,Width.OrderBuy ); ObjectSet("OrderArrow.Buy",OBJPROP_WIDTH,Width.Ord erBuy);
    ObjectSet("Order.Buy",OBJPROP_RAY,false); ObjectSet("OrderArrow.Buy",OBJPROP_ARROWCODE,225);
    ObjectCreate("LabelPrice.Buy",OBJ_TEXT,0,Time[nBar+10],Price.Buy);
    ObjectSetText("LabelPrice.Buy","Buy: "+DoubleToStr(Price.Buy,Digits),Orders.FontSiz e, "Times New Roman",
    Color.OrderBuy);
    // ----- рисуем стоплос на покупку
    for (int i=nBar; i<Bars; i++) { // Цикл по барам
    StopLoss.Buy=iFractals(NULL,0,MODE_LOWER,i);
    if(StopLoss.Buy!=0) {
    StopLoss.Buy=StopLoss.Buy-MarketInfo(Symbol(),MODE_SPREAD)*Point;
    break;
    }
    }
    ObjectCreate("StopLoss.Buy",OBJ_TREND,0,Time[nBar+25],StopLoss.Buy,Time[nBar],StopLoss.Buy);
    ObjectCreate("StopLossArrow.Buy",OBJ_ARROW,0,Time[nBar+23],StopLoss.Buy);
    ObjectSet("StopLoss.Buy",OBJPROP_COLOR,Color.SLBuy ); ObjectSet("StopLossArrow.Buy",OBJPROP_COLOR,Color. SLBuy);
    ObjectSet("StopLoss.Buy",OBJPROP_WIDTH,Width.Order Buy); ObjectSet("StopLossArrow.Buy",OBJPROP_WIDTH,Width. OrderBuy);
    ObjectSet("StopLoss.Buy",OBJPROP_RAY,false); ObjectSet("StopLossArrow.Buy",OBJPROP_ARROWCODE,25 1);
    ObjectCreate("LabelStopLoss.Buy",OBJ_TEXT,0,Time[nBar+10],StopLoss.Buy);
    ObjectSetText("LabelStopLoss.Buy","SL Buy: "+DoubleToStr(StopLoss.Buy,Digits),Orders.FontSize , "Times New Roman",
    Color.SLBuy);
    // ----- устанавливаем флаг "открытого" ордера на покупку
    mOrders[0][0]=10;

    return;
    }

    //+------------------------------------------------------------------+
    void DrawOrdersSell(int nBar) { // Функция рисут ордера Sell
    double Price.Sell=Open[nBar];
    double StopLoss.Sell;
    // ----- удаляем предыдущий ордер на продажу
    DeleteOrders(20);
    // ----- рисуем ордер на продажу
    ObjectCreate("Order.Sell",OBJ_TREND,0,Time[nBar+25],Price.Sell,Time[nBar],Price.Sell);
    ObjectCreate("OrderArrow.Sell",OBJ_ARROW,0,Time[nBar+23],Price.Sell+10*Point);
    ObjectSet("Order.Sell",OBJPROP_COLOR,Color.OrderSe ll); ObjectSet("OrderArrow.Sell",OBJPROP_COLOR,Color.Or derSell);
    ObjectSet("Order.Sell",OBJPROP_WIDTH,Width.OrderSe ll); ObjectSet("OrderArrow.Sell",OBJPROP_WIDTH,Width.Or derSell);
    ObjectSet("Order.Sell",OBJPROP_RAY,false); ObjectSet("OrderArrow.Sell",OBJPROP_ARROWCODE,226) ;
    ObjectCreate("LabelPrice.Sell",OBJ_TEXT,0,Time[nBar+10],Price.Sell+10*Point);
    ObjectSetText("LabelPrice.Sell","Sell: "+DoubleToStr(Price.Sell,Digits),Orders.FontSi ze, "Times New Roman",
    Color.OrderSell);
    // ----- рисуем стоплос на продажу
    for (int i=nBar; i<Bars; i++) { // Цикл по барам
    StopLoss.Sell=iFractals(NULL,0,MODE_UPPER,i);
    if(StopLoss.Sell!=0) {
    StopLoss.Sell=StopLoss.Sell+MarketInfo(Symbol(),MO DE_SPREAD)*Point;
    break;
    }
    }
    ObjectCreate("StopLoss.Sell",OBJ_TREND,0,Time[nBar+25],StopLoss.Sell,Time[nBar],StopLoss.Sell);
    ObjectCreate("StopLossArrow.Sell",OBJ_ARROW,0,Time[nBar+23],StopLoss.Sell+10*Point);
    ObjectSet("StopLoss.Sell",OBJPROP_COLOR,Color.SLSe ll); ObjectSet("StopLossArrow.Sell",OBJPROP_COLOR,Color .SLSell);
    ObjectSet("StopLoss.Sell",OBJPROP_WIDTH,Width.Orde rSell);ObjectSet("StopLossArrow.Sell",OBJPROP_WIDT H,Width.OrderSell);
    ObjectSet("StopLoss.Sell",OBJPROP_RAY,false); ObjectSet("StopLossArrow.Sell",OBJPROP_ARROWCODE,2 51);
    ObjectCreate("LabelStopLoss.Sell",OBJ_TEXT,0,Time[nBar+10],StopLoss.Sell+10*Point);
    ObjectSetText("LabelStopLoss.Sell","SL Sell: "+DoubleToStr(StopLoss.Sell,Digits),Orders.FontSiz e, "Times New Roman",
    Color.SLSell);
    // ----- устанавливаем флаг "открытого" ордера на продажу
    mOrders[1][0]=20;

    return;}
    //================================================== ======
    [/code]

    Коментар


    • Аз съм съгласен със saxten. Даже повече, има зависимости, но те не са видими за всеки и не са 100%-ви. Все пак в определени моменти имат доста добро математическо очакване. Главния момент е да игнорираш всички чужди знания и да изградиш собствена теория само въз основа опита и очите си...

      Коментар


      • Re: матем очакване при форекс

        Първоначално изпратено от phillips
        Първоначално изпратено от saxsten
        Безпорен факт е ,че математическото очакване при форекса е по малко от 50%
        По това той си прилича с останалите хазартни игри.
        Отрицателното матем очакване на първо место се формира от спреда на брокера
        и от очакваната печалба или загуба в пипсове
        Например ако е спреда е 2 пипса и очакваш печалба средно от 10 пипса на сделка то при печалба имаш +80% а при загуба -120% и тъй като сделкитпе са две едната печеливша а другата губеша ,очевидно отрицателното мат очакване в тоз частен случай е -20%...
        хайде да видим колко пък толкова е безспорен този факт ... ако очакваш средно 10 пипса на сделка печалба, при 2 пипса спред, защо точно реши че имаме +80% при печалба и -120% при загуба? имам подозрението че си мислиш така, защото очакваш 10 пипса и при загуба... правилно ли ми е подозрението?... и защо точно 10 пипса очакваш при загуба?... именно това се опитах да обясня и на алекс... вероятностите не са еднакви... защото има условия, при които можеш да постигнеш средна печалба на сделка 10 пипса и средна загуба на сделка 3 пипса... тогава сметките как биха изглеждали? дали МО все още ще е отрицателно, въпреки спреда?...

        П.П. Стоилов, толкова ли неразбираемо съм го написал, та е трудно да се схване за какво става дума?

        П.П.2. всички, които смятате, че форекса е нищо повече от хазарт... не ви ли прави впечатление, че регулациите на финансовите пазари са под отделен надзор от хазартните игри?!... наистина ли смятате, че държавите нямат капацитет да определят кое е хазарт и кое не и биха харчили излишно средства за отделни надзорни структури?!... не съм чул за нито една банка, да е регулирана от надзорници по хазарта, за нито един брокер, за нито една борса, за нито един търговец... дали пък доносниците не са ми слаби?!...

        Филипс...
        Приятно ми е че си обърнал внимание на моето така наречено "наблюдение"
        Разбира се че очаквам или да спечеля 10 п или да ги изгубя ,така се формира, до колкото си спомням едно от основните понятия в ТВ: пълното множество от възможните събития. В случая то се състои от две събития: печалба до 10 п и загуба до - 10 п
        За различно от 10 пипса не говорим защото задачата се усложнява и множеството от всички възможни събития се разширява.
        За този тривиален и преднамерено ограничен пример логиката показва +80 и -120 % матем очакване.
        Но стига за това.
        Искам за добавя, че според мен, в основата на техническият анализ стои негласната хипотеза, че пазарът ще върви ,както е вървял до сега...
        Да вземем примерно каквото и да е МА : когато сочи нагоре говорим за бичи базар и като е надоло мечи пазар .
        Но какво е МА -нищо повече от някакво средно движение на цената в миналото тоест негласната хипотеза че тя, цената ще се държи така ,както се е държала преди, е вече изпълнена.
        Оставям на Вас да прецените до колко това е вярно
        Ако някому се стори, че това е някоя добре скрита и завоалирана измама ,то той с право ще каже: "Форекса е хазарт!!!!"
        Обратно ,ако си мисли или вярва ,че в движението на валутата има някакви зависимости и корелации които се проявяват системно и периодично ,то тогава за него Форекса не ще е хазарг, а професия, и той ще се опитва да намери логиката на тези движения изследвайки миналите графики на валутата.
        Това всъщност прави и ТА : търси корелации в движенията на валутата на базата изминал период.
        При фундаментален анализ нещата ,според мен ,са сходни: на базата НА МИНАЛИЛИ макроикономически събития се строи логика за бъдещото поведения на пазара
        Останалото е от Лукавия ...

        Коментар


        • не трябва напълно да се ръководим от новините, понякога ни изиграват лоша шега

          Коментар


          • Първоначално изпратено от phillips
            Първоначално изпратено от bokogega
            Явно не ме разбра или аз не се изразих ясно имах в предвит,че когато даден бар прави пробив,на дъно или връх,по неговата големина можем да съдим дали наистина пробива е успешен или е фалшив.Незнам дали стана ясно,дано си ме разбрал.
            ее да, сега те разбрах... принципно размера на бара е хубава информация, не само при пробив ... но по-скоро става дума за предположение, което може да бъде направено, а не за реална информация... логично е да предположиш къде са по-големите обеми например, но няма точност информацията, това исках да кажа... иначе си прав, нали за това се занимаваме с баркода ...
            Най-после и аз да напиша нещо смислено и другите да ме разберат
            "църна му земя - невеста, тънка му пушка - зълвица, я чифт пищови - девери"

            Коментар


            • Първоначално изпратено от bokogega
              Явно не ме разбра или аз не се изразих ясно имах в предвит,че когато даден бар прави пробив,на дъно или връх,по неговата големина можем да съдим дали наистина пробива е успешен или е фалшив.Незнам дали стана ясно,дано си ме разбрал.
              ее да, сега те разбрах... принципно размера на бара е хубава информация, не само при пробив ... но по-скоро става дума за предположение, което може да бъде направено, а не за реална информация... логично е да предположиш къде са по-големите обеми например, но няма точност информацията, това исках да кажа... иначе си прав, нали за това се занимаваме с баркода ...
              trades better because of
              [url=http://www.youtube.com/watch?v=K7cUP97Psyw]a-ha - crying in the rain[

              Коментар


              • Първоначално изпратено от phillips
                Първоначално изпратено от bokogega
                Филипс,относно обемите донякъде си прав,но според мен обема може да го отчетем по самия бар,може и да не съм прав,не е препоръка
                не си прав ... няма обеми... можеш да си гадаеш по броя тикове разни неща... но ще си е именно това... зарежи глупостите за обемите... във форекса сме принудени да се справяме без тях... не че на другите пазари с тях се справят много по-добре ...
                Явно не ме разбра или аз не се изразих ясно имах в предвит,че когато даден бар прави пробив,на дъно или връх,по неговата големина можем да съдим дали наистина пробива е успешен или е фалшив.Незнам дали стана ясно,дано си ме разбрал.
                "църна му земя - невеста, тънка му пушка - зълвица, я чифт пищови - девери"

                Коментар


                • Първоначално изпратено от bokogega
                  Филипс,относно обемите донякъде си прав,но според мен обема може да го отчетем по самия бар,може и да не съм прав,не е препоръка
                  не си прав ... няма обеми... можеш да си гадаеш по броя тикове разни неща... но ще си е именно това... зарежи глупостите за обемите... във форекса сме принудени да се справяме без тях... не че на другите пазари с тях се справят много по-добре ...
                  trades better because of
                  [url=http://www.youtube.com/watch?v=K7cUP97Psyw]a-ha - crying in the rain[

                  Коментар


                  • Първоначално изпратено от bokogega
                    ....но според мен обема може да го отчетем по самия бар,може и да не съм прав,не е препоръка
                    Не можеш, ще се заблудиш сериозно.

                    Поздрави !
                    Безмоторен форекс птеродактил говорещ за себе си в 3-то ЛИЦЕ, със непостоянна маниакална депресия, п

                    Коментар


                    • Първоначално изпратено от phillips
                      Първоначално изпратено от alex1001111
                      phillips с теб ... е удоволствие човек да общува.
                      благодаря ти ... и аз общувам с всички вас с удоволствие, макар понякога арогантността да е в повече за моя вкус ... нормално е да има различни гледни точки... важното е да си ги дискутираме нормално, не е необходимо излишно да се величаем и обиждаме ...

                      Първоначално изпратено от alex1001111
                      я кажете колко от пишещите тук смятат тиковия обем за изтъргуван обем?
                      във форекса няма обеми... това което показват някои платформи е броят получени тикове... някои брокери отидоха по-далеч и показват някаква част от своите клиентски сделки и го наричат левъл две... големите провайдъри на ликвидност дават също известна доза добра информация в тази насока, но пак непълна... истината е че банките крият тази информация и който ви каже че ви дава реален изтъргуван обем във форекса, просто му пожелайте лек ден и дим да ви няма ...
                      Филипс,относно обемите донякъде си прав,но според мен обема може да го отчетем по самия бар,може и да не съм прав,не е препоръка
                      "църна му земя - невеста, тънка му пушка - зълвица, я чифт пищови - девери"

                      Коментар


                      • Първоначално изпратено от alex1001111
                        phillips с теб и с ManUtd е удоволствие човек да общува.
                        Филипс,Ман-е,МОЛЯ ВИ,общувайте по често с този човек,кажете тънкостите на занаята,защо чрез форума иска да се свърже с ВАС,ВИЕ сте виновни,че не му обръщате достатъчно внимание.Нищо лично,просто бизнес
                        "църна му земя - невеста, тънка му пушка - зълвица, я чифт пищови - девери"

                        Коментар


                        • Re: Нужда от съвет относно Forex

                          Първоначално изпратено от Lorena
                          Първоначално изпратено от Happy68
                          Има и книга за японските свещи на български (заедно с ичимоку), но не я намирам в нета. но при повече упоритост може да се намери
                          Вероятно имаш предвид тази книжка:
                          http://www.book.store.bg/c/p-p/m-62/...men-todev.html
                          Сигурно е тя - не съм я виждала, нито ела, просто съм чувала.

                          Успех.
                          Безплатен обяд няма!

                          Коментар


                          • Re: Здравеите

                            Първоначално изпратено от йосиф
                            Първоначално изпратено от FOREX44
                            За всички които се интересуват от FOREX пазара,за тези които искат да тьргуват,но нямат необходимите знания или за тези които искат да поверят парите си на човек които разбира от тьрговия на FOREX предлагам да посетят forex.dir.bg
                            искам да ти доверя пари ,но къде да рте намеря...
                            Конкуренцията става все по силна,бизнеса се разраства,липсват единствено пациенти.
                            За българина идеалното място за живот е държава с железни закони спазвани от всички но не и от него

                            Коментар


                            • Първоначално изпратено от phillips
                              във форекса няма обеми... това което показват някои платформи е броят получени тикове... някои брокери отидоха по-далеч и показват някаква част от своите клиентски сделки и го наричат левъл две... големите провайдъри на ликвидност дават също известна доза добра информация в тази насока, но пак непълна... истината е че банките крият тази информация и който ви каже че ви дава реален изтъргуван обем във форекса, просто му пожелайте лек ден и дим да ви няма ...
                              Това може да ви е интересно:
                              http://realvolumes.ucoz.ru/
                              http://codebase.mql4.com/ru/6148
                              http://xrust.land.ru/
                              http://successful-trade.com/viewtopic.php?t=463
                              Мисля преди време koko засегна темата за влияние на опциите.

                              Коментар


                              • Re: Нужда от съвет относно Forex

                                Първоначално изпратено от Happy68
                                Има и книга за японските свещи на български (заедно с ичимоку), но не я намирам в нета. но при повече упоритост може да се намери
                                Вероятно имаш предвид тази книжка:
                                http://www.book.store.bg/c/p-p/m-62/...men-todev.html

                                Коментар

                                Working...
                                X