[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 144

 
昔、このサイトのどこかで、ロボットをアップロードして、ユーザー名、パスワード、サーバーを指定すると、私のcopmがオフの時に取引してくれるサイトへのリンクを見つけました...。このサイトを覚えている人はいますか?
 
jobber:
昔、このサイトのどこかに、ロボットをアップロードできるサイトへのリンクがあり、ユーザー名、パスワード、サーバーを入力すると、私のcopmがオフの時に取引してくれます。このサイトを覚えている方はいらっしゃいますか?

検索エンジンでVPSと入力すると、文字通りの意味は分かりませんが、トレーダー用の仮想デスクトップのことかもしれません。
 
splxgf:

LazarevDenis

初期カウントは59小節ですが、これは誤りです。分単位でギャップがあり、最後の時間バーがより少ない分単位になる場合があります。

時間足のバーの開閉時間(Time[i])を取る必要があります。この時間を使ってiBarShift分のオフセットを計算し、このオフセットの範囲内で最大値を計算します。

ところで、インジケーターは1分足で何を表示すればいいのでしょうか?

しかし、Expert Advisorは1分足の最後の値を取得するだけで、その数値が正であれば価格は上昇し、負であれば下降するため、その数値のモジュロを返すことで動きの強さを表します。


バーの数については、ゼロから60カウントで、これは新しい時間のゼロ分であるため、60分ではありません。

最後の1時間のバーについては疑問がありますが、minバーが全くないので、そのボリュームはゼロに等しく、計算結果に影響を与えないことを望みます。

計算の妥当性を確認するために分単位のバーを作ったので、誤差があることを確認し、時間の始まりと終わり、水平方向のインジケータに最大値をマークし、分単位のバーに切り替えて確認、6時間バーは問題なかったが、何かが間違っていたようだ

 
LazarevDenis:


バーの数については、60はゼロからカウントし、新しい時間のゼロ分であるため、60分は存在しない。

最後の1時間足のバーには疑問がありますが、1分足のバーが全くないので、そのボリュームはゼロであり、計算結果に影響を与えないことを望みます。

1時間足で時間の始まりと終わりを表示し、水平方向のインジケータで最大値を表示した後、1分足に切り替えて確認したところ、6時間足では問題なかったのに、何かが狂ってしまったようです。


コードを書くか、提供するか?
 
Vinin:

コードを書くか、提供するか?
何を書けばいいのか、ちょっと迷いますね?
インジケータのコードは前のページにあります。インジケータが正しく動作することを確認したら、EAを追加します。
 
//+------------------------------------------------------------------+
//| FT_Fractal_MA.mq4
//| FORTRADER.RU、ユーリ、ftyuriy@gmail.com|。
//| http://FORTRADER.RU, フラクタル + 平均値 |.
//+------------------------------------------------------------------+
#property copyright"FORTRADER.RU, Yury, ftyuriy@gmail.com"。
#property link "http://FORTRADER.RU、フラクタル+アベレージ"

/* FORTRADER.Ruの第49号のために開発されました。フラクタルと平均値に関するシステム。
レポート: http://finfile.ru/index.php/files/get/6qQW8tgENy/fracralma1.zip, http://finfile.ru/index.php/files/get/_glRYiHkQi/fracralma2.zip
セットファイル: http://finfile.ru/index.php/files/get/k2w2e92iCI/eurusd1h.zip
ディスカッション: http://fxnow.ru/group_discussion_view.php?group_id=49&grouptopic_id=266&grouppost_id=2667#post_2667
ログアーカイブ: http://www.fortrader.ru/arhiv.php
第49号 http://www.fortrader.ru/
*/

extern int lwmaper1=4;
extern int lwmaper2=8;

extern int int lwmapertrend=40;
extern int lwmatrendchart=1;

extern int SL=150;
extern int TP=150;

extern int mn=1;

int err;

extern int MG=564651;
extern double Lots=0.01;

extern int maxpos=1;

intバー
int start()
{
if(bars!=Bars)とする。
{
bars=棒グラフ。
OpenPattern()を使用します。
}
return(0)です。
}

int okbuy; }.

