X = OrderProfit( ); // запомнить величину тейкпрофитаif (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // если ПОСЛЕДНИЙ ордер if ( OrderType ()==OP_SELL) // СЕЛif(X < 0) // и если этот сел закрылся по стопу
//+-------------------------------------------------------+//| на H1 суточную линию между хая и лоу PROBA.mq4|//+-------------------------------------------------------+#property strictvoidOnStart()
{
// Удалим все объектыObjectsDeleteAll();
string Символ = "GBPUSD";
datetime Первый, Последний;
int Период=PERIOD_H1;
// Прежде всего узнаем дату и время последнего бара
Последний = iTime(Символ, Период, 0);
Alert("Последний бар на часовом ",Последний);
// Теперь получить начало суток, обнулив часы// Для этого преобразуем время последнего бара в структуруMqlDateTime MqlПервый;
TimeToStruct(Последний,MqlПервый);
MqlПервый.hour=0;
// Терерь надо обратно преобразовать во время
Первый=StructToTime(MqlПервый);
Alert("Первый бар на часовом ",Первый); // Смотрим начало первого бара суток// По времени определим номер первого бара сутокint НомерПервого=iBarShift(Символ, PERIOD_H1,Первый);
Alert("Первый бар на часовом под номером ",НомерПервого);
// Можно было просто узнать время начала бара на D1
// Теперь у нас есть НомерПервого бара, а номер послелнего = 0// Найдем на этом интервале номера баров, где макс и мин// iHighest и iLowest находят номер бара с макс и мин ценойint БарМакс = iHighest(Символ, // symbol = инструмента
Период, // timeframe = ПериодMODE_HIGH, // Наибольшая цена бара
НомерПервого+1, // Количество баров0); // Начальный барint БарМин = iLowest(Символ,
Период,
MODE_LOW, // Наименьшая цена бара
НомерПервого+1,
0);
Alert("Максимальный бар = ", БарМакс, " Минимальный бар = ", БарМин);
// iHigh и iLow дают макс и мин цены указанного бараdouble max_price=iHigh(Символ, Период, БарМакс);
double min_price=iLow (Символ, Период, БарМин);
Alert("Максимум цены = ", max_price, " Минимум цены = ", min_price);
// Проводим линиюObjectCreate("Макс_Мин",OBJ_TRENDBYANGLE,0, Time[БарМакс], max_price, Time[БарМин], min_price);
ObjectSet("Макс_Мин",OBJPROP_RAY,false); // Выключить свойство бесконечного луча// Теперь хорошо бы узнать уголAlert("Угол = ", ObjectGetDouble(0,"Макс_Мин",OBJPROP_ANGLE));
}
#property indicator_chart_windowexternint boom = 1;
//=================================void fishka(int ma,int mi,double map,double mip) // ф-ция
{
ObjectCreate("Макс_Мин",OBJ_TRENDBYANGLE,0, Time[ma], map, Time[mi], mip);// Проводим линиюObjectSet("Макс_Мин",OBJPROP_RAY,false); // Выключить свойство бесконечного луча
}
int deinit()
{
ObjectsDeleteAll();// Удалим все объектыreturn(0);
}
void start()
{
string Символ = "GBPUSD";
datetime Первый, Последний;
int Период=PERIOD_H1;
Последний = iTime(Символ, Период, 0);// Прежде всего узнаем дату и время последнего бараif(boom){
Alert("Последний бар на часовом ",Последний);}
MqlDateTime MqlПервый; // Теперь получить начало суток, обнулив часыTimeToStruct(Последний,MqlПервый); // Для этого преобразуем время последнего бара в структуру
MqlПервый.hour=0;
Первый=StructToTime(MqlПервый); // Терерь надо обратно преобразовать во времяif(boom){
Alert("Первый бар на часовом ",Первый);} // Смотрим начало первого бара сутокint НомерПервого=iBarShift(Символ, PERIOD_H1,Первый);// По времени определим номер первого бара сутокif(boom){
Alert("Первый бар на часовом под номером ",НомерПервого);}
// Можно было просто узнать время начала бара на D1// Теперь у нас есть НомерПервого бара, а номер послелнего = 0// Найдем на этом интервале номера баров, где макс и мин// iHighest и iLowest находят номер бара с макс и мин ценойint БарМакс = iHighest(Символ, // symbol = инструмента
Период, // timeframe = ПериодMODE_HIGH, // Наибольшая цена бара
НомерПервого+1, // Количество баров0); // Начальный барint БарМин = iLowest(Символ,Период,MODE_LOW,НомерПервого+1,0); // Наименьшая цена бараif(boom){
Alert("Максимальный бар = ", БарМакс, " Минимальный бар = ", БарМин);}
double max_price=iHigh(Символ, Период, БарМакс); // iHigh и iLow дают макс и мин цены указанного бараdouble min_price=iLow (Символ, Период, БарМин);
fishka(БарМакс,БарМин,max_price,min_price); // ф-цияif(boom){
Alert("Максимум цены = ", max_price, " Минимум цены = ", min_price);
Alert("Угол = ", ObjectGetDouble(0,"Макс_Мин",OBJPROP_ANGLE));} // Теперь хорошо бы узнать угол
}
アーテム、控えめな荒らしなのか、何を書いているのかわからないのか、どっちだ!!!!
前回の記事で、仕分けについてお話されていましたね。仕分けに依存しないことを説明。
時間による順番の選択については、ある議論を見てPARTICIPATEDしたことがあります。結論は、注文がサーバーに送信された時間に従って、注文データベースに登録されるようになったということだった。しかし、THEORETALLYには、開発者がこれを変更する恐れがあるのです。それでその話はおしまい。データベースの専門家として断言しますが、この不安は杞憂であり、変更 することは問題外です。この問題は、開発者に照会することができます。何かを書けば、何を書いているのかがわかる。番組制作50周年の節目です。もし、 私の投稿の中に、あなたの視点からの混乱があることに気づいたら、直接私に手紙を書いて ください。私が説明すれば、あなたの疑問は解消されるでしょう。しかし、ここでは口論は適切ではなさそうだ。その人に台本を書いたら、ありがとうと言われたんです。いいんじゃないですか?
それは、突然仕分けに依存するようになった人たちが、同じ ように考えたことだ。人々の論理が崩壊したのだ。その後、再び仕分けへの依存がなくなりました。でも、もうすでにそうなっているんです。もしあなたが、自分のプログラムではなく、仮想的な不変のソートに依存したいのであれば、あなたにはその権利がありますが、初心者のヘルプスレッドでは、スクリプトを与えて、それがいつか失敗するかもしれないという事実に言及しないこと、そんな権利はないでしょう。6〜7年ほど前のmql4.comで、そのような議論が行われていたのを探してみてください。
それが私が申し上げた ことなのですが、その方はロスではなくストップロスのことをおっしゃっていたのです。
礼儀正しいが、正しいか間違っているかはわからない、と。)
それが私が申し上げた ことなのですが、その方は損切りではなく、ストップロスの ことをおっしゃっていたのです。
彼はありがとうと言いました - それは礼儀正しいですが、彼はそれが正しいか間違っているかどうかは知りません;)
その人が書いていることをよく見てください。
ということは、注文に負けたことを指しているのだろう。そうやって彼はストップロスを理解しているのです。彼はストップロスという 言葉を持っていない。
あと、ストップはStopLossとTakeProfitの総称であることも書きたかったです。これを見るには、MetaEditorで130と入力し、F1キーを押してください。
停止する。複数形です。
私はここで仕事をしているのです、あなたのせいで気が散ってしまいます。
datetime -->TimeToStruct-->MqlDateTime どうやったらdatetimeに戻せるんだ?
この人が書いたものをよく見てください
ということは、注文に負けたことを指しているのだろう。これが、彼がストップを理解する方法です。彼はストップロスという 言葉を持っていない。
また、ストップはStopLossとTakeProfitを一般化したものであることも伝えたかった。これを見るには、MetaEditorで130と入力し、F1キーを押してください。
停止する。複数形です。
私はここで仕事をしているのです、あなたのせいで気が散ってしまいます。
datetime --> TimeToStruct -->MqlDateTime どうやったらdatetimeに戻せるのでしょうか?
StructToTime()
// 0.0を返す 角度を設定して、それを取得する必要がある...
// そこで、価格差と最大値と最小値の間のバーの 数を知って、角度を計算する必要があります。
// もっと短くてもいいと思うんだけど...。
// 0.0を返す 角度を設定してから取得すること...
// つまり、価格差とMaxとMinの間のバーの 数がわかっていれば、角度を計算する必要があります。
// もっと短くてもいいと思うんだけど...。
ありがとうございました )
例えば、4つのブーリアン変数を持っていて、それらを調べる必要がある場合、どのように変数を追加するのかがわかりません。
要は、割り算の後の余りが0以下になればいいのですが、その方法がわからないのです :(
ブーリアン演算の場合は、若干アプローチが異なります。
二値符号化。
この場合の最大Nは16未満となる。
あなたが何を得たいのか理解できない
ブーリアン演算の場合は、若干アプローチが異なります。
二値化
この場合の最大Nは16以下です
何を得ようとしているのか理解できない。
あなたは天才だ!ありがとうございました。
選択肢は16個になった。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=15; A=true; B=true; C=true; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=13; A=true; B=false; C=true; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=9; A=true; B=false; C=false; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=1; A=true; B=false; C=false; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=5; A=true; B=false; C=true; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=3; A=true; B=true; C=false; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=11; A=true; B=true; C=false; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=7; A=true; B=true; C=true; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=14; A=false; B=true; C=true; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=6; A=false; B=true; C=true; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=10; A=false; B=true; C=false; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=2; A=false; B=true; C=false; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=12; A=false; B=false; C=true; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=4; A=false; B=false; C=true; D=false。
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=8; A=false; B=false; C=false; D=true
2017.05.14 20:47:54.697 ブルート AUDUSD,H1: N=0; A=false; B=false; C=false; D=false。
ありがとうございました )
// 0.0を返す 角度を設定してから取得すること...
// つまり、価格差とMaxとMinの間のバーの 数がわかっていれば、角度を計算する必要があります。
// もっと短くてもいいと思うんだけど...。
インジケータとしてチャートを見る必要があると思うので、1日以上動くようにするにはどうしたらいいか。
午前4時の場合 - 今日のためにまだ多くのバーがありません。H4では1日に6本しかありません。検索するバーの数 または交差するバーの数を設定する必要があります。
長距離=トレンド