궁극의 대결 - 페이지 6

 
Ivan Vagin :
공개 조건은 내가 병원에 누워있는 동안 누군가가 알고리즘을 코딩한 다음 코드를 게시했지만 모든 것이 여전히 슬로건 수준

그리고 이 이야기는 계속되지만 아마 아무도 그것을 알아차리지 못할 것입니다 ... 스스로를 위해 조용히 코딩한 사람들을 포함하여 :-)
누군가는 항상 희망이 있고, 갑자기, 음, 이번에는, 아... 음, 다음에는!
[삭제]  
Boris :
누군가는 항상 희망이 있고, 갑자기, 음, 이번에는, 아... 음, 다음에는!
서핑을 배운 사람도 그렇게 생각하고 누군가는 포기하고 누군가는 성공하는 것이 자연의 법칙이다.
 
Ivan Vagin :
서핑을 배우는 사람도 그렇게 생각하고 누군가는 포기하고 누군가는 성공하는 것이 자연의 법칙이다.

서핑에서 당신의 무능력만이 당신을 멈추게 합니다!

그리고 여기에서 방법을 알면 시스템이 스스로를 지배합니다!

[삭제]  
Boris :

서핑에서 당신의 무능력만이 당신을 멈추게 합니다!

그리고 여기에서 방법을 알면 시스템이 스스로를 지배합니다!

당신은 무엇을 할 수 있나요?

나는 시장이 바다보다 더 복잡하다고 생각하지 않는다.
 
Ivan Vagin :
당신은 무엇을 할 수 있나요?

나는 시장이 바다보다 더 복잡하다고 생각하지 않는다.
그렇긴 한데 금융범죄에 가까운 내용이 많다!
 
Dmitry Fedoseev :
결과는 어디에 있습니까?

곧 게시하겠습니다.

질문이 제거되고 메시지가 문질러졌습니다.

---- 룰렛 색상

https://answer.mail.ru/question/9344746

 

스크립트는 다음과 같습니다.

다음은 약속한 스크립트입니다. 결과는 기대에 부합합니다. 스크립트는 포스트 하단에 첨부되어 있습니다.

Ivan, 0이 떨어지고 우리 색상이 아닌 경우 저장소를 어떻게 해야 합니까? 나는 그것을 변경하기 전에 저장소에서 마지막 로트 크기를 뺍니다.

 //+------------------------------------------------------------------+
//|                                                     Roulette.mq4 |
//|                               Copyright 2015, Alexey Volchanskiy |
//|                                          https://mql.gnomio.com/ |
//| Autor of idea is Ivan Vagin at 2015.12.07 04:40                  |
//| see https://www.mql5.com/ru/forum/68328                          | 
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Alexey Volchanskiy"
#property link        "https://mql.gnomio.com/"
#property version    "1.00"
#property strict
#property script_show_inputs

enum EFields {EZero, EBlack, ERed};

extern EFields  StartField  = EBlack;   //Цвет первой ставки    
extern double    MinLot      = 1 ;       //Минимальный лот
extern double    StartDepo   = 1000 ;     //Стартовый депозит
extern uint      Iterations  = 1000 ;     //Количество итераций
extern bool      PrintEnable = true ;     //Печатать итерации

const int ARed[] = { 1 , 3 , 5 , 7 , 9 , 12 , 14 , 16 , 18 , 19 , 21 , 23 , 25 , 27 , 30 , 32 , 34 , 36 };
double MaxLot = 0 , MaxDepo = 0 , MinDepo = 1 e99;
uint NZero = 0 , Nred = 0 , Nblack = 0 ;

/*-----------------------------
Поскольку одна ячейка - это примерно 2,7% колеса рулетки, именно такой процент хозяева казино 
кладут себе в карман в среднем с каждой сделки, медленно выкачивая деньги из клиентов.
----------

Алгоритм ставок в том виде, как написал Ivan Vagin 2015.12.07 04:40 

1 Ставим минимальную ставку на цвет из настроек
2 Запускаем рулетку
(Если) выпал наш цвет то 3 если не наш то 4 если выпал 0 то 5
3 Забираем удвоенную прибыль и ставим минимальную ставку на другой цвет
4 Удваиваем ставку на тот же цвет
5 Удваиваем ставку и меняем цвет ставки

Далее 2 пока не кончится количество итераций
Если кончилось количество итераций то конец
----------
Что хотелось бы видеть на выходе.... ну кроме прироста депозита, соотношение прибыльных и убыточных, самые длинные последовательности красного/черного/нуля в последней серии итераций,
показательна была бы кривая эквити

-----------------------------*/
#define PRINT if (PrintEnable) Print ( "iteration=" , iter, "  result=" ,  result, "  lastField=" , lastField,   "  depo=" , depo, "  lot=" , lot);
#define PRINTEND Print ( "iteration=" , (iter- 1 ), "  depo=" , depo, "  MinDepo=" , MinDepo, "  MaxDepo=" , MaxDepo, "  MaxLot=" , MaxLot, "  NZero=" , NZero, "  Nred=" , Nred, "  Nblack=" , Nblack);