int OpenPattern()
{
ダブルオペ、スル、ティップ。
double upf=iFractals(NULL, 0, MODE_UPPER, 3);
double dwf=iFractals(NULL, 0, MODE_LOWER, 3);
double lwma1=iMA(NULL,0,lwmaper1,0,MODE_LWMA,PRICE_CLOSE,1);
double lwma2=iMA(NULL,0,lwmaper2,0,MODE_LWMA,PRICE_CLOSE,1);
double lwma1Last=iMA(NULL,0,lwmaper1,0,MODE_LWMA,PRICE_CLOSE,2);
double lwma2Last=iMA(NULL,0,lwmaper2,0,MODE_LWMA,PRICE_CLOSE,2);
double lwmatrend=iMA(NULL,GetPeriod(lwmatrendchart),lwmapertrend,0,MODE_LWMA,PRICE_CLOSE,1);
double lwmatrendLast=iMA(NULL,0,GetPeriod(lwmatrendchart),0,MODE_LWMA,PRICE_CLOSE,2);
if(upf!=0){oksell=1;okbuy=0;}.
if(dwf!=0){okbuy=1;oksell=0;}.
if(oksell==1 && lwma1<lwma2 && lwma1Last>lwma2Last && CountPos(0)<maxpos && lwmatrend>lwmatrendLast)
{
op=Bid;if(SL>0){sl=Bid+SL*Point*mn;}if(TP>0){tp=Bid-TP*Point*mn;}。
err=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits), "4 FORTRADER.RU",MG,0,Red) とします。
if(err<0){Print("OrderSend()- Error OP_SELL. op "+op+" sl "+sl+" tp "+tp+""+GetLastError());return(-1);}.
oksell=0。
}
if(okbuy==1 && lwma1>lwma2 && lwma1Last<lwma2Last && CountPos(1)<maxpos && lwmatrend<lwmatrendLast)
{
op=Ask;if(SL>0){sl=Ask-SL*Point*mn;}if(TP>0){tp=Ask+TP*Point*mn;}。
err=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits), "6 FORTRADER.RU",MG,0,Red) とした。
if(err<0){Print("OrderSend()- Error OP_BUY. op "+op+" sl "+sl+" tp "+tp+""+GetLastError());return(-1);}.
okbuy=0です。
}
return(err)です。
}
/Cポジションの数を確認します。
int CountPos(int type)
{/// 説明 http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66

int i;
int col;
int count=0 ;
for( i=0; i<=OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && type==1 && OrderMagicNumber()==MG){count++;}; }.
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && type==0 && OrderMagicNumber()==MG){count++;}; }.
}
}
return(count)です。
}

int GetPeriod(int GrafOpen)
{int GrafOpenT;
スイッチ(GrafOpen)
{
case 1: GrafOpenT=1;break;
case 2: GrafOpenT=5;break;
case 3: GrafOpenT=15;break;
case 4: GrafOpenT=30;break;
case 5: GrafOpenT=60;break;
case 6: GrafOpenT=240;break;
case 7: GrafOpenT=1440;break;
default: GrafOpenT=1;break;
}
return(GrafOpenT);

}

このサイトからこのEAでスワップ売買してください、困っています。確認すると、フラットすぎるような気もするので、面白いですね。

 
LazarevDenis:


バーの数については、ゼロから60カウントで、これは新しい時間のゼロ分であるため、60分ではありません。

今からくだらない質問をしますが、日棒は1年に何本あるのでしょうか?
 

おやすみなさい...朝...いや、午後も...。

