[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 390

 
chief2000 >>:

Я экспортировал CSV-файл (1 мин с 1999 года) из МТ одного брокера. Попытался импортировать в МТ другого брокера - 1 минутки получил

без проблем, с 1999. Но вот что-то не пойму как во 2-м МТ получить 5, 15-мин и т.д. графики? - Т.е. после импортирования 1 минуток переключился на

5 минутный график и похоже МТ пытается докачать их из интернета, вместо конвертирования их из уже имеющихся 1-минуток.

Перегружал МТ - не помогло.

- Есть какое-нибудь нормальное решение для конвертирования 1 МИН в более высокие таймфреймы?

まあ当然ダウンロードはあるだろうから、議事録から変換する必要はないだろう。

元のCSVを取り出し、自作のプログラムを実行して、出力ファイルに含まれる標準的なタイムフレームをすべて取得し、インポートすることができます。

 

みなさん、こんにちは。

簡単なアルゴリズムを実装できるわけがない。

買い/売りの後、注文は2バー後に終了します。

タイマーより良いものは思いつきませんが、タイマーはタイムフレームにリンクしており、n本のバーの後に必要です。

 

こんにちは、またまた自分では答えられない質問です。

Expert Advisor を書いていて、ある条件が現れたときに注文を出す練習をしています。課題はシンプルで、1つのポジションだけを取引することです。МА10以上なら買う、以下なら売る。エキスパートアドバイザーが自ら発注した注文を正確にクローズするように、注文のマジックを使う可能性をテストしたいのです。また、買い条件と売り条件の2つのバリエーションがあります(まだ追加していません)。そして、注文がどのような条件に属するかを自ら判断する必要があります。マジックナンバーは、ポジションを開くトリガーとなる関数に設定されています。同じように、条件によって、最初にポジションの有無を判断し、買いか売りのどちらかの条件を探す必要があります。


以下はそのコードです。


// Мувинг и цена
double MA10;
double Price;
// Есть или нет позиция и ее номер
int Pos;
int Magic;
double Lot=0.1;
double SL;
double TP;
int Slippage=3;

//--------------------------------------------------------------------

void start()
{
MA10 = iMA(NULL,0,10,0,0,0,0);
Price = Bid;

CheckPos();
}

//--------------------------------------------------------------------

void CheckPos()
{
if(Pos==0)
CheckBuy();
CheckSell();
}

//--------------------------------------------------------------------
// Поиск условий для покупки и продажи
//--------------------------------------------------------------------

void CheckBuy()
{
if (NormalizeDouble(Price,Digits) > NormalizeDouble(MA10,Digits))
Magic=10;
Buy();
return;
}

//--------------------------------------------------------------------

void CheckSell()
{
if (NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits))
Sell();
return;
}

//--------------------------------------------------------------------
// Выставление ордеров
//--------------------------------------------------------------------

void Buy()
{
string Symb=Symbol();
Pos=1;

OrderSend(Symb, OP_BUY, Lot, Ask, Slippage, SL, TP, NULL, Magic);
return;
}
//--------------------------------------------------------------------

void Sell()
{
Pos=0;
OrderClose(Magic, Lot, Bid, Slippage);
return;
}


そしてこのコードは、たった一つのポジションを取引すべきにもかかわらず(そう、売り条件を探すべき、いや、買い条件を探すべき)、大量のポジションを 開き、そしてそれを閉じないのです。もう頭が壊れそうです。何が問題なのか、教えてください。

 
sigma7i >>:

Всем привет!

Простой алгоритм никак не могу реализовать:

После покупки/продажи закрытие ордера через 2 бара.

Кроме таймера ничего лучше придумать не могу, но у таймера есть привязка к тайм фрейму, а мне необходимо через n баров.


オープンオーダーを調べ、いつオープンされたかを確認し、現在の時間と比較し、2バーが経過し、クローズします。
 
splxgf >>:

Ну естественно будет происходить докачка, с чего вдруг она должна происходить конвертация из минуток.

Можно взять исходный CSV и прогнать самописной прогой для получения на выходе в файлах всех стандартных таймфремов и импортировать их.

MT5と混同していたようです。MT4では昔ながらの1分足から上位タイムフレームが生成されるようです。

 
Vinin >>:

Скрипт в CodeBase лежит, так и называется период конвертор

ありがとうございました。

 

ピリオドコンバータはグラフには良いが、テスターに食わせられない。

おっと、仕組みを見てみると、確かに再コード化された 履歴ファイルを書き込んでいますね。https://www.mql5.com/ru/code/8560

 

И вот он, зараза, несмотря на то, что должен торговать только одной позицией (есть - ищем условия на продажу, нет - ищем условия на покупку), открывает большое количество позиций, и потом их не закрывает. Я уже голову поломал. Подскажите, что не так?

CheckBuyにif opener order greater than zero, then outを追加。

 
splxgf >>:

в CheckBuy добавь иф опен ордерс больше нуля, то выходим.

ええ、今すぐ追加します。ありがとうございます(苦笑)。

それにしても、そもそもなぜ彼はポジションをたくさん買っているのだろう。結局、冒頭ですぐに「ポジションがあるなら、ここに行かず、あそこに行け」と言われるのですか?私の考えとしては、彼はこのコード片にすら手を出すべきではない。それとも、私が理解していないのでしょうか?

 
Jahspear >>:

Ага, щас добавлю. Спасибо.

Но всё-таки - почему он вообще покупает мого позиций? Ведь вначале ему сразу говорится, что если позиция есть - ты сюда не ходи, ты туда ходи? Он, по задумке, в этот кусок кода даже попадать не должен. Или я что не понимаю?


今更ながらコードをよく見てみたものの、半端なリッターでは理解しがたいので、私のメールを送って、そこで何をしたのか説明してみることにします。