void OnStart ()
{
     Print ( 0 % 36 , "  " , 1 % 36 , "  " , 37 % 36 );
     uint iter = 0 ;
    EFields lastField = StartField;
     double lot = MinLot, depo = StartDepo;
    
     MathSrand ( GetTickCount ()); 
     while (iter++ < Iterations && depo > 0 )
    {
        EFields result = Spin();

         if (result == EZero) //5 Удваиваем ставку и меняем цвет ставки
        {
            depo += lot* 1 ; //??????? что тут делать с прибылью? 
            lot *= 2 ;
            PRINT
             if (MaxLot < lot)
                MaxLot = lot;
             if (MaxDepo < depo)
                MaxDepo = depo;
            NZero++;            
            lastField = (lastField == ERed)? EBlack: ERed;  
             continue ;
        }    
         if (result == lastField) // 3 Забираем удвоенную прибыль и ставим минимальную ставку на другой цвет
        {
            depo += lot* 2 ; 
            lot = MinLot;
             if (MaxDepo < depo)
                MaxDepo = depo;
           
            PRINT
             if (lastField == ERed)
            {
                lastField = EBlack;
                Nred++;    
            }    
             else
            {
                lastField = ERed;
                Nblack++;
            }    
             continue ;
        }    
         else
        {
            depo -= lot; 
             if (MinDepo > depo)
                MinDepo = depo;
            lot *= 2 ;
             if (MaxLot < lot)
                MaxLot = lot;
             uint n = (lastField == ERed)? ++Nred: ++Nblack;    
            PRINT
        }
    }
    PRINTEND   
}

EFields Spin()
{
     int result = MathRand () % 36 ;
     if (result == 0 )
         return EZero;
     for ( int n = 0 ; n < 18 ; n++)    
         if (result == ARed[n]) 
             return ERed; 
     return EBlack;
}
파일:
Roulette.ex4  10 kb
Roulette.mq4  5 kb
 
Alexey Volchanskiy :

스크립트는 다음과 같습니다.

NG에 돈이 필요한 사람은 누구입니까? 다음은 테스트 중 하나의 결과입니다))

2015.12.09 00:55:46.757 룰렛 EURUSD.e,M5: iteration=10000 depo=66927.0 MinDepo=1001.0 MaxDepo=66927.0 MaxLot=16384.0 NZero=260 Nred=4969 Nblack=4771

MinLot = 1; //최소 로트
시작 예금 = 1000; //입금 시작
반복 = 10000; //반복 횟수

------------------

색상과 짝수/홀수가 일치하지 않기 때문에 빨간색 숫자를 배열에 넣어야 했습니다. 데이터는 https://otvet.mail.ru/question/9344746에서 가져왔습니다.

 const int ARed[] = { 1 , 3 , 5 , 7 , 9 , 12 , 14 , 16 , 18 , 19 , 21 , 23 , 25 , 27 , 30 , 32 , 34 , 36 };
[삭제]  
Alexey Volchanskiy :

스크립트는 다음과 같습니다.

Ivan, 0이 떨어지고 우리 색상이 아닌 경우 저장소를 어떻게 해야 합니까? 나는 그것을 변경하기 전에 저장소에서 마지막 로트 크기를 뺍니다.

물론 "카지노를 버려라" 지금은 컴퓨터만 보고 이해하면 말로만

일반적으로 - 0 또는 우리 색상이 아닌 경우 내기가 "소진"됩니다.

검은색과 빨간색의 공통 카운터가 있습니까

검은색과 빨간색의 가장 긴 시퀀스를 셀 수 있습니다.
[삭제]  
고생하시는 분들을 위해 마틴은 대부분의 트레이더들이 사용하는 형태로 필연적으로 드레인으로 이어지는 형태로 다시 한 번 강조드립니다. 크게 3가지 이유가 있습니다.

너무 큰 시작 부지

지나치게 높은 마틴 비율

소액 보증금


이 모든 것이 아마도 다른 측면에서 하나의 hypostasis이지만 - 잘못된 자금 관리