私はmql言語を学ぼうとしています...私は誤解に直面しています...。問題の本質は、コードにある。

      OrderSelect(ТикетСелл,SELECT_BY_TICKET);
      double СеллТейкПрофит=ЦенаПродажи-(ЦенаПокупки-ЦенаПродажи);
      PrintDoubleToStr("OrderOpenPrice()= ",OrderOpenPrice(),8);PrintDoubleToStr("ЦенаПродажи= ",ЦенаПродажи,8);
      PrintDoubleToStr("OrderStopLoss()= ",OrderStopLoss(),8);PrintDoubleToStr("ЦенаПокупки= ",ЦенаПокупки,8);
      PrintDoubleToStr("OrderTakeProfit()= ",OrderTakeProfit(),8);PrintDoubleToStr("СеллТейкПрофит= ",СеллТейкПрофит,8);
      Print(OrderType(),"=",OP_SELLSTOP);
      if((OrderType()==OP_SELLSTOP) && ((OrderOpenPrice()!=ЦенаПродажи)||(OrderStopLoss()!=ЦенаПокупки)||(OrderTakeProfit()!=СеллТейкПрофит)))
      {
         OrderModify(OrderTicket(),ЦенаПродажи,ЦенаПокупки,СеллТейкПрофит,0,Red);
      }

PrintDoubleToStr"関数は、ログに二重数値を出力する...

一般的に、私の日記では(下から上に読んでください)。

2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderModify error 1
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: 5=5
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: СеллТейкПрофит= 1.41884000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderTakeProfit()= 1.41884000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: ЦенаПокупки= 1.44244000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderStopLoss()= 1.44244000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: ЦенаПродажи= 1.43064000
2011.09.04 22:56:36	2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderOpenPrice()= 1.43064000

疑問があります。すべての値が等しいため、この条件を満たさない場合、なぜ順序を修正するのでしょうか。

if((OrderType()==OP_SELLSTOP) && ((OrderOpenPrice()!=ЦенаПродажи)||(OrderStopLoss()!=ЦенаПокупки)||(OrderTakeProfit()!=СеллТейкПрофит)))
どこで間違ったのか、教えてください・・・。
 
niknikolas:

どこで間違ったのか、教えてください・・・。

魚は釣れないけど、釣竿はあげるよ...という行を追加すれば、Print(OrderOpenPrice()!=Sale Price)で絵が完成し、独自の結論を出すのに十分です。
 
splxgf:
魚は釣れないけど、釣竿はあげるよ...もっと行を増やせばいい Print(OrderOpenPrice()!=SellTakeProfit) で絵は完成し、独立した結論を出すのに十分なものになります。

よく言われるように、"What's in it for me?" ワームが欲しい...。とにかく、これがそのコードです。

OrderSelect(ТикетСелл,SELECT_BY_TICKET);
double СеллТейкПрофит=ЦенаПродажи-(ЦенаПокупки-ЦенаПродажи);
Print("OrderOpenPrice()!=ЦенаПродажи= ",OrderOpenPrice()!=ЦенаПродажи);
Print("OrderStopLoss()!=ЦенаПокупки= ",OrderStopLoss()!=ЦенаПокупки);
Print("OrderTakeProfit()!=СеллТейкПрофит= ",OrderTakeProfit()!=СеллТейкПрофит);
PrintDoubleToStr("OrderTakeProfit()= ",OrderTakeProfit(),8);
PrintDoubleToStr("СеллТейкПрофит   = ",СеллТейкПрофит,8);
if((OrderType()==OP_SELLSTOP) && ((OrderOpenPrice()!=ЦенаПродажи)||(OrderStopLoss()!=ЦенаПокупки)||(OrderTakeProfit()!=СеллТейкПрофит)))
{
 OrderModify(OrderTicket(),ЦенаПродажи,ЦенаПокупки,СеллТейкПрофит,0,Red);
}
雑誌に掲載されました。
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderModify error 1
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: СеллТейкПрофит   = 1.42505000
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderTakeProfit()= 1.42505000
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderTakeProfit()!=СеллТейкПрофит= 1
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderStopLoss()!=ЦенаПокупки= 0
2011.09.05 00:21:32     2011.08.01 00:00  Прямоугольник EURUSD,H1: OrderOpenPrice()!=ЦенаПродажи= 0

SellTakeProfit =1.42505000" と "OrderTakeProfit()=1.42505000" でも "OrderTakeProfit()!=SellTakeProfit=1 " なのはなぜか。

一概には言えないが...。